# System.Reflection.Emit

``` diff
 namespace System.Reflection.Emit {
     public sealed class AssemblyBuilder : Assembly {
+        public override string CodeBase { get; }
+        public override MethodInfo EntryPoint { get; }
+        public override bool GlobalAssemblyCache { get; }
+        public override long HostContext { get; }
+        public override string ImageRuntimeVersion { get; }
+        public override string Location { get; }
+        public override bool ReflectionOnly { get; }
+        public override object[] GetCustomAttributes(bool inherit);
+        public override object[] GetCustomAttributes(Type attributeType, bool inherit);
+        public override IList<CustomAttributeData> GetCustomAttributesData();
+        public override Type[] GetExportedTypes();
+        public override FileStream GetFile(string name);
+        public override FileStream[] GetFiles(bool getResourceModules);
+        public override Module[] GetLoadedModules(bool getResourceModules);
+        public override Stream GetManifestResourceStream(Type type, string name);
+        public override Module GetModule(string name);
+        public override Module[] GetModules(bool getResourceModules);
+        public override AssemblyName GetName(bool copiedName);
+        public override AssemblyName[] GetReferencedAssemblies();
+        public override Assembly GetSatelliteAssembly(CultureInfo culture);
+        public override Assembly GetSatelliteAssembly(CultureInfo culture, Version version);
+        public override Type GetType(string name, bool throwOnError, bool ignoreCase);
+        public override bool IsDefined(Type attributeType, bool inherit);
     }
+    public sealed class DynamicILInfo {
+        public DynamicMethod DynamicMethod { get; }
+        public int GetTokenFor(byte[] signature);
+        public int GetTokenFor(DynamicMethod method);
+        public int GetTokenFor(RuntimeFieldHandle field);
+        public int GetTokenFor(RuntimeFieldHandle field, RuntimeTypeHandle contextType);
+        public int GetTokenFor(RuntimeMethodHandle method);
+        public int GetTokenFor(RuntimeMethodHandle method, RuntimeTypeHandle contextType);
+        public int GetTokenFor(RuntimeTypeHandle type);
+        public int GetTokenFor(string literal);
+        public unsafe void SetCode(byte* code, int codeSize, int maxStackSize);
+        public void SetCode(byte[] code, int maxStackSize);
+        public unsafe void SetExceptions(byte* exceptions, int exceptionsSize);
+        public void SetExceptions(byte[] exceptions);
+        public unsafe void SetLocalSignature(byte* localSignature, int signatureSize);
+        public void SetLocalSignature(byte[] localSignature);
+    }
     public sealed class DynamicMethod : MethodInfo {
+        public override bool IsSecurityCritical { get; }
+        public override bool IsSecuritySafeCritical { get; }
+        public override bool IsSecurityTransparent { get; }
+        public override Module Module { get; }
+        public ParameterBuilder DefineParameter(int position, ParameterAttributes attributes, string parameterName);
+        public DynamicILInfo GetDynamicILInfo();
     }
     public sealed class FieldBuilder : FieldInfo {
+        public override Module Module { get; }
     }
-    public struct Label
+    public readonly struct Label : IEquatable<Label>
     public sealed class MethodBuilder : MethodInfo {
+        public override bool IsSecurityCritical { get; }
+        public override bool IsSecuritySafeCritical { get; }
+        public override bool IsSecurityTransparent { get; }
     }
     public class ModuleBuilder : Module {
+        public override int MDStreamVersion { get; }
+        public override int MetadataToken { get; }
+        public override Guid ModuleVersionId { get; }
+        public override string ScopeName { get; }
+        public MethodBuilder DefinePInvokeMethod(string name, string dllName, MethodAttributes attributes, CallingConventions callingConvention, Type returnType, Type[] parameterTypes, CallingConvention nativeCallConv, CharSet nativeCharSet);
+        public MethodBuilder DefinePInvokeMethod(string name, string dllName, string entryName, MethodAttributes attributes, CallingConventions callingConvention, Type returnType, Type[] parameterTypes, CallingConvention nativeCallConv, CharSet nativeCharSet);
+        public override object[] GetCustomAttributes(bool inherit);
+        public override object[] GetCustomAttributes(Type attributeType, bool inherit);
+        public override IList<CustomAttributeData> GetCustomAttributesData();
+        public override FieldInfo GetField(string name, BindingFlags bindingAttr);
+        public override FieldInfo[] GetFields(BindingFlags bindingFlags);
+        public override MethodInfo[] GetMethods(BindingFlags bindingFlags);
+        public override void GetPEKind(out PortableExecutableKinds peKind, out ImageFileMachine machine);
+        public override Type GetType(string className);
+        public override Type GetType(string className, bool ignoreCase);
+        public override Type GetType(string className, bool throwOnError, bool ignoreCase);
+        public override Type[] GetTypes();
+        public override bool IsDefined(Type attributeType, bool inherit);
+        public override bool IsResource();
+        public override FieldInfo ResolveField(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
+        public override MemberInfo ResolveMember(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
+        public override MethodBase ResolveMethod(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
+        public override byte[] ResolveSignature(int metadataToken);
+        public override string ResolveString(int metadataToken);
+        public override Type ResolveType(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
     }
-    public struct OpCode
+    public readonly struct OpCode : IEquatable<OpCode>
     public sealed class TypeBuilder : Type {
+        public MethodBuilder DefinePInvokeMethod(string name, string dllName, MethodAttributes attributes, CallingConventions callingConvention, Type returnType, Type[] parameterTypes, CallingConvention nativeCallConv, CharSet nativeCharSet);
+        public MethodBuilder DefinePInvokeMethod(string name, string dllName, string entryName, MethodAttributes attributes, CallingConventions callingConvention, Type returnType, Type[] parameterTypes, CallingConvention nativeCallConv, CharSet nativeCharSet);
+        public MethodBuilder DefinePInvokeMethod(string name, string dllName, string entryName, MethodAttributes attributes, CallingConventions callingConvention, Type returnType, Type[] returnTypeRequiredCustomModifiers, Type[] returnTypeOptionalCustomModifiers, Type[] parameterTypes, Type[][] parameterTypeRequiredCustomModifiers, Type[][] parameterTypeOptionalCustomModifiers, CallingConvention nativeCallConv, CharSet nativeCharSet);
     }
 }
```

