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

2257 Коммитов

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