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

273 Коммитов

Автор SHA1 Сообщение Дата
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
jfrijters f6477c70b6 Fixed CallerID method detection to work correctly for core library classes that aren't in IKVM.OpenJDK.Core.dll. 2009-01-17 11:05:10 +00:00
jfrijters ae4aaf150e Support CallerID in all core class library assemblies. 2009-01-05 06:29:18 +00:00
jfrijters 09c0ae966c Now that InternalsVisibleTo() has a side effect (in ikvmc, it potentially adds an InternalsVisibleToAttribute) swap around the tests, to only call InternalsVisibleTo() if the package names actually match. 2008-12-23 07:12:51 +00:00
jfrijters d2e52953a0 Made two access checks runtime-only, because for the static compiler they aren't necessary and they break InternalsVisibleToAttribute support. 2008-12-22 07:54:25 +00:00
jfrijters 344924593f Fixed regression introduced in previous change the __<clinit> handling: In dynamic mode the MethodInfo that we're calling can't be an unfinished method, because DynamicMethod's ILGenerator can't handle that. 2008-12-01 05:26:28 +00:00
jfrijters 9991b38140 Always emit an explicit method override if we've mangled the name/sig, because we can't predict whether it will be needed or not (without keeping track of the mangling in the base classes) and the cost is minimal since this doesn't happen all that often. 2008-12-01 05:23:51 +00:00
jfrijters 2e6feb0089 Miranda method should use mangled name (if the name is mangled). 2008-12-01 05:21:05 +00:00
jfrijters dc2c86da39 Fixed pointer detection to work for types with multiple indirection levels. 2008-11-17 06:15:16 +00:00
jfrijters faffcc628c Integrated IKVM.Reflection.Emit in ikvmc. 2008-11-14 08:42:07 +00:00
jfrijters 464553f841 Restructured handling of finalize() method a little, to prepare for IKVM.Reflection.Emit. 2008-11-14 08:37:22 +00:00
jfrijters 19f5c9cd08 finalize() and clone() should be final in cli.System.Object and cli.System.Exception. 2008-11-03 07:02:29 +00:00
jfrijters bd46f993fc Hide nested types generated for callerID support. 2008-11-03 06:48:05 +00:00
jfrijters 40113d0b5b Added support for detecting "access" bridge methods and not hide them. 2008-09-21 09:50:41 +00:00
jfrijters aaefc51c9b Removed last parts of old-style reflection. 2008-08-25 04:16:59 +00:00
jfrijters 99d296d322 - Removed "slow" reflection.
- Removed MethodWrapper.Invoke().
- Removed FieldWrapper.GetValue()/SetValue().
- Added ICustomInvoke for the few MethodWrappers that still require custom reflection invocation.
2008-08-21 06:53:48 +00:00
jfrijters 6bce58f1bc Changed JNI reflection to be based on Java reflection (where possible). 2008-08-21 06:40:22 +00:00
jfrijters 684cdf651e Generified all collections. 2008-08-15 12:01:06 +00:00
jfrijters e83a33bc99 Removed unused per-type class caching. 2008-08-15 06:27:12 +00:00
jfrijters 23a3550851 Eleminated some (CompilerClassLoader) downcasts by making the type of the DynamicTypeWrapper.classLoader field depend on whether we're compiling the runtime or ikvmc. 2008-08-14 07:52:27 +00:00
jfrijters a8d63a772c Replaced usage of BootstrapClassLoader with actual class loader in static compiler. 2008-08-14 05:42:43 +00:00
jfrijters 5617a219c6 Don't generated nested type when the outer type is in a different class loader (this can now happen with ikvmc's multi target support). 2008-08-14 05:40:40 +00:00
jfrijters 16a65985af Removed support for building with GNU Classpath class library. 2008-08-06 12:22:06 +00:00
jfrijters 93eaefc31a - Removed Mono workarounds that are no longer needed with Mono 2.0
- Fixed ikvmc build error introduced in previous patch.
2008-08-06 05:48:52 +00:00
jfrijters 379dd8bee3 - Added ghost array tagging to be able to report the instantiated class (instead of object[] which is allocated instead).
- Fixed ldc <class> where <class> is a ghost array.
- Fixed bug in instanceof <class> where <class> is a Serializable[].
2008-08-06 05:25:18 +00:00
jfrijters 96ed24e4ef Fix for bug #2006953. 2008-07-02 06:22:21 +00:00
jfrijters 020e428000 Fixed regression. Made TypeWrapper.IsGhostArray safe to call on Unloadable types. 2008-06-18 10:23:37 +00:00
jfrijters 8b7b320f15 Fixed bug introduced by CallerID support. 2008-06-13 07:52:55 +00:00
jfrijters b1b3f8b4f5 - Renamed CountingILGenerator to CodeEmitter.
- Renamed CountingLabel to CodeEmitterLabel.
2008-06-03 12:10:07 +00:00
jfrijters cbeeb20318 Marked all static classes as static. 2008-06-03 07:13:49 +00:00
jfrijters c5dcd8dc53 Refactored finish state/methods from JavaTypeImpl into FinishContext. 2008-06-03 06:52:30 +00:00
jfrijters f41a42949c - Renamed ClassFile.HasCallerID to distinguish it from MethodWrapper.HasCallerID.
- Added check to only recognize HasCallerID annotation in core library.
- Changed other locations that incorrectly used ClassFile.HasCallerID to use MethodWrapper.CallerID.
2008-06-02 06:20:29 +00:00
jfrijters 8c73f6947e Added optimization to omit callerid nested type inside core library. 2008-06-02 04:04:39 +00:00
jfrijters 5e4182edb5 - Implemented CallerID infrastructure.
- Marked various methods with HasCallerID annotation.
- Rewrote some methods to explicitly use CallerID.
2008-05-31 15:20:29 +00:00
jfrijters 018eaf5acb Restructured code to remove (mcs) compiler warnings. 2008-05-20 07:43:42 +00:00
jfrijters 9c2dfec3c5 Added workarounds for mcs compiler bug (related to the mutual dependency of the runtime and class library assemblies). 2008-05-20 07:36:50 +00:00
jfrijters 29f84a8850 - added more efficient float/double to/from int/long bits converters
- made Double.doubleToRawLongBits/longBitsToDouble and Float.floatToRawIntBits/intBitsToFloat intrinsics
- generalized the intrinsics support
2008-05-09 05:57:55 +00:00
jfrijters 7609085114 Forgot to cast result from GetClassFromTypeHandle to java.lang.Class. 2008-04-25 04:45:52 +00:00
jfrijters e28c60d9a4 Added hack to support instantiating fake enums for types loaded in ReflectionOnly (to support custom attribute annotations that have enum values in ikvmstub). 2008-04-22 06:50:22 +00:00
jfrijters cb06062f15 Take advantage of the fact that we now have a real type to refer to, instead of doing the class lookup by name. 2008-04-22 06:48:30 +00:00
jfrijters 2c35fdd246 Moved "fake" type handling to the proper place. 2008-04-22 06:24:55 +00:00
jfrijters 1d1b043269 Fixed name mangling bug. Dots in nested type names should be mangled, because they shouldn't affect the package name. 2008-04-21 08:19:20 +00:00
jfrijters 90caa038dd Added support for turning Java fields into .NET properties with an annotation. 2008-04-14 05:13:41 +00:00
jfrijters 33e105654f Restored the special case for interface .cctor methods to fix bug #1930303 2008-04-01 17:39:07 +00:00
jfrijters 2d8516956b Made __Fields nested class abstract (it was already sealed) and removed the constructor. 2008-04-01 17:36:04 +00:00
jfrijters c428023090 Restructured code to remove compiler warnings. 2008-03-14 09:12:50 +00:00
jfrijters 74c64c8454 Use custom modifiers to make sure constructor signature is unique (if necessary). 2008-03-04 07:28:00 +00:00
jfrijters 828a4de95d Replaced notion of DynamicOnly types with Fake types. Fake types are implemented as generic type instances and can have DynamicOnly methods. 2008-03-03 07:05:19 +00:00