/** * Returns the value of the argument at the given index. * * @param index The index of the argument value to return. * @return The value of argument at the given index. */ public ValueMirror getArgumentValue(final int index) { V8Array parameters = new V8Array(v8Object.getRuntime()); parameters.push(index); V8Object result = null; try { result = v8Object.executeObjectFunction(ARGUMENT_VALUE, parameters); if (!isValue(result)) { throw new IllegalStateException("Argument value is not a ValueMirror"); } return new ValueMirror(result); } finally { parameters.close(); if (result != null) { result.close(); } } }
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror stringValue = frame.getLocalValue(4); result = stringValue.isValue() && stringValue.isString(); result = (Boolean) result && stringValue.getValue().equals("foo"); stringValue.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror objectValue1 = frame.getLocalValue(2); ValueMirror objectValue2 = frame.getLocalValue(2); result = objectValue1.equals(objectValue2); result = (Boolean) result & objectValue2.equals(objectValue1); objectValue1.close(); objectValue2.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror booleanValue = frame.getLocalValue(1); result = booleanValue.isValue() && booleanValue.isBoolean(); result = (Boolean) result && booleanValue.getValue().equals(false); booleanValue.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror number = frame.getLocalValue(0); result = number.isValue() && number.isNumber(); result = (Boolean) result && number.getValue().equals(7); number.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror arrayValue = frame.getLocalValue(3); result = arrayValue.isValue() && arrayValue.isObject() && arrayValue.isArray(); result = (Boolean) result && (((ArrayMirror) arrayValue).length() == 3); arrayValue.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror objectValue = frame.getLocalValue(2); result = objectValue.isValue() && objectValue.isObject(); objectValue.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror nullValue = frame.getLocalValue(5); result = nullValue.isValue() && nullValue.isNull(); nullValue.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror functionValue = frame.getLocalValue(7); result = functionValue.isValue() && functionValue.isFunction(); functionValue.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror undefinedValue = frame.getLocalValue(6); result = undefinedValue.isValue() && undefinedValue.isUndefined(); undefinedValue.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); int argumentCount = frame.getArgumentCount(); ValueMirror arg1 = frame.getArgumentValue(0); ValueMirror arg2 = frame.getArgumentValue(1); ValueMirror arg3 = frame.getArgumentValue(2); result = argumentCount == 3; result = (Boolean) result && arg1.getValue().equals(1); result = (Boolean) result && arg2.getValue().equals(2); result = (Boolean) result && arg3.getValue().equals("yes"); arg1.close(); arg2.close(); arg3.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror objectValue1 = frame.getLocalValue(2); ValueMirror objectValue2 = frame.getLocalValue(2); result = objectValue1.hashCode() == objectValue2.hashCode(); objectValue1.close(); objectValue2.close(); frame.close(); } });
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); int argumentCount = frame.getLocalCount(); ValueMirror local1 = frame.getLocalValue(0); ValueMirror local2 = frame.getLocalValue(1); ValueMirror local3 = frame.getLocalValue(2); result = argumentCount == 3; result = (Boolean) result && local1.getValue().equals(7); result = (Boolean) result && local2.getValue().equals(8); V8Object z = (V8Object) local3.getValue(); result = (Boolean) result && (z.getInteger("foo") == 3); local1.close(); local2.close(); local3.close(); z.close(); frame.close(); } });
protected static ValueMirror createMirror(final V8Object mirror) { if (isNull(mirror)) { return new NullMirror(mirror); } else if (isUndefined(mirror)) { return new UndefinedMirror(mirror); } else if (isFunction(mirror)) { return new FunctionMirror(mirror); } else if (isArray(mirror)) { return new ArrayMirror(mirror); } else if (isObject(mirror)) { return new ObjectMirror(mirror); } else if (isString(mirror)) { return new StringMirror(mirror); } else if (isNumber(mirror)) { return new NumberMirror(mirror); } else if (isBoolean(mirror)) { return new BooleanMirror(mirror); } return new ValueMirror(mirror); }
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror objectValue1 = frame.getLocalValue(2); ValueMirror objectValue2 = frame.getLocalValue(1); result = objectValue1.equals(objectValue2); objectValue1.close(); objectValue2.close(); frame.close(); } });
/** * Returns the value of the argument at the given index. * * @param index The index of the argument value to return. * @return The value of argument at the given index. */ public ValueMirror getArgumentValue(final int index) { V8Array parameters = new V8Array(v8Object.getRuntime()); parameters.push(index); V8Object result = null; try { result = v8Object.executeObjectFunction(ARGUMENT_VALUE, parameters); if (!isValue(result)) { throw new IllegalStateException("Argument value is not a ValueMirror"); } return new ValueMirror(result); } finally { parameters.close(); if (result != null) { result.close(); } } }
@Override public void onBreak(final DebugEvent event, final ExecutionState state, final EventData eventData, final V8Object data) { Frame frame = state.getFrame(0); ValueMirror objectValue1 = frame.getLocalValue(2); result = objectValue1.equals(new Object()); objectValue1.close(); frame.close(); } });
protected static ValueMirror createMirror(final V8Object mirror) { if (isNull(mirror)) { return new NullMirror(mirror); } else if (isUndefined(mirror)) { return new UndefinedMirror(mirror); } else if (isFunction(mirror)) { return new FunctionMirror(mirror); } else if (isArray(mirror)) { return new ArrayMirror(mirror); } else if (isObject(mirror)) { return new ObjectMirror(mirror); } else if (isString(mirror)) { return new StringMirror(mirror); } else if (isNumber(mirror)) { return new NumberMirror(mirror); } else if (isBoolean(mirror)) { return new BooleanMirror(mirror); } return new ValueMirror(mirror); }
/** * Returns the value of the argument at the given index. * * @param index The index of the argument value to return. * @return The value of argument at the given index. */ public ValueMirror getArgumentValue(final int index) { V8Array parameters = new V8Array(v8Object.getRuntime()); parameters.push(index); V8Object result = null; try { result = v8Object.executeObjectFunction(ARGUMENT_VALUE, parameters); if (!isValue(result)) { throw new IllegalStateException("Argument value is not a ValueMirror"); } return new ValueMirror(result); } finally { parameters.release(); if (result != null) { result.release(); } } }