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

35 Коммитов

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