Targets .NET Core 3.0 (#39)

This commit is contained in:
Kamron Batman 2019-08-02 17:53:18 -07:00 • committed by GitHub
parent 0993c03b70
commit 08bf44af9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
125 changed files with 1473 additions and 14244 deletions

View file

@ -13,45 +13,24 @@ namespace Server
private AssemblyBuilder m_AssemblyBuilder;
private ModuleBuilder m_ModuleBuilder;
public AssemblyEmitter( string assemblyName, bool canSave )
public AssemblyEmitter( string assemblyName )
{
m_AssemblyName = assemblyName;
m_AppDomain = AppDomain.CurrentDomain;
m_AssemblyBuilder = m_AppDomain.DefineDynamicAssembly(
m_AssemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(
new AssemblyName( assemblyName ),
canSave ? AssemblyBuilderAccess.RunAndSave : AssemblyBuilderAccess.Run
AssemblyBuilderAccess.Run
);
if ( canSave )
{
m_ModuleBuilder = m_AssemblyBuilder.DefineDynamicModule(
assemblyName,
$"{assemblyName.ToLower()}.dll",
false
);
}
else
{
m_ModuleBuilder = m_AssemblyBuilder.DefineDynamicModule(
assemblyName,
false
);
}
m_ModuleBuilder = m_AssemblyBuilder.DefineDynamicModule(assemblyName);
}
public TypeBuilder DefineType( string typeName, TypeAttributes attrs, Type parentType )
{
return m_ModuleBuilder.DefineType( typeName, attrs, parentType );
}
public void Save()
{
m_AssemblyBuilder.Save(
$"{m_AssemblyName.ToLower()}.dll"
);
}
}
public class MethodEmitter