[Ikvm-commit] ikvm/reflect Type.cs, 1.25, 1.26 Universe.cs, 1.22, 1.23
Brought to you by:
jfrijters
From: Jeroen F. <jfr...@us...> - 2010-11-29 11:20:55
|
Update of /cvsroot/ikvm/ikvm/reflect In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv11474 Modified Files: Type.cs Universe.cs Log Message: Add support for assembly custom attributes on modules (they are applied to a placeholder TypeRef record and compiler consuming the module is supposed to merge them into the assembly manifest). Index: Universe.cs =================================================================== RCS file: /cvsroot/ikvm/ikvm/reflect/Universe.cs,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** Universe.cs 18 Jun 2010 07:00:12 -0000 1.22 --- Universe.cs 29 Nov 2010 11:20:47 -0000 1.23 *************** *** 111,114 **** --- 111,115 ---- private Type typeof_System_NonSerializedAttribute; private Type typeof_System_SerializableAttribute; + private Type typeof_System_AttributeUsageAttribute; private Type typeof_System_Reflection_AssemblyCultureAttribute; private Type typeof_System_Runtime_InteropServices_DllImportAttribute; *************** *** 134,137 **** --- 135,139 ---- private Type typeof_System_Reflection_AssemblyInformationalVersionAttribute; private Type typeof_System_Reflection_AssemblyFileVersionAttribute; + private Type typeof_System_Security_Permissions_CodeAccessSecurityAttribute; private Type typeof_System_Security_Permissions_HostProtectionAttribute; private Type typeof_System_Security_Permissions_PermissionSetAttribute; *************** *** 284,287 **** --- 286,294 ---- } + internal Type System_AttributeUsageAttribute + { + get { return typeof_System_AttributeUsageAttribute ?? (typeof_System_AttributeUsageAttribute = ImportMscorlibType(typeof(System.AttributeUsageAttribute))); } + } + internal Type System_Reflection_AssemblyCultureAttribute { *************** *** 399,402 **** --- 406,414 ---- } + internal Type System_Security_Permissions_CodeAccessSecurityAttribute + { + get { return typeof_System_Security_Permissions_CodeAccessSecurityAttribute ?? (typeof_System_Security_Permissions_CodeAccessSecurityAttribute = ImportMscorlibType(typeof(System.Security.Permissions.CodeAccessSecurityAttribute))); } + } + internal Type System_Security_Permissions_HostProtectionAttribute { Index: Type.cs =================================================================== RCS file: /cvsroot/ikvm/ikvm/reflect/Type.cs,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** Type.cs 30 Jun 2010 07:17:58 -0000 1.25 --- Type.cs 29 Nov 2010 11:20:47 -0000 1.26 *************** *** 1496,1499 **** --- 1496,1518 ---- } + internal bool IsAllowMultipleCustomAttribute + { + get + { + IList<CustomAttributeData> cad = GetCustomAttributesData(this.Module.universe.System_AttributeUsageAttribute); + if (cad.Count == 1) + { + foreach (CustomAttributeNamedArgument arg in cad[0].NamedArguments) + { + if (arg.MemberInfo.Name == "AllowMultiple") + { + return (bool)arg.TypedValue.Value; + } + } + } + return false; + } + } + internal bool IsPseudoCustomAttribute { |