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

963 Коммитов

Автор SHA1 Сообщение Дата
jfrijters 82730f124b - More filtering regression fixes.
- Synchronize on SyncRoot for Exception.Data collection access.
2010-05-28 05:36:03 +00:00
jfrijters 9085b75ad8 More clean up and added HideFromJava to two more Map methods. 2010-05-28 05:18:12 +00:00
jfrijters 85b418c2e9 - Util.mapException() shouldn't be HideFromJava as that would be a breaking change, and were explicitly filtering it from the stack trace anyway.
- Minor ExceptionHelper clean up.
2010-05-28 04:23:58 +00:00
jfrijters b242c1026b Moved ExceptionHelper into proper namespace and some cleanup. 2010-05-27 16:07:56 +00:00
jfrijters 2cbe4b732b Moved the last part of ExceptionHelper from Java to C# side. 2010-05-27 15:24:29 +00:00
jfrijters 0d2012757f Moved the remainder of the exception mapping to the C# side. 2010-05-27 14:54:41 +00:00
jfrijters 63fac84c10 - Added new public API to unmap exception (ikvm.runtime.Util.unmapException()).
- Moved (parts of) mapping and unmapping to C# side.
2010-05-27 14:08:58 +00:00
jfrijters d67bc55267 Moved more ExceptionHelper methods to C# side. 2010-05-27 13:23:04 +00:00
jfrijters fa0e1b04f0 Yet more ExceptionHelper moving. 2010-05-27 13:03:26 +00:00
jfrijters fe0f5df2a1 Moved a few more ExceptionHelper methods to C# side. 2010-05-27 12:36:40 +00:00
jfrijters 4da8e27cf7 Moved printStackTrace to C# side. 2010-05-27 12:08:01 +00:00
jfrijters d18d00788b Moved ExceptionHelper.getStackTrace() to "native" code of Thread. 2010-05-27 11:47:41 +00:00
jfrijters aae1ef7119 Added error message (instead of simply crashing) for the case when a native method is not found in managed code and there is no JNI assembly available (as is the case during the core library build). 2010-05-27 11:22:18 +00:00
jfrijters a4500fdb47 Moved readObject/writeObject to C# side. 2010-05-27 11:21:23 +00:00
jfrijters 1dc4ffa32b More object -> java.lang.Class updates. 2010-05-27 10:54:34 +00:00
jfrijters 40dcf95916 More type safety. TypeWrapper.ClassObject is now typed as java.lang.Class. 2010-05-27 09:25:15 +00:00
jfrijters 195f6ce2c6 First step of moving all exception handling code to C#. 2010-05-27 09:17:56 +00:00
jfrijters 36a5e0ce64 First stab at making the "native" method signatures more statically typed. 2010-05-27 09:17:13 +00:00
jfrijters a3b30e87e1 Add a dummy IKVM.OpenJDK.Core.dll to the build to make it possible to use core types in method signatures during first-pass build of IKVM.Runtime.dll. 2010-05-27 08:38:48 +00:00
jfrijters 12a597a359 When we're statically compiling, register the TypeBuilder -> TypeWrapper early on, to support cyclic dependency compilation. 2010-05-27 08:31:46 +00:00
jfrijters 44e6663f50 Wrap all reflective field access to convert FieldAccessException into java.lang.IllegalAccessException. 2010-05-26 13:09:55 +00:00
jfrijters 6deb604258 Turn MethodAccessExceptions that happen during reflective method invocation (in partial trust scenarios) into java.lang.IllegalAccessExceptions. 2010-05-26 10:12:13 +00:00
jfrijters 97b0466c35 Workaround x64 JIT bug. 2010-05-26 10:07:07 +00:00
jfrijters 4184d2c165 Added explicit cast to generated reflection argument conversion code, to improve partial trust compatibility and to avoid an x64 JIT bug. 2010-05-26 09:50:48 +00:00
jfrijters fd4d23369a When a fast method/constructor invoker throws an exception at the call site (e.g. MethodAccessException in partial trust scenarios) we shouldn't wrap it in an InvocationTargetException. 2010-05-26 05:42:56 +00:00
jfrijters f1bffde708 Handle the case where the exception block ends at the end of the method (scala compiler generates code like this). 2010-05-21 13:38:46 +00:00
jfrijters 5cc1b2e805 The AssemblyClassLoader should not claim to be able to load .class resources for dynamically loaded classes. 2010-05-21 06:25:06 +00:00
jfrijters b23c32c007 Store the generic metadata in a more robust format. The previous format was broken as it created a dependency between the number of methods in class file and in our internal representation (which doesn't alway match, because we add a.o. miranda methods). This fixes several Guice 2.0 test failures as reported by bug #3004682. 2010-05-21 04:23:40 +00:00
jfrijters 1bf158bf1d Class.getEnclosingMethod0() and Class.getGenericSignature() should finish the TypeWrapper, otherwise the metadata isn't yet available.
In addition, getGenericSignature() should not re-mangle the sig as that is not necessary.
This fixes several Guice 2.0 test case failures as reported in bug #3004682.
2010-05-21 04:21:55 +00:00
jfrijters 5aa745c75f Made specialized GetModifiers() variant reuse common GetModifiers() method. 2010-05-20 12:37:00 +00:00
jfrijters 92336d8fc7 Consolidated a couple of attribute helper overloads by using MemberInfo instead of specific sub types. 2010-05-20 12:16:27 +00:00
jfrijters 6207754bd9 Use __GetCustomAttributes() instead of doing our own attribute filtering. 2010-05-20 09:43:15 +00:00
jfrijters d029e87abc We don't need to use our own version of IsDefined to test for custom attributes, because there is no confusion about what runtime types to use anymore. 2010-05-20 06:00:48 +00:00
jfrijters 481158d99b Added Types.SecurityAttribute. 2010-05-20 05:39:53 +00:00
jfrijters 75398c1efe Use Types.IsVolatile instead of re-importing. 2010-05-20 05:36:37 +00:00
jfrijters f8614df7c9 Fixed ikvmc/ikvmstub regression introduced with the switch to IKVM.Reflection (not IKVM.Reflection.Emit) in volatile field handling acros assemblies. 2010-05-20 05:34:31 +00:00
jfrijters 71ea18a0dc Removed JVM.GetType(). 2010-05-20 04:59:13 +00:00
jfrijters f570d2c719 Allow ikvmstub to explicitly set the bootstrap class loader. 2010-05-19 15:46:27 +00:00
jfrijters c676fb0ebc It's not necessary to add the bootstrap class loader to the generic class loader key. 2010-05-19 15:45:25 +00:00
jfrijters 028b02bc06 Implemented a more reliable test for .NET types that have a Finalize method and extend our implementation helpers (i.e. java.lang.Object or java.lang.Throwable). The previous test only handled java.lang.Object. 2010-05-19 15:40:37 +00:00
jfrijters 8c526e9001 Removed .NET 1.1 restriction workaround. 2010-05-19 15:20:36 +00:00
jfrijters 999be08e21 MethodWrapper types need to be provided, as there is no link step for DotNetTypeWrapper members. 2010-05-19 15:16:02 +00:00
jfrijters 44a7beac75 For compiled Java types we can safely use GetWrapperFromType() to get the name and this also fixes the case where the type is a fake type. 2010-05-19 09:12:45 +00:00
jfrijters a7e391870a Added "documentation" assert. 2010-05-19 09:11:50 +00:00
jfrijters b5625e2153 Changed StaticCompiler.GetType() to be multi-target aware. Instead of looking thru all assemblies currently loaded, only the relevant referenced assemblies are searched.
Note that this is a (minor) breaking change. Types referenced in -remap:map.xml file are now only resolved against directly referenced assemblies.
2010-05-16 06:31:20 +00:00
jfrijters 953fa3bbc3 We can't rely on System.dll being loaded. EditorBrowsableAttribute needs to be explicitly imported. 2010-05-15 09:28:29 +00:00
jfrijters c5641ac723 Added a couple of checks to avoid problems when user code tries to convert .NET types that aren't supported into a Class. 2010-05-10 04:47:34 +00:00
jfrijters 183c9e66d8 Fixed EnumHelper.GetPrimitiveValue() to handle the case where the underlying type of an enum difference from the constants values attached to the fields. 2010-05-10 04:46:45 +00:00
jfrijters 3a314584f8 A generic type instance is loaded by the assembly class loader of the generic type definition, but it should not be registered there (as this causes name clashes and that class loader isn't reported as it's loader anyway), it should be registered by the generic class loader that it is associated with. 2010-05-10 04:45:49 +00:00
jfrijters f6717df18f Added warning to ikvmc when StructLayoutAttribute is ignored. 2010-05-07 05:53:33 +00:00