src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/WithObject.java
Print this page
@@ -208,10 +208,23 @@
}
return super.findProperty(key, deep, start);
}
@Override
+ protected Object invokeNoSuchProperty(final String name, final int programPoint) {
+ FindProperty find = expression.findProperty(NO_SUCH_PROPERTY_NAME, true);
+ if (find != null) {
+ final Object func = find.getObjectValue();
+ if (func instanceof ScriptFunction) {
+ return ScriptRuntime.apply((ScriptFunction)func, expression, name);
+ }
+ }
+
+ return getProto().invokeNoSuchProperty(name, programPoint);
+ }
+
+ @Override
public void setSplitState(final int state) {
getNonWithParent().setSplitState(state);
}
@Override