Browse Source

Correct which types receive CompilerGeneratedAttribute (#18166)

pull/18197/head
Tom Edwards 1 year ago
committed by GitHub
parent
commit
920122c648
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 5
      src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs

5
src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs

@ -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);

Loading…
Cancel
Save