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

158 Коммитов

Автор SHA1 Сообщение Дата
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
jfrijters 3841cc0e3f Fixed Type.FullName. Nested types can also have a namespace (not in the C# sense, but in the CLR sense). 2010-04-02 03:50:49 +00:00
jfrijters d4c8f62b7c Made property and event public/static flag handling compatible with .NET 2010-02-26 09:26:20 +00:00
jfrijters 05d9e5facb Removed unused method. 2010-02-26 09:23:21 +00:00
jfrijters e3275b3917 Added workaround for the fact that Mono doesn't set the HasThis flag on property signatures. 2010-02-25 10:46:29 +00:00
jfrijters 0d65f18b33 Check Sorted flags only for the tables we really require to be sorted (currently only GenericParam). 2010-02-25 10:37:56 +00:00
jfrijters 1b40af728d Throw exception if the member cannot be resolved. 2010-02-25 10:36:45 +00:00
jfrijters d1ec841c86 Fixed regression introduced with == operator in MemberInfo. 2010-02-09 14:34:05 +00:00
jfrijters 48f48cfa71 Added == and != operators and implemented Equals/GetHashCode. 2010-02-09 07:58:14 +00:00
jfrijters 860e0a148e Added == and != operators to MemberInfo to mask the fact that we don't implement reference identity for various members (most notably the constructor wrappers, generic wrappers and events and properties).
Changed Type.Equals() to avoid infinite recursion, now that we overload the == operator.
2010-02-09 07:57:49 +00:00
jfrijters 855cc893ee Generic property and event wrappers should also override Equals/GetHashCode. 2010-02-09 07:54:54 +00:00
jfrijters 5b23e76b83 Since we don't cache PropertyInfoImpls and EventInfoImpls, they should at least override Equals/GetHashCode to do by value equality. 2010-02-09 07:53:28 +00:00
jfrijters 5b29dc53dc Implemented GenericTypeParameterBuilder.GenericParameterAttributes. 2010-02-09 07:50:07 +00:00
jfrijters 9c79131ad4 Implemented GenericTypeParameterBuilder.BaseType. 2010-02-09 07:45:28 +00:00
jfrijters 3c281cb431 Renamed GenericTypeParameterBuilder.token to typeToken, to more clearly distinguish it from paramToken. 2010-02-09 07:30:47 +00:00
jfrijters 66678bca19 Moved common metadata table record adding code to GenericTypeParameterBuilder constructor and did some other GenericTypeParameterBuilder clean up. 2010-02-09 07:29:25 +00:00
jfrijters df193e6f4d Removed some no longer needed remnants from when we had multiple generic ParameterInfo wrapper implementations. 2010-02-09 07:22:40 +00:00
jfrijters 42f8158fe1 Implemented __GetDeclaredInterfaces() on TypeBuilder (and hence baked types). 2010-02-09 05:54:08 +00:00
jfrijters 26b049d654 TypeBuilder.Namespace shouldn't return null. 2010-02-09 05:50:05 +00:00
jfrijters 8dc763b6ec Bug fix. 2010-02-09 05:43:43 +00:00
jfrijters 5bdad92ef3 If a generic type contains generic parameters (that haven't been bound), FullName and AssemblyQualifiedName should return null. 2010-02-09 05:42:05 +00:00
jfrijters 20a15e3ac1 DllImportAttribute implies MethodAttributes.PinvokeImpl. 2010-02-09 05:27:51 +00:00
jfrijters 56843c6602 Bug fix in BindTypeParameters(). It forgot to copy subsequent args entries that weren't affected by the bind. 2010-02-09 05:20:01 +00:00
jfrijters 3043c4ac13 Override GetGenericTypeDefinition(), because it is legal to call that on a TypeDef. 2010-02-09 05:18:41 +00:00
jfrijters d4253e6a70 Fix NPE. Don't try to iterator over otherMethods if it is null. 2010-02-09 05:17:58 +00:00
jfrijters a43454be81 Support for mcs specific AssemblyBuilderAccess flag (0x800 aka COMPILER_ACCESS) to allow access to members of unbaked TypeBuilders. 2010-02-04 11:18:07 +00:00
jfrijters 9ef3188439 Generic methods and methods on generic type instance fixes. 2010-02-04 10:49:24 +00:00
jfrijters d75b3d792e Implemented __GetDeclaredFields(), __GetDeclaredEvents() and __GetDeclaredProperties() on TypeBuilder. 2010-02-04 09:59:42 +00:00
jfrijters d6ba34ecb6 Removed accidentally checked in test code. 2010-02-04 09:58:46 +00:00
jfrijters 3ea0443e5c Use Util.Copy() instead of cloning the array, because we want to return a Type[] not a GenericTypeParameterBuilder[]. 2010-02-04 09:49:04 +00:00
jfrijters 71ab42d7eb MethodBuilder should implement GetGenericMethodArgument() and GetGenericMethodArgumentCount(), to allow type parameter binding to work (even though it is a no-op). 2010-02-04 09:46:18 +00:00
jfrijters c8e3b59abb Avoid Clone(), because we want to return a Type[], not an array of some subtype of Type. 2010-02-04 09:40:05 +00:00
jfrijters 7568ab4c6a FindMembers() may be called with a null filter. 2010-02-04 09:38:52 +00:00
jfrijters d1e163408f Removed IKVM_REF_EMIT, as STATIC_COMPILER or STUB_GENERATOR now always implies IKVM.Reflection. 2010-01-28 09:18:33 +00:00
jfrijters 0050b15595 Several IKVM.Reflection fixes related to generics.
- MethodImpls in generic type definitions should be resolved with typeArgs as context.
- Cleaned up member on generic type rebinding.
- Fixed __GetDeclaredProperties and __GetDeclaredEvents to rebind properly.
2010-01-27 06:12:36 +00:00
jfrijters 0b30be9d2c Removed UTF-8 byte order marks. 2010-01-25 05:49:01 +00:00
jfrijters 198c9d70ea New IKVM.Reflection implementation. 2010-01-25 05:29:31 +00:00