private static CustomAttribute CreateGeneratedCodeAttribute(MsCoreReferenceFinder msCoreReferenceFinder, ModuleDefinition importingModule)
{
var attributeType = msCoreReferenceFinder.GeneratedCodeAttribute;
if (attributeType == null)
{
return null;
}
var stringType = (TypeDefinition)msCoreReferenceFinder.GetCoreTypeReference("System.String");
var constructor = attributeType.Resolve().FindConstructor(new[] {stringType, stringType}.ToList());
if (constructor == null)
{
return null;
}
var version = typeof(ModuleWeaver).Assembly.GetName().Version.ToString();
var name = typeof(ModuleWeaver).Assembly.GetName().Name;
var generatedAttribute = new CustomAttribute(importingModule.Import(constructor));
generatedAttribute.ConstructorArguments.Add(new CustomAttributeArgument(stringType, name));
generatedAttribute.ConstructorArguments.Add(new CustomAttributeArgument(stringType, version));
return generatedAttribute;
}