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

2007 Коммитов

Автор SHA1 Сообщение Дата
jfrijters dc0086237d Fixed default assembly resolver to throw/not throw the right exceptions. 2010-04-20 05:25:05 +00:00
jfrijters 50e6420147 Dynamic assemblies should also be visible in the universe. 2010-04-20 05:21:58 +00:00
jfrijters c1bee9537f Audited CriticalCtrlHandler and added .NET 4.0 security attributes. 2010-04-20 05:18:41 +00:00
jfrijters 1f7e86dc1a AssemblyBuilder.GetName() should return a name with a public key when were doing delay signing. 2010-04-20 05:16:59 +00:00
jfrijters 3f5845db15 Added support for delay signing (i.e. setting the public key without having the private key). 2010-04-19 13:55:18 +00:00
jfrijters c5ccc4f4fd A Version object that only has Major.Minor set will return -1 for Build and Revision. Handle that case by setting these parts to zero, instead of casting to 65535. 2010-04-19 13:52:59 +00:00
jfrijters 24d6872c77 Made __GetDataFromRVA more generic by taking an offset and a length (to be able to reuse the byte array) and this also removes the need for the field type to have a StructLayout. 2010-04-19 05:26:28 +00:00
jfrijters 9762f5302c Having PinvokeImpl set doesn't necessarily imply having an ImplMap record (for mixed mode assemblies). 2010-04-19 05:25:02 +00:00
jfrijters a1f07f74e6 Null check was in the wrong place. 2010-04-19 05:23:09 +00:00
jfrijters 68974001b1 Added support for custom modifiers in generic type instantions (in signatures). 2010-04-18 09:25:47 +00:00
jfrijters 1b42a3946a Workaround for broken compiler(s) that add terminating NUL to type names in custom attribute data. 2010-04-18 09:23:52 +00:00
jfrijters 9ef69e669c Fixed type name parsing bug (thanks to Jb Evain for reporting this). Generic type parameter type names can be without assembly name and then need to be resolved in context. 2010-04-18 09:21:54 +00:00
jfrijters 90efa2a447 Implemented ModuleRef ResolutionScope for TypeRef. 2010-04-18 09:05:26 +00:00
jfrijters 2ec4aae085 Don't try to return a MethodBody if it isn't in IL. 2010-04-18 09:02:54 +00:00
jfrijters 5de77bb9f7 Don't loop infinitely when the RVA lies outside of the file. 2010-04-18 08:59:18 +00:00
jfrijters 0f2ade7ce0 Version parts should be treated as unsigned. 2010-04-18 08:58:19 +00:00
jfrijters 1a771a9ccd Don't crash when a DllImportAttribute doesn't have an ImportScope (which can happen for C++ code). 2010-04-18 08:55:55 +00:00
jfrijters af8e10cfad Fixed stack height updating for jmp instruction. 2010-04-18 08:54:11 +00:00
jfrijters 6a1ca8dae9 Introduced Empty<T> to cache zero length arrays. 2010-04-18 08:39:20 +00:00
jfrijters a2dd178187 Added parameter validation to ikvmc's -version option (fix bug #2987144 ). 2010-04-14 14:43:21 +00:00
jfrijters 08f9a0706a Added null checks. 2010-04-13 12:51:26 +00:00
jfrijters 73c4ad4d2d Moved security sensitive bitmap copying to separate methods and added validation. Decorated methods with SecuritySafeCriticalAttribute (as required by .NET 4.0 security model). 2010-04-13 12:41:43 +00:00
jfrijters 642a5e1b2d Use FileDescriptor.sync() instead of duplicating FileStream flushing here. 2010-04-12 14:09:14 +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 49612b6d85 Prep for .NET 4.0 security model:
- unverifiable dynamic methods need to be emitted in a critical assembly
2010-04-12 07:07:52 +00:00
jfrijters 001c4eef76 When compiled for .NET 4.0, we use an assembly per class loader, so we need access stubs in dynamic mode as well. 2010-04-12 07:06:58 +00:00
jfrijters b3f4be7dea If class GC is enabled, don't intrinsify thread locals, because the CLR doesn't support ThreadStaticAttribute in RunAndCollect assemblies. 2010-04-12 06:44:29 +00:00
jfrijters 6e4ffb2002 Prep for .NET 4.0 security model:
- added more SecurityCritical attributes
- added SecuritySafeCritical/TreatAsSafe attributes to Direct-X-Buffer classes
2010-04-12 06:38:46 +00:00
jfrijters c8619421d1 Prep for .NET 4.0 security model:
- modified build to run peverify on IKVM.Runtime.dll
2010-04-12 06:37:18 +00:00
jfrijters 562b15ceb2 Prep for .NET 4.0 security model:
- serialization methods must be critical.
2010-04-12 04:17:39 +00:00
jfrijters 617dc0c7e0 Removed workaround that is no longer needed. 2010-04-09 04:50:25 +00:00
jfrijters 393bfcc810 Moved Posix file flushing to C# to be able to use delegate instead of reflection to invoke the Mono.Posix method. Also added DangerousAddRef/Release to prevent the handle from being closed while flushing. 2010-04-08 13:06:36 +00:00
jfrijters 5eebe0dc4f Cleaned up Windows/MacOSX detection and added compile time dependency on PlatformID.MacOSX (which was added in .NET 2.0 SP2).
Mono specific MacOSX detection code is unfortunately still necessary.
2010-04-08 12:37:39 +00:00
jfrijters b344bd8879 Removed old refemit code. 2010-04-02 04:03:42 +00:00
jfrijters 70555c315b Integrated OpenJDK 6 b18. 2010-04-02 03:54:06 +00:00
jfrijters 13ec0c138e - Assembly version number parts should be treated as unsigned shorts.
- Added support for encoding/decoding custom attributes on generic parameters (this encoding is missing from the June 2006 ECMA CLI spec).
2010-04-02 03:52:22 +00:00
jfrijters 3841cc0e3f Fixed Type.FullName. Nested types can also have a namespace (not in the C# sense, but in the CLR sense). 2010-04-02 03:50:49 +00:00
jfrijters ac3b45aae2 Partrial trust improvements:
- File.listRoots() now uses Environment.GetLogicalDrives() instead of Directory.GetLogicalDrives(). Both methods are semantically identical, but the former requires EnvironmentPermission(Unrestricted = true) and the latter SecurityPermission(UnmanagedCode = true). We also now swallow a SecurityException, should it occur.
- Getting the host name now falls back to "localhost" if we don't have permission to query the name (or if anything else causes GetHostName to fail).
2010-03-25 07:11:58 +00:00
jfrijters ceff3d0656 Fix for partial trust regression. 2010-03-25 07:08:58 +00:00
jfrijters 7d55464cd7 When running on .NET 3.5 or later, use TimeZoneInfo.Id to identify timezone, because that maps better to the Win32 names that the Java name mapping is based on. 2010-03-18 13:52:14 +00:00
jfrijters d64a970b7d If the current timezone is not one of the recognized names, we should return GMT+offset instead of null, because null maps to GMT. 2010-03-18 13:49:34 +00:00
jfrijters 73ce726ee9 IKVM.Reflection.Assembly doesn't have the IsDynamic property. 2010-03-18 13:43:54 +00:00
jfrijters 16ad3d2523 Replaced incorrect usages of Type.IsArray with ReflectUtil.IsVector(). 2010-02-26 13:31:39 +00:00
jfrijters 0a5c0d2e57 Don't allow unitialized class loader to be used as parent. 2010-02-26 13:30:44 +00:00
jfrijters 811a28e6f4 Workaround for Mono bug http://bugzilla.novell.com/show_bug.cgi?id=583669 2010-02-26 13:28:41 +00:00
jfrijters d4c8f62b7c Made property and event public/static flag handling compatible with .NET 2010-02-26 09:26:20 +00:00
jfrijters 05d9e5facb Removed unused method. 2010-02-26 09:23:21 +00:00
jfrijters e3275b3917 Added workaround for the fact that Mono doesn't set the HasThis flag on property signatures. 2010-02-25 10:46:29 +00:00
jfrijters 0d65f18b33 Check Sorted flags only for the tables we really require to be sorted (currently only GenericParam). 2010-02-25 10:37:56 +00:00
jfrijters 1b40af728d Throw exception if the member cannot be resolved. 2010-02-25 10:36:45 +00:00