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

320 Коммитов

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