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

192 Коммитов

Автор SHA1 Сообщение Дата
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