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