jfrijters
d8edcb3f95
It turns out that "multi dimensional" vectors have "multi dimensional" constructors.
2010-06-30 07:17:58 +00:00
jfrijters
a03acfcfb9
Several fixes for C++/CLI that tends to stick custom modifiers everywhere. Also, support void& in local variable signature.
2010-06-30 07:16:55 +00:00
jfrijters
0399c35f8c
Re-instroduced generic type instantation for "identity" instantations of TypeBuilder types. This is required to be able to distinguish the two types in this example:
...
class Foo<T>
{
void Frob() {
Console.WriteLine(typeof(Foo<>));
Console.WriteLine(typeof(Foo<T>));
}
}
2010-06-28 12:14:24 +00:00
jfrijters
bac98d4479
Use GetTypeTokenForMemberRef() instead of GetTypeToken(), where appropriate.
2010-06-28 10:18:07 +00:00
jfrijters
6a3cdd3851
Avoid adding duplicate MethodSpec rows.
2010-06-28 09:38:00 +00:00
jfrijters
a07e3ae942
Added separate memberref cache to avoid duplicates in the MemberRef table.
2010-06-28 09:37:08 +00:00
jfrijters
b1d4ce1016
Renamed StandAloneSigTable and ModuleRefTable Add methods to FindOrAddRecord for clarity and consistency with the other FindOrAddRecord methods.
2010-06-28 09:33:27 +00:00
jfrijters
21e2415c9b
Handle marshal blob peculiarities.
2010-06-28 08:25:19 +00:00
jfrijters
e2ff75f477
Implemented __GetDeclaredMethods() for ArrayType and MultiArrayType.
2010-06-28 07:41:51 +00:00
jfrijters
6e313c7ae3
Fixed metadata header to account for the actual ImageRuntimeVersion string length, instead of assuming it to be "v2.0.50727".
2010-06-28 06:43:44 +00:00
jfrijters
ee0e906e21
Fixed filter block handling to support having both regular handlers and a filter for the same try block.
2010-06-28 06:35:56 +00:00
jfrijters
b9d7ebd06e
Implemented workaround for incorrect exception table length in methods generated by VB compiler.
2010-06-28 06:33:17 +00:00
jfrijters
4522c47580
Added support for getting the filename of external resources.
2010-06-28 06:32:11 +00:00
jfrijters
68ddbc610b
Declarative security attributes can use non-public constructors (if the attributes are defined in the same assembly as where they're used.)
2010-06-28 06:30:41 +00:00
jfrijters
be79c54486
Made signature binding lazy for GenericMethodInstance.
2010-06-24 08:49:43 +00:00
jfrijters
8af6dc1228
It turns out that it is legal to use a generic method definition in a method body. This typically only makes sense inside the same method and is kind of strange, but for ldtoken it makes a little bit of sense.
2010-06-24 08:49:14 +00:00
jfrijters
f369472784
Fixed ImportTo to use canonical form, which for methods on generic type definitions is the Generic[Method|Field]Instance, instead of the builder. This fixes a duplicate MemberRef row issue when using both the MethodBuilder and the "expanded" form (TypeBuilder.GetMethod(...)).
2010-06-24 08:46:25 +00:00
jfrijters
6f6dc0c78b
Moved ImportMethodSpec to GenericMethodInstance and fixed it to make sure that methods on generic type definitions are referred to via MemberRef.
2010-06-24 08:44:33 +00:00
jfrijters
b618b42d00
Copy/paste bug in ReadTypeDefOrRefEncoded(). Note that this is a low impact bug, because ironically in most places where TypeDefOrRefEncoded is used a TypeSpec isn't legal, only in custom modifiers (where it isn't specified in the spec) is it allowed to use a TypeDefOrRefEncoded token that refers to a TypeSpec.
2010-06-24 07:28:56 +00:00
jfrijters
57c65c964f
DeclaringType should return null for global generic method instances.
2010-06-24 07:22:58 +00:00
jfrijters
2957ee702a
Removed workaround that is no longer necessary.
2010-06-18 07:21:09 +00:00
jfrijters
a9e46bbe59
Don't add assemblies to the name cache when we didn't explicitly resolve them by that name. This allows having an AssemblyBuilder and an Assembly with the same identity and that can be helpful for circular ref scenarios.
2010-06-18 07:00:12 +00:00
jfrijters
236e6bb12e
Since referenced assembly identities can change (if they're an AssemblyBuilder), we have to postpone creating an AssemblyRef record until save time.
...
Note that we also take into account the possibility of having multiple assemblies with the same identity and collapse those into a single record. This is to support circular ref scenarios where you load a previous version of an assembly while generating a newer version (with the same identity). A future patch will enable this.
2010-06-18 06:57:18 +00:00
jfrijters
fc0251533f
Don't cache referenced assembly on name, because the name can change (for an AssemblyBuilder).
2010-06-18 06:52:08 +00:00
jfrijters
326219b2f5
Type names must be unescaped.
2010-06-18 06:47:36 +00:00
jfrijters
d66aec2bdf
Updated copyright message.
2010-06-16 09:14:30 +00:00
jfrijters
674a4c44d9
Latest snapshot version.
2010-06-14 08:44:01 +00:00
jfrijters
f333fb65b4
Added native.cs to Visual Studio project.
2010-06-14 05:34:48 +00:00
jfrijters
a5edc53cbc
Removed LinkDemand on addShutdownHook. .NET 4.0 removed the LinkDemand from the AppDomain.ProcessExit event, so it probably is harmless.
2010-06-11 07:02:29 +00:00
jfrijters
0744cb0709
OpenJDK assemblies must be transparent on .NET 4.0.
2010-06-11 06:59:24 +00:00
jfrijters
d124af7183
Verify after build.
2010-06-11 06:58:52 +00:00
jfrijters
329e6e9d1b
Add APTCA for .NET 4.0 transparency.
2010-06-11 06:58:35 +00:00
jfrijters
4a5d60a726
- Moved security critical code to C# side.
...
- Cleaned up code.
- Introduced safe handles where possible.
2010-06-11 06:57:44 +00:00
jfrijters
c02be5c1f1
Don't assume IntPtr is 32 bit.
2010-06-11 04:58:45 +00:00
jfrijters
3bf943c905
Cleaned up interop structs.
2010-06-11 04:54:52 +00:00
jfrijters
f29a1f5f66
Removed unused pinvoke methods.
2010-06-11 04:49:38 +00:00
jfrijters
5cbed24df9
Fixed SafeHandle usage and added .NET 4.0 security attributes.
2010-06-11 04:46:21 +00:00
jfrijters
8246b924df
Added parameter validation and .NET 4.0 security attribute.
2010-06-11 04:14:35 +00:00
jfrijters
c50d0594d5
Build script to build ikvmdoc.exe (not included in the default build).
2010-06-10 09:02:38 +00:00
jfrijters
6b6758acde
Added jdk-tools target to build javac.exe, javah.exe and javap.exe. Not built by default.
2010-06-10 08:45:40 +00:00
jfrijters
cae5add927
Add feature to expand environment variables in system properties specified with -D ikvmc option.
2010-06-10 08:44:40 +00:00
jfrijters
2775430fcc
Include more parts of tools.jar in IKVM.OpenJDK.Tools.dll.
2010-06-10 08:43:30 +00:00
jfrijters
d5e40dadf8
We need to pre-intern the magic strings that VerifierTypeWrapper uses as type names, because TypeWrapper will intern them in its constructor. Thanks to Andrey Malakov for tracking this down.
2010-06-10 04:38:57 +00:00
jfrijters
248559fb69
Added "first-pass" build of IKVM.AWT.WinForms.dll and moved "native" AWT code from IKVM.Runtime.dll to IKVM.AWT.WinForms.dll.
2010-06-09 12:26:28 +00:00
jfrijters
0c2fcdf9c8
It turns out that peverify loads the assembly from the DEVPATH instead of loading the specified file, so we copy IKVM.Runtime.dll to bin and verify it there.
2010-06-09 06:13:19 +00:00
jfrijters
76f65a98fb
Individual types/methods have been annotated, so assembly can be transparent now.
2010-06-09 06:09:49 +00:00
jfrijters
657f7c49ce
JNIEnv.DescribeException() was broken (NPE instead of printing the exception).
2010-06-09 04:58:21 +00:00
jfrijters
23862ca0c5
Report FileFormatLimitationExceededException as a simple compiler error, not as a critical failure.
2010-06-09 04:55:52 +00:00
jfrijters
6a205a316d
Fix. When the user string heap overflows, throw an exception instead of silently creating corrupt image.
2010-06-09 04:50:02 +00:00
jfrijters
e8e6bf24d6
Disable automagic serialization when running on .NET 4.0 in partial trust.
2010-06-08 12:48:36 +00:00