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