jfrijters
e38521ae81
Fixed exception message.
2009-10-20 05:17:27 +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
8068af56fa
Moved DotNetTypeWrapper class into its own source file.
2009-08-31 06:16:04 +00:00
jfrijters
4fe0cf25d1
Moved BakedTypeCleanupHack to DynamicTypeWrapper.
2009-08-31 06:05:15 +00:00
jfrijters
cb448cb209
Moved ImplementInterfaceMethodStubs and ImplementInterfaceMethodStubsImpl to DynamicTypeWrapper.
2009-08-31 05:49:19 +00:00
jfrijters
ee524d3032
Made ImplementInterfaceMethodStubs and ImplementInterfaceMethodStubsImpl static in preparation of moving them to DynamicTypeWrapper.
2009-08-31 05:46:20 +00:00
jfrijters
014283d425
Moved DynamicTypeWrapper class into its own source file.
2009-08-31 05:10:11 +00:00
jfrijters
b9ceecc098
Removed EmitHelper class and moved its methods into CodeEmitter.
2009-08-31 05:02:34 +00:00
jfrijters
db9c796794
Removed vestigial compact framework support.
2009-08-28 06:47:16 +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
585c7f5c21
ArrayTypeWrapper: Fixed a race condition and avoid holding the lock while calling external code.
2009-08-28 06:06:35 +00:00
jfrijters
285bf4dfbb
Added support for exposing open generic types as Java classes (special "handle" classes that can only be used for stack walking).
2009-08-27 14:40:42 +00:00
jfrijters
8a9fc7420b
Implemented automatically enabling .NET serialization support for Java classes that are trivially serializable.
2009-07-30 13:14:14 +00:00
jfrijters
43fd0daf07
Implemented support for .NET serialization of Java enums.
...
(The CreateEnumEnum move in FakeTypes.cs is because java.lang.Enum now has a dependency on custom attribute annotations.)
2009-07-29 09:36:56 +00:00
jfrijters
568cff8e34
- Make IsFastClassLiteralSafe return true for various fake annotation types.
...
- Pass Type to java.lang.Class for "forbidden" and reflection-only types. This is now needed for Class serialization.
2009-07-29 07:06:44 +00:00
jfrijters
9c28395a5a
Fix NRE when getting annotations on delegate constructor for delegates defined in Java (because these constructors don't really exist).
2009-07-27 08:04:30 +00:00
jfrijters
88729b4059
Optimized primitive class literals.
2009-07-16 06:29:32 +00:00
jfrijters
28e5b235d7
Implemented optimization to remove .cctor when it is empty (and the class isn't serializable or has a serialVersionUID).
2009-07-16 06:26:47 +00:00
jfrijters
1e003bbb98
Made callerID initialization lazy.
2009-07-14 08:25:04 +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
d76b454d72
Made some classes sealed.
2009-07-13 13:34:41 +00:00
jfrijters
04ca4a71f9
Moved class literal emit code to TypeWrapper and added checks to prevent types that are illegal in type instantations from being used with ClassLiteral<T>.
2009-07-13 08:34:37 +00:00
jfrijters
6dee819903
Removed ByteCodeHelperMethods.GetClassFromTypeHandle usage from static compiler.
2009-07-07 08:02:18 +00:00
jfrijters
ba363faf74
Replaced last usage of ByteCodeHelperMethods.GetClassFromTypeHandle in runtime with LazyEmitLoadClass.
2009-07-07 07:44:30 +00:00
jfrijters
99c7df5de9
Added "RuntimeCompatibilityAttribute(WrapNonExceptionThrows = true)" to generated assemblies.
2009-06-18 06:14:55 +00:00
jfrijters
b75fb48ee8
Implemented class gc (available only when compiling on .NET 4.0).
2009-06-02 07:38:21 +00:00
jfrijters
7b120d5942
Added JavaModuleAttribute to dynamic module to make detection of Java types more straightforward.
2009-05-29 07:47:20 +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
d33c145753
Added support for declarative security pseudo custom attribute annotations.
2009-05-17 06:05:52 +00:00
jfrijters
da7552b32c
- Added hook to allow subclass of DynamicTypeWrapper to inject a different base class.
...
- Added support to CompiledTypeWrapper.GetBaseTypeWrapper() to skip base classes that aren't visible to Java.
2009-05-12 04:03:48 +00:00
jfrijters
c1553b7f1a
Refactored method call replacement to allow it to be used by others than xml mapping stuff.
2009-05-12 04:00:01 +00:00
jfrijters
95ddd4293c
Fix for bug #2777171 .
...
- Use custom enum value decoding because Enum.Parse() doesn't work for ReflectionOnly types.
- Handle enums that use unsigned integer underlying type properly.
2009-04-22 04:34:06 +00:00
jfrijters
4ec50d326a
AttributeTargets.Interface wasn't mapped correctly to @Target(TYPE).
...
Fixes bug #2777128 .
2009-04-21 07:26:29 +00:00
jfrijters
62e4bc8b12
Removed jsr/ret support.
2009-04-16 05:44:48 +00:00
jfrijters
d20098ec2a
Renamed CodeEmitter.Finish() to CheckLabels() and moved invocation to the right place.
2009-04-06 10:10:17 +00:00
jfrijters
629416833c
Delegate fixes.
2009-03-07 08:33:33 +00:00
jfrijters
14a67e3bb4
- Added virtual method to MethodWrapper to do custom linking (i.e. defining the method).
...
- Added the notion of Java methods that don't have a corresponding CLR method (currently only for delegate constructors).
2009-03-06 06:43:40 +00:00
jfrijters
dd73250d49
Added support for defining delegates in Java.
2009-03-06 05:33:08 +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
f4991c7bd4
Made Mono compilation workarounds conditional on __MonoCS__.
2009-03-02 06:30:13 +00:00
jfrijters
1bab941b8f
Workaround for apparent Mono (2.2 and 2.4 preview 2 tested) bug in Interlocked.Exchange. Doesn't repro in isolation (but I didn't try very hard).
2009-02-25 05:00:53 +00:00
jfrijters
b1bae501cb
Added caching to GetWrapperFromDotNetType.
2009-02-24 06:11:17 +00:00
jfrijters
6fd6fc2f3b
Use double checked locking to avoid taking the lock in the common case when accessing TypeWrapper.ClassObject.
2009-02-24 04:42:20 +00:00
jfrijters
1125b3ab54
Make sure we get the right Type.GetTypeHandle and RuntimeTypeHandle.get_Value methods and cache them.
2009-02-23 05:17:21 +00:00
jfrijters
8ffc7143ee
Intrisified two uses of Object.getClass().
2009-02-22 08:19:30 +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
4700903ea8
Fixed AssemblyClassLoader.GetAssembly() to handle fake types.
2009-02-04 08:10:24 +00:00
jfrijters
830613d14a
- Implemented GetEnclosingMethod for ReflectionOnly assemblies.
...
- Fixed pointer type check for method return types.
2009-02-04 06:51:40 +00:00