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

119 Коммитов

Автор SHA1 Сообщение Дата
jfrijters 8d9b02c251 Added comment to remind that some pseudo custom assembly attributes aren't supported. 2009-11-09 05:31:48 +00:00
jfrijters 71a50f5683 Added ikvmc option -nopeercrossreference and the ability to use -r with peer assemblies. 2009-11-04 05:18:37 +00:00
jfrijters f6acb0a796 Added (optional) per-module initialization to custom assembly class loaders. 2009-11-03 07:15:37 +00:00
jfrijters c623795f8d Add -publicpackage:<pkg> option to ikvmc. 2009-10-28 11:25:20 +00:00
jfrijters 9ae8299974 In a non-sharedclassloader multi target scenario, peer assemblies should automatically reference eachother.
Fix for bug #2883889.
2009-10-23 06:25:09 +00:00
jfrijters dc92060a5a Use cached methods instead of looking them up again. 2009-10-23 06:06:48 +00:00
jfrijters 5166b04d4a More ikvmc assembly/type refactoring. 2009-10-21 04:54:39 +00:00
jfrijters 5cdb8b43e4 Removed .NET 4.0 beta 1 workarounds and did some minor updates for .NET 4.0 beta 2. 2009-10-21 04:43:27 +00:00
jfrijters 7ab2166ee0 Resolve reference assemblies early on, to avoid having to do it multiple times in a multi target scenario. 2009-10-19 05:39:23 +00:00
jfrijters 9089864b8c More type funneling. 2009-10-16 07:06:50 +00:00
jfrijters dac3109b6b Replaced most type literals with static field access (in Types class) or warpped JVM.Import() around them. 2009-10-14 14:58:41 +00:00
jfrijters a4ba87a35f Moved GetAssemblyClassLoader() (and related stuff) from ClassLoaderWrapper to AssemblyClassLoader and renamed it to FromAssembly(). 2009-09-07 04:46:01 +00:00
jfrijters b9ceecc098 Removed EmitHelper class and moved its methods into CodeEmitter. 2009-08-31 05:02:34 +00:00
jfrijters 35d71675e8 Small code cleanup. Changed a couple of abstract methods in TypeWrapper to virtual and provided a default implementation and removed the implementation from a number of subclasses. 2009-08-28 06:20:22 +00:00
jfrijters 871aada6dc Added support for overriding methods in shadow type. 2009-08-06 06:38:42 +00:00
jfrijters 665c85fb9a Added methods defined in map.xml to methods dictionary, before adding the inherited methods that we want to hide, to avoid adding a method that we already explicitly defined (e.g. to override) in map.xml. 2009-08-06 06:21:37 +00:00
jfrijters a22e68227a We shouldn't generate an instancehelper_ method for map.xml methods that have the HideFromJavaAttribute. 2009-08-06 06:18:43 +00:00
jfrijters d7b29bfca9 Fixed regression introduced with the switch to IKVM.Reflection.Emit. We cannot use the Type.Assembly property for TypeBuilders. 2009-07-27 16:46:15 +00:00
jfrijters 64e5615aaa Moved responsibility for creating java.lang.Class instances for "fast literal" enable types into ClassLiteral<T>, this allows class literals to be really cheap, because non of the underlying reflection is needed, the class will cache the Type and lazily resolve it to its TypeWrapper. 2009-07-14 06:27:41 +00:00
jfrijters d8b31ed729 Added -baseaddress:<address> option to ikvmc. 2009-06-22 06:12:47 +00:00
jfrijters 99c7df5de9 Added "RuntimeCompatibilityAttribute(WrapNonExceptionThrows = true)" to generated assemblies. 2009-06-18 06:14:55 +00:00
jfrijters f6a22f068f Added ikvmc warnings for VerificationError and ClassFormatError. 2009-06-18 06:13:21 +00:00
jfrijters 6a5ce00091 - When building for .NET 4.0, don't use DefineDynamicAssembly() overload that takes assembly permission sets, because .NET 4.0 ignores them anyway.
- Fixed BakedTypeCleanupHack to work for .NET 2.0 SP2.
- Changes to remove warnings when building on .NET 4.0
2009-05-26 05:00:38 +00:00
jfrijters 7d0d8be096 When building for .NET 4.0 we can derived ModuleBuilder from Module and AssemblyBuilder from Assembly. 2009-05-25 13:42:15 +00:00
jfrijters 68c9172600 Preparing for .NET 4.0:
- Added SecurityRules(Level1) attribute to IKVM.Runtime.dll to (temporarily) opt out of new .NET 4.0 security model.
- Changed compiler/runtime to automatically add SecurityRules(Level1) attribute when running on .NET 4.0 beta 1 to work around bug in the handling of MethodImpls in beta 1.
2009-05-24 06:54:24 +00:00
jfrijters 597db09496 Added support for assembly declarative security pseudo custom attribute annotations. 2009-05-17 06:11:58 +00:00
jfrijters 7ed63e8d01 Added (limited) support for defining instance fields on remapped types. The fields will only be available on the actual implementation types, not the types they shadow (accessing the field on a shadow instance is undefined, but for reflection we'll at least guarantee that an exception is thrown (current java.lang.IllegalArgumentException)). 2009-03-16 05:28:11 +00:00
jfrijters 9bac1d38f3 Roll back previous accidental commit. 2009-03-13 05:05:26 +00:00
jfrijters 58c9e59ee3 Added newarr opcode. 2009-03-13 04:59:21 +00:00
jfrijters 3ebf554517 Implemented ikvm.internal.ClassLiteral<T> to allow for more efficient class literals. 2009-03-04 05:47:18 +00:00
jfrijters d014ba2dff Add wildcard exports for assemblies referenced by non-main assembly in shared class loader group. 2009-02-22 08:18:37 +00:00
jfrijters 9803e4805b Use "ikvm.exports" map for "wildcard exports" (i.e. assemblies that are referenced and whose types are available thru the assembly class loader). 2009-02-19 08:12:05 +00:00
jfrijters 007b01b8a4 Renamed AssemblyClassLoader.Assembly to MainAssembly. 2009-02-10 07:27:25 +00:00
jfrijters 288a3fddbd Changed "InternalsVisibleTo" handling to be based on Assembly instead of class loader. 2009-02-10 07:24:30 +00:00
jfrijters 6d7c5cf05c Use AssemblyClassLoader.GetAssembly() to get the actual assembly the type lives in, instead of the main assembly of the group. 2009-02-05 06:59:11 +00:00
jfrijters 5eebd6f17b Added AssemblyClassLoader.GetAssembly(TypeWrapper) and changed most code that assumed that an AssemblyClassLoader represented a single assembly to use it. 2009-02-04 07:24:44 +00:00
jfrijters c84bf959b6 When loading a referenced assembly that is the main assemblye of a sharedclassloader group, also pre-load the other assemblies in the group. 2009-02-04 07:19:06 +00:00
jfrijters 77b20a1cb8 Renamed ClassLoadWrapper.GetType(string) to GetGenericTypeDefinition() to make clear what it is used for. 2009-02-04 07:10:59 +00:00
jfrijters 39b6ecfb4c Implemented shared class loader support. 2008-12-23 07:11:29 +00:00
jfrijters 9f7e72f62c Split EmitRemappedTypes into two passes, to allow map.xml to refer to types in other assemblies currently being compiled. 2008-12-23 06:14:42 +00:00
jfrijters f4c607b73d Added workaround for protected methods in remapped types (i.e. Object.close() and Object.finalize()) that will be necessary when splitting the class library into multiple assemblies. 2008-12-23 06:12:05 +00:00
jfrijters 94f4fe2ee2 Make ikvmc emit a warning whenever it emits code that throws a hard error. 2008-12-23 06:07:10 +00:00
jfrijters 0220a2b985 Multi target performance fix. 2008-11-19 05:41:13 +00:00
jfrijters b958181492 Simplified creation of "fake" types. 2008-11-18 05:32:15 +00:00
jfrijters aea7c28387 Don't generate warnings for ikvmstub generated classes that are loaded. 2008-11-18 05:28:15 +00:00
jfrijters faffcc628c Integrated IKVM.Reflection.Emit in ikvmc. 2008-11-14 08:42:07 +00:00
jfrijters 172d448cbf Improved core assembly compilation detection to work in multi target scenarios. 2008-11-14 08:29:19 +00:00
jfrijters 02a2e9ab38 Fixed peer class loading hack. 2008-11-14 08:24:50 +00:00
jfrijters 10cb0a21e9 Fixed .NET generic support regression introduced when ikvmc moved to not using the CompilerClassLoader as the system class loader. 2008-09-21 09:48:57 +00:00
jfrijters 684cdf651e Generified all collections. 2008-08-15 12:01:06 +00:00