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 } |