| 21 | } |
| 22 | |
| 23 | @Override |
| 24 | public Object get(ExecutionContext context, String name) { |
| 25 | // 10.6 [[Get]] |
| 26 | Object d = this.map.getOwnProperty(context, name); |
| 27 | if (d == Types.UNDEFINED) { |
| 28 | Object v = super.get(context, name); |
| 29 | if (name.equals("caller") && (v instanceof JSFunction) && ((JSFunction) v).isStrict()) { |
| 30 | throw new ThrowException(context, context.createTypeError("may not reference 'caller'")); |
| 31 | } |
| 32 | return v; |
| 33 | } |
| 34 | return this.map.get(context, name); |
| 35 | } |
| 36 | |
| 37 | @Override |
| 38 | public Object getOwnProperty(ExecutionContext context, String name, boolean dupe) { |