rt/emul/mini/src/main/java/java/lang/Class.java
changeset 1702 228f26fc1159
parent 1688 e709c530c227
child 1717 f5200d90b730
     1.1 --- a/rt/emul/mini/src/main/java/java/lang/Class.java	Sat Sep 13 18:33:05 2014 +0200
     1.2 +++ b/rt/emul/mini/src/main/java/java/lang/Class.java	Tue Sep 23 21:52:27 2014 +0200
     1.3 @@ -1615,12 +1615,12 @@
     1.4          "var c = Array[sig];\n" +
     1.5          "if (!c) {\n" +
     1.6          "  c = vm.java_lang_Class(true);\n" +
     1.7 -        "  c.jvmName = sig;\n" +
     1.8 -        "  c.superclass = vm.java_lang_Object(false).$class;\n" +
     1.9 -        "  c.array = true;\n" +
    1.10 +        "  Object.defineProperty(c, 'jvmName', { 'configurable': true, 'writable': true, 'value': sig });\n" +
    1.11 +        "  Object.defineProperty(c, 'superclass', { 'configurable': true, 'writable': true, 'value' : vm.java_lang_Object(false).$class });\n" +
    1.12 +        "  Object.defineProperty(c, 'array', { 'configurable': true, 'writable': true, 'value': true });\n" +
    1.13          "  Array[sig] = c;\n" +
    1.14          "}\n" +
    1.15 -        "if (!c.fnc) c.fnc = fnc;\n" +
    1.16 +        "if (!c.fnc) Object.defineProperty(c, 'fnc', { 'configurable': true, 'writable': true, 'value' : fnc });\n" +
    1.17          "return c;"
    1.18      )
    1.19      private static native Class<?> defineArray(String sig, Object fnc);