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