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

49 Коммитов

Автор SHA1 Сообщение Дата
jfrijters b56b990a64 Allow Type.FullName to be used on generic type instance that uses missing type as a type parameter. 2011-03-09 07:09:26 +00:00
jfrijters 1319f75273 Allow Type.GetTypeCode() to work with missing mscorlib (for primitive types). 2011-03-09 06:01:52 +00:00
jfrijters 68816bf709 Add support for returning pseudo-custom attributes based on missing types. 2011-03-06 08:16:41 +00:00
jfrijters fb2b1f96e6 Added Type.IsGenericTypeInstance to make it easier (and more efficient) to test for generic type instantiations. Note that this property can be called on missing types (it will return false), unlike both IsGenericType and IsGenericTypeDefinition. 2011-03-06 07:36:55 +00:00
jfrijters 75da6c389f Allow MakeGenericType() to be used on missing type. 2011-03-06 06:37:29 +00:00
jfrijters c92bb4afd3 Added support for missing fields. 2011-03-03 16:06:44 +00:00
jfrijters b74ba1487e Allow missing types and methods to be used in emitted assembly. 2011-03-03 12:52:44 +00:00
jfrijters 4ed819c9dd Optimized the Type == operator. 2011-02-14 05:58:49 +00:00
jfrijters c16a29c301 Added support for resolving methods in missing types (primarily to enable CustomAttributeData.Constructor to work for missing attribute types). 2011-01-26 06:59:57 +00:00
jfrijters 209830e5fe Add support for reflecting on assemblies without loading mscorlib (or with partial mscorlib) when missing type resolution is enabled. 2011-01-23 08:12:13 +00:00
jfrijters 175af3395c Move missing type support into universe and optionally allow missing types to be resolved inside all Assemblies. 2011-01-20 14:31:10 +00:00
jfrijters d7848c305e More type name fixes. This time to support the fact that the CLR and Mono both treat TypeNamespace and TypeName as separate names and do not consider fullName to be relevant. 2011-01-20 05:38:11 +00:00
jfrijters 2d876687ad Fix for GenericTypeInstance.__ContainsMissingType. Thanks to Marek for reporting this. 2011-01-19 04:55:26 +00:00
jfrijters ff28c44961 Added support for resolving MissingTypes in AssemblyBuilder. 2011-01-18 16:44:39 +00:00
jfrijters 5f13b8fea5 Added Type.__ContainsMissingType to easily check for missing types in a constructed type. 2011-01-14 05:36:42 +00:00
jfrijters 99dcc0a625 Add support for reading signatures with instantiations of generic missing type. 2011-01-14 05:29:04 +00:00
jfrijters 6019abc4f4 Rename __IsMissingType to __IsMissing to make it easier if/when we add support for other missing members. 2011-01-13 15:29:30 +00:00
jfrijters 4de90713f8 Added support for magic missing assemblies that resolve missing types to allow (some) reflection on assemblies with missing dependencies. 2011-01-13 10:44:44 +00:00
jfrijters 29d4433de5 Fixed resolving nested type by name. 2011-01-13 07:24:50 +00:00
jfrijters 44dc4dfabc Fixed Type.GetNestedType(). The name passed in is not escaped, so we should match with __Name. 2011-01-13 07:08:00 +00:00
jfrijters 6d9125b9c8 Prevent external subclassing. It's not part of the design to suppor that, now it is also enforced. 2011-01-13 05:58:54 +00:00
jfrijters 30a627c39a Final set of Name/Namespace/FullName fixes to make everything more compatible (including bugs) with .NET reflection. 2011-01-12 13:57:05 +00:00
jfrijters b6fa3c6c3d Added virtual __Name and __Namespace properties to Type to allow the real (from the ECMA CLI point of view) namespace and names of types to be queried (for TypeDef and TypeBuilder only). 2011-01-12 13:31:27 +00:00
jfrijters 2db5fe38be 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). 2010-11-29 11:20:47 +00:00
jfrijters d8edcb3f95 It turns out that "multi dimensional" vectors have "multi dimensional" constructors. 2010-06-30 07:17:58 +00:00
jfrijters 0399c35f8c Re-instroduced generic type instantation for "identity" instantations of TypeBuilder types. This is required to be able to distinguish the two types in this example:
class Foo<T>
{
   void Frob() {
     Console.WriteLine(typeof(Foo<>));
     Console.WriteLine(typeof(Foo<T>));
   }
}
2010-06-28 12:14:24 +00:00
jfrijters e2ff75f477 Implemented __GetDeclaredMethods() for ArrayType and MultiArrayType. 2010-06-28 07:41:51 +00:00
jfrijters bc23b974ef Three IsAssignableFrom fixes:
- non-vector arrays are not assignable to vector arrays
- value type arrays are not assignable to non-value type arrays (and v.v.)
- pointers can be boxed to ValueType as well as Object
2010-05-21 03:48:26 +00:00
jfrijters 118db6d049 Implemented custom attribute filtering at the source. Added support for custom attribute sub typing. 2010-05-20 09:25:30 +00:00
jfrijters 651f73a990 Implemented Type.IsAssignableFrom() (minus co-/contravariance). 2010-05-20 09:05:09 +00:00
jfrijters 149a55d4dd Introduced Type.GetEnumUnderlyingTypeImpl() to avoid CheckBaked for our own usage. 2010-05-07 16:37:28 +00:00
jfrijters 10a9a48727 Removed attributes that aren't pseudo custom attributes from pseudo custom attribute list. 2010-05-07 16:35:47 +00:00
jfrijters 8e478a9f06 Added null check. 2010-05-07 14:03:40 +00:00
jfrijters f95d73aab5 It turns out that the "identity" generic type instantation should return the type definition. 2010-05-07 13:30:04 +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 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 68974001b1 Added support for custom modifiers in generic type instantions (in signatures). 2010-04-18 09:25:47 +00:00
jfrijters 6a1ca8dae9 Introduced Empty<T> to cache zero length arrays. 2010-04-18 08:39:20 +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 d1ec841c86 Fixed regression introduced with == operator in MemberInfo. 2010-02-09 14:34:05 +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 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 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 7568ab4c6a FindMembers() may be called with a null filter. 2010-02-04 09:38:52 +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