if (CheckProcessed (assembly))
return;
+ ProcessModule (assembly);
+
MarkCustomAttributes (assembly);
foreach (ModuleDefinition module in assembly.Modules)
MarkCustomAttributes (module);
}
+ void ProcessModule (AssemblyDefinition assembly)
+ {
+ // Pre-mark <Module> if there is any methods as they need to be executed
+ // at assembly load time
+ foreach (TypeDefinition type in assembly.MainModule.Types)
+ {
+ if (type.Name == "<Module>" && type.HasMethods)
+ {
+ MarkType (type);
+ break;
+ }
+ }
+ }
+
protected void MarkField (FieldReference reference)
{
// if (IgnoreScope (reference.DeclaringType.Scope))
case "mscorlib":
case "Accessibility":
case "Mono.Security":
+ // WPF
+ case "PresentationFramework":
+ case "PresentationCore":
+ case "WindowsBase":
+ case "UIAutomationProvider":
+ case "UIAutomationTypes":
+ case "PresentationUI":
+ case "ReachFramework":
return true;
default:
return name.Name.StartsWith ("System")