jfrijters
87e866af58
Changed __ReadTypeName() to __TryReadTypeName() because it should fail when the type is a nested type (because the name of a nested type cannot be expressed by namespace + name).
2011-01-12 12:55:10 +00:00
jfrijters
cfc3fd4552
Add support for NETCF in rendering pseudo DllImportAttribute (i.e. skip fields that don't exist).
2011-01-12 09:34:57 +00:00
jfrijters
8febdc94e9
Fix for big endian systems. Thanks to Marek Safar for reporting this.
2011-01-11 05:16:48 +00:00
jfrijters
4d4e2b91f7
Don't create duplicate ClassLayout table records when using the DefineType overload that specifies the size and also applying a StructLayoutAttribute.
2010-12-20 18:11:09 +00:00
jfrijters
6be0ac8b26
Set stack height to zero at the entry of an exception block (instead of -1), otherwise an empty try block will not get an automatic leave in "clever" mode.
2010-12-20 14:07:55 +00:00
jfrijters
d6eb6961ca
AssemblyResolve event should fire before resolving to AssemblyBuilder.
2010-12-10 10:26:42 +00:00
jfrijters
426fc0ea15
Fixed stupid copy/paste bug in AssemblyBuilder.GetTypeImpl(). The modules list was iterated twice instead of looking through both modules and addedModules.
2010-12-09 13:31:58 +00:00
jfrijters
c0dfebfa18
On Marek's request changed __TypeName property to __ReadTypeName() to avoid creating new strings.
2010-12-09 13:30:25 +00:00
jfrijters
0c1f86a2cc
Added CustomAttributeData.__TypeName property to allow the custom attribute type name to be queried without requiring the assembly containing the type to be present.
2010-12-09 07:32:15 +00:00
jfrijters
274d83e1ae
Made CustomAttributeData more lazy (when all custom attributes are queried, regardless of type).
2010-12-09 07:16:28 +00:00
jfrijters
af092c964f
According to Marek, Mono requires the PropertyMap table to be sorted.
2010-12-09 06:12:19 +00:00
jfrijters
6395aaffb6
Use Universe.System_AttributeUsageAttribute instead of importing the type here.
2010-12-08 16:10:38 +00:00
jfrijters
a6147467fe
Don't emit unnecessary leave instructions in "clever" mode.
2010-12-08 08:07:07 +00:00
jfrijters
474f06cdc7
The end label of an exception block should always be marked, because you can also backward branch to it.
2010-12-08 07:15:23 +00:00
jfrijters
83f9eaa729
Added Module.__GetReferencedAssemblies() API.
2010-12-08 06:33:03 +00:00
jfrijters
7f82abb787
Added ModuleBuilder.__AddAssemblyReference() API to explicitly add assembly references. This can be used in conjunction with AssemblyBuilder.__AddModule() to add the assemblies referenced by the module to the assembly manifest module. It's not clear to me whether this is required, but Microsoft does it and Assembly.GetReferencedAssemblies() only returns the assemblies referenced from the manifest module.
2010-12-08 06:02:53 +00:00
jfrijters
ee501a23ce
Exception block end label should be marked regardless of exception assistance mode.
2010-12-07 14:30:36 +00:00
jfrijters
d775e26543
Removed NotImplementedException for unsorted GenericParam table, because we don't really care.
2010-12-07 13:38:47 +00:00
jfrijters
3a12bed1ac
At the start of a finally block, the stack height should always be zero (i.e. reachable).
2010-12-07 13:27:50 +00:00
jfrijters
1a1ec4679e
Added support for emitting assemblies with non-existing cultures.
2010-12-06 13:59:52 +00:00
jfrijters
18761a239d
Added support for reading decimal parameter default values with ParamterInfo.RawDefaultValue.
2010-12-06 11:15:36 +00:00
jfrijters
04cfee6dd0
Custom attributes applied to GenericTypeParameterBuilder were attached to the type token, instead of the type parameter token.
2010-12-06 10:31:53 +00:00
jfrijters
743c912af9
HashAlgId in assembly manifest record turns out to be useless (SHA1 is always used).
2010-12-06 05:56:51 +00:00
jfrijters
e7d123ff53
Keep Param table records is correct order.
2010-12-06 05:35:24 +00:00
jfrijters
d0c0fb0ea9
TypeBuilder created by DefineInitializedData should be created.
2010-12-05 04:56:39 +00:00
jfrijters
a3edb5fdd1
- Delay creation of tokens for base type and interfaces until CreateType, to avoid problems when a non yet completely defined type is used as a base type or interface.
...
- Don't clear properties and events fields during CreateType.
2010-12-03 17:01:20 +00:00
jfrijters
ab26584498
Added API to query placeholder assembly custom attributes in a module.
2010-11-29 14:00:10 +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
89eb073f0f
RawModule.GetReferencedAssemblies() should work for non-manifest modules as well.
2010-11-29 09:48:00 +00:00
jfrijters
e0a6956435
Added AssemblyBuilder.__AddModule() to allow pre-existing modules to be linked in.
2010-11-29 09:28:48 +00:00
jfrijters
1410ece953
- Added ModuleBuilder.__Save() to support -target:module option better.
...
- Changed ikvmc to use new ModuleBuilder.__Save() instead of workaround of deleting the manifest module after saving the assembly.
2010-11-29 08:16:54 +00:00
jfrijters
dfbe7738cc
Added AssemblyBuilder.__DefineIconResource() API.
2010-11-29 06:59:20 +00:00
jfrijters
febc651508
Use ResourceSection directly to collect unmanaged resources. To prepare for adding win32 icon resource support.
2010-11-29 06:36:17 +00:00
jfrijters
6ce457dffc
- Added IKVM.Reflection.Missing type.
...
- Fixed ParameterInfo.RawDefaultValue to return Missing.Value if the parameter is optional, but doesn't have a default and to return null, if the parameter isn't optional (and doesn't have a default).
2010-11-26 13:44:06 +00:00
jfrijters
4d3a3079a5
Added exception message for backward branch constraints violations.
2010-10-05 04:50:04 +00:00
jfrijters
dc35f2e455
Throw a NotSupportException if a branch offset doesn't fit (i.e. when a short form branch is used inappropriately).
2010-09-30 07:30:53 +00:00
jfrijters
fceb82b65e
Fixed ExceptionBlock's Compare method to handle identity comparison, as Mono's sort implementation requires this.
2010-09-21 05:42:27 +00:00
jfrijters
7a8c72f1cb
Fix build to work when Mono isn't installed.
2010-08-10 15:02:03 +00:00
jfrijters
1f08d17cd3
Fix bug #3040528 .
2010-08-09 12:07:55 +00:00
jfrijters
132efc54ff
Fixed x64 import directory alignment.
2010-08-09 12:05:43 +00:00
jfrijters
27703d02f7
Fix for bug #3035831 .
2010-07-28 12:12:47 +00:00
jfrijters
330313c596
Pass the outer context to ReadSig when the member's declaring type isn't generic, to support the usage of generic parameters in array signatures (when you call one of the runtime synthesized array methods on a generic type array e.g. T[] array; array.Set(0, default(T));)
2010-06-30 07:28:11 +00:00
jfrijters
5bc7379ddf
Throw better exceptions if MemberRef can't be resolved.
2010-06-30 07:24:21 +00:00
jfrijters
9abce7789f
A TypeRef with a null ResolutionScope is legal and refers to an entry in the export table of the current module.
2010-06-30 07:22:06 +00:00
jfrijters
9439e02ec7
Support fields that have an RVA, but where it is set to zero (C++/CLI does this).
2010-06-30 07:18:35 +00:00
jfrijters
d8edcb3f95
It turns out that "multi dimensional" vectors have "multi dimensional" constructors.
2010-06-30 07:17:58 +00:00
jfrijters
a03acfcfb9
Several fixes for C++/CLI that tends to stick custom modifiers everywhere. Also, support void& in local variable signature.
2010-06-30 07:16:55 +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
bac98d4479
Use GetTypeTokenForMemberRef() instead of GetTypeToken(), where appropriate.
2010-06-28 10:18:07 +00:00
jfrijters
6a3cdd3851
Avoid adding duplicate MethodSpec rows.
2010-06-28 09:38:00 +00:00