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