Catel.Fody.CecilExtensions.CreateGeneratedCodeAttribute C# (CSharp) Method

CreateGeneratedCodeAttribute() private static method

private static CreateGeneratedCodeAttribute ( MsCoreReferenceFinder msCoreReferenceFinder, Mono.Cecil.ModuleDefinition importingModule ) : CustomAttribute
msCoreReferenceFinder MsCoreReferenceFinder
importingModule Mono.Cecil.ModuleDefinition
return Mono.Cecil.CustomAttribute
        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;
        }