jfrijters
c7ae133d38
- Fixed IsPackageAccessibleFrom to consider class loaders, instead of InternalsVisibleToAttribute
...
- Added automatic access to internal accessibility members across assemblies in multi target compilation (previously this was only done for -sharedclassloader scenarios)
- Cleaned up existing field access stubs (now known as "type 1") and added type 2 access stubs to make public fields that have a non-public field type accessible.
2009-11-13 15:08:20 +00:00
jfrijters
a0ee5b0468
Import types.
2009-11-09 07:47:22 +00:00
jfrijters
1d979c5789
Use IKVM.Reflection.Emit's new-style declarative security APIs.
2009-11-09 06:39:17 +00:00
jfrijters
8d9b02c251
Added comment to remind that some pseudo custom assembly attributes aren't supported.
2009-11-09 05:31:48 +00:00
jfrijters
71a50f5683
Added ikvmc option -nopeercrossreference and the ability to use -r with peer assemblies.
2009-11-04 05:18:37 +00:00
jfrijters
f6acb0a796
Added (optional) per-module initialization to custom assembly class loaders.
2009-11-03 07:15:37 +00:00
jfrijters
c623795f8d
Add -publicpackage:<pkg> option to ikvmc.
2009-10-28 11:25:20 +00:00
jfrijters
67a4a2d1b1
Fixed automagic serialization interop to work correctly in the face of a __WorkaroundBaseClass__ base type.
2009-10-23 06:29:54 +00:00
jfrijters
9ae8299974
In a non-sharedclassloader multi target scenario, peer assemblies should automatically reference eachother.
...
Fix for bug #2883889 .
2009-10-23 06:25:09 +00:00
jfrijters
b3d8c9ab49
Don't crash with NPE if LoadWithPartialName doesn't find the referenced assembly.
2009-10-23 06:08:31 +00:00
jfrijters
dc92060a5a
Use cached methods instead of looking them up again.
2009-10-23 06:06:48 +00:00
jfrijters
5166b04d4a
More ikvmc assembly/type refactoring.
2009-10-21 04:54:39 +00:00
jfrijters
5cdb8b43e4
Removed .NET 4.0 beta 1 workarounds and did some minor updates for .NET 4.0 beta 2.
2009-10-21 04:43:27 +00:00
jfrijters
f5b8ed006d
Fixed previous commit.
2009-10-19 15:38:49 +00:00
jfrijters
7ab2166ee0
Resolve reference assemblies early on, to avoid having to do it multiple times in a multi target scenario.
2009-10-19 05:39:23 +00:00
jfrijters
9089864b8c
More type funneling.
2009-10-16 07:06: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
a4ba87a35f
Moved GetAssemblyClassLoader() (and related stuff) from ClassLoaderWrapper to AssemblyClassLoader and renamed it to FromAssembly().
2009-09-07 04:46:01 +00:00
jfrijters
69d6408db6
Moved AssemblyClassLoader and BootstrapClassLoader into AssemblyClassLoader.cs.
2009-09-07 04:19:04 +00:00
jfrijters
8068af56fa
Moved DotNetTypeWrapper class into its own source file.
2009-08-31 06:16:04 +00:00
jfrijters
014283d425
Moved DynamicTypeWrapper class into its own source file.
2009-08-31 05:10:11 +00:00
jfrijters
b9ceecc098
Removed EmitHelper class and moved its methods into CodeEmitter.
2009-08-31 05:02:34 +00:00
jfrijters
35d71675e8
Small code cleanup. Changed a couple of abstract methods in TypeWrapper to virtual and provided a default implementation and removed the implementation from a number of subclasses.
2009-08-28 06:20:22 +00:00
jfrijters
3855d129ce
Removed unused attribute (Method.Type).
2009-08-06 06:46:54 +00:00
jfrijters
871aada6dc
Added support for overriding methods in shadow type.
2009-08-06 06:38:42 +00:00
jfrijters
665c85fb9a
Added methods defined in map.xml to methods dictionary, before adding the inherited methods that we want to hide, to avoid adding a method that we already explicitly defined (e.g. to override) in map.xml.
2009-08-06 06:21:37 +00:00
jfrijters
a22e68227a
We shouldn't generate an instancehelper_ method for map.xml methods that have the HideFromJavaAttribute.
2009-08-06 06:18:43 +00:00
jfrijters
8a9fc7420b
Implemented automatically enabling .NET serialization support for Java classes that are trivially serializable.
2009-07-30 13:14:14 +00:00
jfrijters
43fd0daf07
Implemented support for .NET serialization of Java enums.
...
(The CreateEnumEnum move in FakeTypes.cs is because java.lang.Enum now has a dependency on custom attribute annotations.)
2009-07-29 09:36:56 +00:00
jfrijters
d7b29bfca9
Fixed regression introduced with the switch to IKVM.Reflection.Emit. We cannot use the Type.Assembly property for TypeBuilders.
2009-07-27 16:46:15 +00:00
jfrijters
cdbbe4f1c7
- Turn pops in map.mxl into lazy pop to annihilate constants.
...
- Fixed "replace-method-call" to not emit line numbers from map.xml (which don't make sense in the context of another method and disrupt the lazy pop optimizations).
2009-07-14 09:31:20 +00:00
jfrijters
64e5615aaa
Moved responsibility for creating java.lang.Class instances for "fast literal" enable types into ClassLiteral<T>, this allows class literals to be really cheap, because non of the underlying reflection is needed, the class will cache the Type and lazily resolve it to its TypeWrapper.
2009-07-14 06:27:41 +00:00
jfrijters
3643bf7748
Skip empty lines in response file, instead of throwing an exception.
2009-06-25 09:21:12 +00:00
jfrijters
d8b31ed729
Added -baseaddress:<address> option to ikvmc.
2009-06-22 06:12:47 +00:00
jfrijters
99c7df5de9
Added "RuntimeCompatibilityAttribute(WrapNonExceptionThrows = true)" to generated assemblies.
2009-06-18 06:14:55 +00:00
jfrijters
f6a22f068f
Added ikvmc warnings for VerificationError and ClassFormatError.
2009-06-18 06:13:21 +00:00
jfrijters
b414784b5c
Added optimize="true".
2009-06-18 05:53:17 +00:00
jfrijters
3454a12909
Removed unnecessary property setting that causes compiler warning.
2009-05-26 10:18:40 +00:00
jfrijters
6a5ce00091
- When building for .NET 4.0, don't use DefineDynamicAssembly() overload that takes assembly permission sets, because .NET 4.0 ignores them anyway.
...
- Fixed BakedTypeCleanupHack to work for .NET 2.0 SP2.
- Changes to remove warnings when building on .NET 4.0
2009-05-26 05:00:38 +00:00
jfrijters
7d0d8be096
When building for .NET 4.0 we can derived ModuleBuilder from Module and AssemblyBuilder from Assembly.
2009-05-25 13:42:15 +00:00
jfrijters
a9751b487e
Define NET_4_0 when building for .NET 4.0.
2009-05-25 13:40:44 +00:00
jfrijters
3abc003581
Introduced virtual methods should have hidebysig and strict flags.
2009-05-25 05:10:14 +00:00
jfrijters
68c9172600
Preparing for .NET 4.0:
...
- Added SecurityRules(Level1) attribute to IKVM.Runtime.dll to (temporarily) opt out of new .NET 4.0 security model.
- Changed compiler/runtime to automatically add SecurityRules(Level1) attribute when running on .NET 4.0 beta 1 to work around bug in the handling of MethodImpls in beta 1.
2009-05-24 06:54:24 +00:00
jfrijters
597db09496
Added support for assembly declarative security pseudo custom attribute annotations.
2009-05-17 06:11:58 +00:00
jfrijters
d22c138c8a
- Changed name of workaround base class to make it easier to spot them.
...
- Added EditorBrowsable(Never) to prevent the workaround base class from showing up in intellisense.
2009-05-17 05:56:37 +00:00
jfrijters
307ae26b35
Added workaround for .NET C# compiler bug that prevents it from subclassing a Java class that implements a protected abstract method using a public method.
2009-05-12 04:04:52 +00:00
jfrijters
c1553b7f1a
Refactored method call replacement to allow it to be used by others than xml mapping stuff.
2009-05-12 04:00:01 +00:00
jfrijters
937d2e6568
Added support for inlining subroutines (jsr/ret) to allow the verifier and compiler to be simplified and to hopefully pave the way for future codegen optimizations.
2009-04-16 05:34:20 +00:00
jfrijters
90951dcfca
Added Castclass_impl opcode to cast remapped type instance to implementation type.
2009-03-16 05:40:41 +00:00
jfrijters
7ed63e8d01
Added (limited) support for defining instance fields on remapped types. The fields will only be available on the actual implementation types, not the types they shadow (accessing the field on a shadow instance is undefined, but for reflection we'll at least guarantee that an exception is thrown (current java.lang.IllegalArgumentException)).
2009-03-16 05:28:11 +00:00