diff options
author | jfrijters <jfrijters> | 2013-02-14 18:57:57 +0400 |
---|---|---|
committer | jfrijters <jfrijters> | 2013-02-14 18:57:57 +0400 |
commit | 3e52ea95bbac0fca458c9bf8f05ea969ecb5add4 (patch) | |
tree | a07649bec816c158fd287d024bd29b84f096ee54 | |
parent | f0999e17aac85f2acf85cd6c23673a6e9d0dc99b (diff) |
- Marked some field readonly.
- Fixed a memory model issue.
-rw-r--r-- | runtime/MemberWrapper.cs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/runtime/MemberWrapper.cs b/runtime/MemberWrapper.cs index 5717bf85..d5c5abcb 100644 --- a/runtime/MemberWrapper.cs +++ b/runtime/MemberWrapper.cs @@ -58,11 +58,11 @@ namespace IKVM.Internal abstract class MemberWrapper { private HandleWrapper handle; - private TypeWrapper declaringType; - private Modifiers modifiers; + private readonly TypeWrapper declaringType; + private readonly Modifiers modifiers; private MemberFlags flags; - private string name; - private string sig; + private readonly string name; + private readonly string sig; private sealed class HandleWrapper { @@ -1090,8 +1090,8 @@ namespace IKVM.Internal sealed class SimpleCallMethodWrapper : MethodWrapper { - private SimpleOpCode call; - private SimpleOpCode callvirt; + private readonly SimpleOpCode call; + private readonly SimpleOpCode callvirt; internal SimpleCallMethodWrapper(TypeWrapper declaringType, string name, string sig, MethodInfo method, TypeWrapper returnType, TypeWrapper[] parameterTypes, Modifiers modifiers, MemberFlags flags, SimpleOpCode call, SimpleOpCode callvirt) : base(declaringType, name, sig, method, returnType, parameterTypes, modifiers, flags) @@ -1491,7 +1491,7 @@ namespace IKVM.Internal #else if (jniAccessor == null) { - jniAccessor = IKVM.NativeCode.sun.reflect.ReflectionFactory.NewFieldAccessorJNI(this); + Interlocked.CompareExchange(ref jniAccessor, IKVM.NativeCode.sun.reflect.ReflectionFactory.NewFieldAccessorJNI(this), null); } return jniAccessor; #endif @@ -1913,8 +1913,8 @@ namespace IKVM.Internal sealed class CompiledAccessStubFieldWrapper : FieldWrapper { - private MethodInfo getter; - private MethodInfo setter; + private readonly MethodInfo getter; + private readonly MethodInfo setter; private static Modifiers GetModifiers(PropertyInfo property) { |