jfrijters
4e05d745ad
Add support for serializing .NET exceptions. We don't serialize the actual object, but a placeholder instead, to avoid having to implement full .NET serialization interop.
2010-11-18 08:19:59 +00:00
jfrijters
60fdbaf04d
Special case MethodImplAttribute to allow it to be used as an annotation.
2010-10-21 10:58:14 +00:00
jfrijters
cec4f20c29
- Removed unnecessary methods from CodeEmitter.
...
- Removed "Lazy" prefixes in CodeEmitter.
2010-10-01 08:11:49 +00:00
jfrijters
3888406d95
Wrapped LocalBuilder in new CodeEmitterLocal class to allow CodeEmitter to encapsulate the ILGenerator fully.
2010-09-29 07:21:51 +00:00
jfrijters
f77b2d0291
Move construction of EmitIntrinsicContext to compiler.
2010-09-14 14:15:07 +00:00
jfrijters
3a5fc585a9
Added extra indirection thru MethodWrapper for intrinsic method call emitting to allow .NET delegate constructor optimization to use instrinsic infrastructure instead of requiring EmitNewobj to pass a MethodAnalyzer and opcode index.
2010-09-14 12:29:22 +00:00
jfrijters
2ed5c93a94
A nested type DotNetTypeWrapper is always nested inside another DotNetTypeWrapper, so we can use GetWrapperFromDotNetType() in DeclaringType. This also solves a bug when reflecting on the nested types in cli.System.Exception.
2010-08-03 12:42:24 +00:00
jfrijters
3fa99010ee
Made most static compiler warnings local to the target that is being compiled (in multi target mode), to allow warnings to be suppressed (or turned into an error) for a specific target.
2010-07-16 08:50:40 +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
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
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
f6717df18f
Added warning to ikvmc when StructLayoutAttribute is ignored.
2010-05-07 05:53:33 +00:00
jfrijters
96d9ab24db
Added support for AssemblyVersionAttribute and AssemblyCultureAttribute to ikvmc.
...
Added warnings for AssemblyDelaySignAttribute, AssemblyKeyFileAttribute and AssemblyKeyNameAttribute.
Throw NotImplementedException for AssemblyAlgorithmIdAttribute and AssemblyFlagsAttribute (that exception isn't reachable because these two attributes are not exposed as annotations.)
2010-05-07 05:48:22 +00:00
jfrijters
b790897da7
Avoid depending on IKVM.Reflection specific pseudo custom attribute support that will be removed in the future (TypeForwardedToAttribute and DefaultParameterValueAttribute).
2010-05-06 06:11:56 +00:00
jfrijters
47f8f07749
When class GC is enabled (on .NET 4.0), certain CLR features are not available and cause Ref.Emit to throw. Check for these features and throw a VerifyError instead of dying with an unexpected Ref.Emit exception.
...
Removed previous "handling" of DllImportAttribute (which was to simply ignore it).
2010-04-12 13:49:10 +00:00
jfrijters
16ad3d2523
Replaced incorrect usages of Type.IsArray with ReflectUtil.IsVector().
2010-02-26 13:31:39 +00:00
jfrijters
daf3ffcf28
Removed ReflectionOnly support from runtime. Now that ikvmstub no longer requires it, there's no good reason to allow Java code to see ReflectionOnly types.
2010-01-29 07:08:56 +00:00
jfrijters
b7a691f5de
- Moved ClassLoaderWrapper.IsVector() and TypeWrapper.IsReflectionOnly() to ReflectUtil.
...
- Fixed IsReflectionOnly() to handle more complicated constructed types.
- Optimized IsDynamic() to use a delegate to call get_IsDynamic when running on .NET 4.0
- Optimized IsVector() to use __IsVector when IKVM.Reflection is used.
2010-01-29 06:58:10 +00:00
jfrijters
d1e163408f
Removed IKVM_REF_EMIT, as STATIC_COMPILER or STUB_GENERATOR now always implies IKVM.Reflection.
2010-01-28 09:18:33 +00:00
jfrijters
1d05c1ed7b
Last set of changes preparing for new stub generator. A massive amount of conditional compilation changes, to skip irrelevant code when building ikvmstub.
2010-01-28 07:14:37 +00:00
jfrijters
0cca1b39d8
Expose custom attribute annotation properties for use by new stub generator.
2010-01-28 06:52:51 +00:00
jfrijters
a68a03ef92
The "base final" methods in remapped types should never be abstract.
2010-01-27 08:58:31 +00:00
jfrijters
dbd6df02ae
Integrated new IKVM.Reflection implementation.
2010-01-25 07:52:27 +00:00
jfrijters
848c66b341
More changes to make future merge of IKVM.Reflection easier:
...
- added #if conditionals to remove runtime only methods from compiler
- added two missing JVM.Import()s.
2009-12-10 08:43:45 +00:00
jfrijters
73112679ae
- Moved enum helper methods into new EnumHelper class.
...
- Changed .NET EnumEnum field to call ByteCodeHelper method, instead of emitting code in place.
2009-11-09 08:52:17 +00:00
jfrijters
bb7aa6ebb3
- Removed unused method.
...
- Marked some runtime only code with #if !STATIC_COMPILER.
2009-11-09 07:48:12 +00:00
jfrijters
1d979c5789
Use IKVM.Reflection.Emit's new-style declarative security APIs.
2009-11-09 06:39:17 +00:00
jfrijters
f293dcb61d
Changed CompiledTypeWrapper.Interfaces to avoid using the class loader to resolve the interface names. Moved common code to get interface type wrappers into GetImplementedInterfacesAsTypeWrappers() helper method.
2009-11-04 06:06:22 +00:00
jfrijters
1b0bfa6703
Use Type.IsVisible that is available since .NET 2.0, instead our own version.
2009-10-19 05:29: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
f1b8d9042a
Expose more custom attributes from mscorlib.
2009-10-02 03:56:10 +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