src/jdk/nashorn/internal/runtime/FindProperty.java

Print this page

        

*** 170,176 **** --- 170,191 ---- */ public void setObjectValue(final Object value, final boolean strict) { property.setObjectValue(getSetterReceiver(), getOwner(), value, strict); } + /** + * Get the number of objects in the prototype chain between the {@code self} and the + * {@code owner} objects. + * @return the prototype chain length + */ + int getProtoChainLength() { + assert self != null; + int length = 0; + for (ScriptObject obj = self; obj != prototype; obj = obj.getProto()) { + assert !(obj instanceof WithObject); + ++length; + } + return length; + } + }