Граф коммитов

86 Коммитов

Автор SHA1 Сообщение Дата
jfrijters d2cdf13180 Fixed __GetGenericArgumentsOptionalCustomModifiers() and __GetGenericArgumentsRequiredCustomModifiers() as they should return an array with the same number of elements as the number of generic arguments, even if there aren't any modifiers. 2010-05-07 13:29:05 +00:00
jfrijters fad2c41c87 Delay signing fix. 2010-05-07 12:04:48 +00:00
jfrijters ae03b8de03 Added TypeBuilder.__SetAttributes() and MethodBuilder.__SetAttributes() to allow modying the attributes after the builder has been created. 2010-05-07 07:21:29 +00:00
jfrijters d4c5334936 Added __SetAssemblyVersion(), __SetAssemblyCulture(), __SetAssemblyKeyPair(), __SetAssemblyPublicKey(), __SetAssemblyAlgorithmId() and __SetAssemblyFlags() methods to AssemblyBuilder. 2010-05-07 05:45:29 +00:00
jfrijters 41bfeca16a Removed support for pseudo custom attributes TypeForwardedToAttribute and DefaultParameterValueAttribute that aren't supported by .NET reflection either. 2010-05-07 04:44:11 +00:00
jfrijters f18b669110 Don't store AssemblyName, because it is mutable. 2010-05-07 04:29:01 +00:00
jfrijters 710606f893 Don't cache type import failures. 2010-05-06 14:51:55 +00:00
jfrijters d3c4308bd8 Support for defining mscorlib assembly. 2010-05-06 14:50:22 +00:00
jfrijters dc56fe0f12 Removed unused parameter. 2010-05-06 14:38:42 +00:00
jfrijters 7eb3a6e788 Allow blob decoding for unbaked attribute types. 2010-05-06 14:18:35 +00:00
jfrijters bb41551896 Constructed types (Generic types, arrays and pointers) should forward CheckBaked to element type. 2010-05-06 13:50:36 +00:00
jfrijters 222b6d7040 Removed CheckBaked() from __GetDeclaredXxx methods and moved it to .NET compatible APIs only. There is really no good reason not to allow unbaked builders to be interrogated. 2010-05-06 13:40:43 +00:00
jfrijters 48d3595082 Fixed Type.GetEnumUnderlyingType(). Only for EnumBuilder should it work on unbaked types. 2010-05-06 13:24:29 +00:00
jfrijters 542d3eca35 Ignore version info custom attributes that were specified using blob. This is same behavior as .NET. 2010-05-06 12:40:07 +00:00
jfrijters 5a8ac674bd Implemented ModuleBuilder.GetArrayMethod(). Based on patch from Kornel Pal. 2010-05-06 12:35:41 +00:00
jfrijters f72c9f6cf8 Fixed AssemblyName.GetAssemblyName() to throw the proper exceptions (and by consequence Universe.LoadFile() now also throws the proper exceptions, module a race condition). 2010-05-06 06:45:30 +00:00
jfrijters 8b9c9843c6 Delete .pdb file before initializing PDB writer to make sure we get a sensible exception, instead of the random COM error that the PDB writer produces. 2010-05-06 06:09:03 +00:00
jfrijters 463498ab09 Added AssemblyBuilder.__AddTypeForwarder() to allow type forwarders to be added explictly, because the pseudo custom attribute will be removed (because .NET doesn't support that pseudo custom attribute). 2010-05-06 06:03:34 +00:00
jfrijters 7ba2398596 Made forwarded type resolution lazy. 2010-05-06 05:59:17 +00:00
jfrijters c8922e0994 Fixed Assembly.GetTypes() bug that caused it to return types in manifest module twice for multi-module assemblies. Thanks to Kornel Pal for this fix.. 2010-05-06 05:48:40 +00:00
jfrijters 321d8e5cbb SetCustomAttribute(ConstructorInfo, byte[]) overload should forward to SetCustomAttribute(CustomAttributeBuilder) overload instead of directly calling ModuleBuilder.SetCustomAttribute(), otherwise we miss the pseudo custom attribute support. 2010-05-06 05:38:52 +00:00
jfrijters 816fd75719 Marked a few fields readonly. 2010-05-06 05:23:47 +00:00
jfrijters 50b99df3bf Removed mcs specific flag that is no longer required. 2010-04-28 09:39:53 +00:00
jfrijters b366e8e9b3 Made signature resolution lazy. 2010-04-21 10:13:56 +00:00
jfrijters 5cf23ddfc5 Pass context assembly to Load() as the requestingAssembly, to make type name resolution in custom attributes pass the correct RequestingAssembly to the AssemblyResolve event. 2010-04-21 06:13:23 +00:00
jfrijters 2ce9ef352e Made MethodDefImpl's ParameterInfoImpl a little more light weight by getting the type and custom modifiers from the method's signature instead of caching it. 2010-04-20 13:39:53 +00:00
jfrijters 0d7db78121 Use Util.Copy() instead of Clone() to copy a Type arrays. 2010-04-20 13:18:31 +00:00
jfrijters e6d7e01941 Made custom modifier packing more efficient and shared between MethodSignature and MethodBuilder. 2010-04-20 13:06:09 +00:00
jfrijters 71b3df3913 required/optional modifier arguments were in incorrect order. 2010-04-20 12:52:05 +00:00
jfrijters ba8394267b Don't eagerly get or cache method name. 2010-04-20 09:48:27 +00:00
jfrijters 16ad8561dc Made method signature reading lazy. This makes building assemblies with circular dependencies easier (and probably increases perf). 2010-04-20 06:17:21 +00:00
jfrijters dc0086237d Fixed default assembly resolver to throw/not throw the right exceptions. 2010-04-20 05:25:05 +00:00
jfrijters 50e6420147 Dynamic assemblies should also be visible in the universe. 2010-04-20 05:21:58 +00:00
jfrijters 1f7e86dc1a AssemblyBuilder.GetName() should return a name with a public key when were doing delay signing. 2010-04-20 05:16:59 +00:00
jfrijters 3f5845db15 Added support for delay signing (i.e. setting the public key without having the private key). 2010-04-19 13:55:18 +00:00
jfrijters c5ccc4f4fd A Version object that only has Major.Minor set will return -1 for Build and Revision. Handle that case by setting these parts to zero, instead of casting to 65535. 2010-04-19 13:52:59 +00:00
jfrijters 24d6872c77 Made __GetDataFromRVA more generic by taking an offset and a length (to be able to reuse the byte array) and this also removes the need for the field type to have a StructLayout. 2010-04-19 05:26:28 +00:00
jfrijters 9762f5302c Having PinvokeImpl set doesn't necessarily imply having an ImplMap record (for mixed mode assemblies). 2010-04-19 05:25:02 +00:00
jfrijters a1f07f74e6 Null check was in the wrong place. 2010-04-19 05:23:09 +00:00
jfrijters 68974001b1 Added support for custom modifiers in generic type instantions (in signatures). 2010-04-18 09:25:47 +00:00
jfrijters 1b42a3946a Workaround for broken compiler(s) that add terminating NUL to type names in custom attribute data. 2010-04-18 09:23:52 +00:00
jfrijters 9ef69e669c Fixed type name parsing bug (thanks to Jb Evain for reporting this). Generic type parameter type names can be without assembly name and then need to be resolved in context. 2010-04-18 09:21:54 +00:00
jfrijters 90efa2a447 Implemented ModuleRef ResolutionScope for TypeRef. 2010-04-18 09:05:26 +00:00
jfrijters 2ec4aae085 Don't try to return a MethodBody if it isn't in IL. 2010-04-18 09:02:54 +00:00
jfrijters 5de77bb9f7 Don't loop infinitely when the RVA lies outside of the file. 2010-04-18 08:59:18 +00:00
jfrijters 0f2ade7ce0 Version parts should be treated as unsigned. 2010-04-18 08:58:19 +00:00
jfrijters 1a771a9ccd Don't crash when a DllImportAttribute doesn't have an ImportScope (which can happen for C++ code). 2010-04-18 08:55:55 +00:00
jfrijters af8e10cfad Fixed stack height updating for jmp instruction. 2010-04-18 08:54:11 +00:00
jfrijters 6a1ca8dae9 Introduced Empty<T> to cache zero length arrays. 2010-04-18 08:39:20 +00:00
jfrijters 13ec0c138e - Assembly version number parts should be treated as unsigned shorts.
- Added support for encoding/decoding custom attributes on generic parameters (this encoding is missing from the June 2006 ECMA CLI spec).
2010-04-02 03:52:22 +00:00