|
|
|
@ -265,6 +265,7 @@ namespace Avalonia.Build.Tasks |
|
|
|
}; |
|
|
|
loaderDispatcherDef.Methods.Add(loaderDispatcherMethod); |
|
|
|
loaderDispatcherDef.Methods.Add(loaderDispatcherMethodOld); |
|
|
|
typeSystem.AddCompilerGeneratedAttribute(loaderDispatcherDef); |
|
|
|
|
|
|
|
|
|
|
|
var stringEquals = asm.MainModule.ImportReference(asm.MainModule.TypeSystem.String.Resolve().Methods.First( |
|
|
|
@ -371,7 +372,7 @@ namespace Avalonia.Build.Tasks |
|
|
|
|
|
|
|
var populateBuilder = classTypeDefinition == null ? |
|
|
|
builder : |
|
|
|
typeSystem.CreateTypeBuilder(classTypeDefinition); |
|
|
|
typeSystem.CreateTypeBuilder(classTypeDefinition, compilerGeneratedType: false); // don't add CompilerGeneratedAttribute to the user's type
|
|
|
|
|
|
|
|
((List<XamlDocumentResource>)parsedXamlDocuments).Add(new XamlDocumentResource( |
|
|
|
parsed, res.Uri, res, classType, |
|
|
|
@ -474,6 +475,7 @@ namespace Avalonia.Build.Tasks |
|
|
|
var designLoaderField = new FieldDefinition("!XamlIlPopulateOverride", |
|
|
|
FieldAttributes.Static | FieldAttributes.Private, designLoaderFieldTypeReference); |
|
|
|
classTypeDefinition.Fields.Add(designLoaderField); |
|
|
|
typeSystem.AddCompilerGeneratedAttribute(designLoaderField); |
|
|
|
|
|
|
|
const string TrampolineName = "!XamlIlPopulateTrampoline"; |
|
|
|
var trampolineMethodWithoutSP = new Lazy<MethodDefinition>(() => CreateTrampolineMethod(false)); |
|
|
|
@ -489,6 +491,7 @@ namespace Avalonia.Build.Tasks |
|
|
|
trampoline.Parameters.Add(new ParameterDefinition(classTypeDefinition)); |
|
|
|
|
|
|
|
classTypeDefinition.Methods.Add(trampoline); |
|
|
|
typeSystem.AddCompilerGeneratedAttribute(trampoline); |
|
|
|
|
|
|
|
var regularStart = Instruction.Create(OpCodes.Nop); |
|
|
|
|
|
|
|
|