nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java
changeset 26649 1d7a917a35e2
parent 25865 d38d876f1654
child 28437 b9b1042592e6
equal deleted inserted replaced
26648:9a64e15eff37 26649:1d7a917a35e2
   129             if (desc.getOperand() != null) {
   129             if (desc.getOperand() != null) {
   130                 return getInvocation(EMPTY_PROP_GETTER, self, linkerServices, desc);
   130                 return getInvocation(EMPTY_PROP_GETTER, self, linkerServices, desc);
   131             }
   131             }
   132             return getInvocation(EMPTY_ELEM_GETTER, self, linkerServices, desc);
   132             return getInvocation(EMPTY_ELEM_GETTER, self, linkerServices, desc);
   133         case "setProp":
   133         case "setProp":
   134         case "setElem":
   134         case "setElem": {
       
   135             final boolean strict = NashornCallSiteDescriptor.isStrict(desc);
       
   136             if (strict) {
       
   137                 throw typeError("cant.set.property", getArgument(linkRequest), ScriptRuntime.safeToString(self));
       
   138             }
   135             if (desc.getOperand() != null) {
   139             if (desc.getOperand() != null) {
   136                 return getInvocation(EMPTY_PROP_SETTER, self, linkerServices, desc);
   140                 return getInvocation(EMPTY_PROP_SETTER, self, linkerServices, desc);
   137             }
   141             }
   138             return getInvocation(EMPTY_ELEM_SETTER, self, linkerServices, desc);
   142             return getInvocation(EMPTY_ELEM_SETTER, self, linkerServices, desc);
       
   143         }
   139         default:
   144         default:
   140             break;
   145             break;
   141         }
   146         }
   142         throw new AssertionError("unknown call type " + desc);
   147         throw new AssertionError("unknown call type " + desc);
   143     }
   148     }