private void checkValid() { if (scope != null) { scope.verifyValidState(); } }
private void checkValid() { if (scope != null) { scope.verifyValidState(); } } }
private void checkValid() { if (scope != null) { scope.verifyValidState(); } } }
private void checkValid() { if (scope != null) { scope.verifyValidState(); } }
/** * Get a parent scope. * * @return the parent scope, or <code>null</code>. * @since 0.26 */ public DebugScope getParent() { verifyValidState(); if (parent == null && iterator.hasNext()) { parent = new DebugScope(iterator.next(), iterator, debugger, event, frame, root, language); } return parent; }
/** * Get a parent scope. * * @return the parent scope, or <code>null</code>. * @throws DebugException when guest language code throws an exception * @since 0.26 */ public DebugScope getParent() throws DebugException { verifyValidState(); try { if (parent == null && iterator.hasNext()) { parent = new DebugScope(iterator.next(), iterator, session, event, frame, root, language); } } catch (ThreadDeath td) { throw td; } catch (Throwable ex) { throw new DebugException(session, ex, language, null, true, null); } return parent; }
private ValuePropertiesCollection getVariables() { verifyValidState(); if (variables == null) { Object variablesObj = scope.getVariables(); variables = DebugValue.getProperties(variablesObj, debugger, getLanguage(), this); } return variables; }
private ValuePropertiesCollection getVariables() { verifyValidState(); try { if (variables == null) { Object variablesObj = scope.getVariables(); variables = DebugValue.getProperties(variablesObj, session, getLanguage(), this); } } catch (ThreadDeath td) { throw td; } catch (Throwable ex) { throw new DebugException(session, ex, language, null, true, null); } return variables; }
/** * Get arguments of this scope. If this scope is a {@link #isFunctionScope() function} scope, * function arguments are returned. * <p> * This method is not thread-safe and will throw an {@link IllegalStateException} if called on * another thread than it was created with. * * @return an iterable of arguments, or <code>null</code> when this scope does not have a * concept of arguments. * @since 0.26 */ public Iterable<DebugValue> getArguments() { verifyValidState(); Object argumentsObj = scope.getArguments(); Iterable<DebugValue> arguments = null; if (argumentsObj != null && argumentsObj instanceof TruffleObject) { TruffleObject argsTO = (TruffleObject) argumentsObj; arguments = DebugValue.getProperties(argumentsObj, debugger, getLanguage(), this); if (arguments == null && ObjectStructures.isArray(debugger.getMessageNodes(), argsTO)) { List<Object> array = ObjectStructures.asList(debugger.getMessageNodes(), argsTO); arguments = new ValueInteropList(debugger, getLanguage(), array); } } return arguments; }
verifyValidState(); Iterable<DebugValue> arguments = null; try {