@Override public Object setValue(Object value) { try { ForeignAccess.sendWrite(nodes.write, object, key, value); } catch (UnknownIdentifierException | UnsupportedMessageException | UnsupportedTypeException ex) { throw ex.raise(); } return null; } }
@Override public Object get(int index) { try { return ForeignAccess.sendRead(nodes.read, object, index); } catch (UnknownIdentifierException | UnsupportedMessageException ex) { throw ex.raise(); } }
@Override public Object getValue() { try { return ForeignAccess.sendRead(nodes.read, object, key); } catch (UnknownIdentifierException | UnsupportedMessageException ex) { throw ex.raise(); } }
@Override public Object getValue() { try { return ForeignAccess.sendRead(nodes.read, object, key); } catch (UnknownIdentifierException | UnsupportedMessageException ex) { throw ex.raise(); } }
private Object doExecute(TruffleObject compiledRegexObject, RegexObject regexObject, Object input, Object fromIndex) { try { return ForeignAccess.sendExecute(executeNode, compiledRegexObject, regexObject, input, fromIndex); } catch (InteropException ex) { throw ex.raise(); } } }
@Override public Object get(int index) { try { return ForeignAccess.sendRead(nodes.read, object, index); } catch (UnknownIdentifierException | UnsupportedMessageException ex) { throw ex.raise(); } }
@Override public Object set(int index, Object element) { Object prev = get(index); try { ForeignAccess.sendWrite(nodes.write, object, index, element); } catch (UnknownIdentifierException | UnsupportedTypeException | UnsupportedMessageException ex) { throw ex.raise(); } return prev; }
@Override public Entry<Object, Object> next() { Object key; try { key = ForeignAccess.sendRead(nodes.read, props, index++); } catch (UnknownIdentifierException | UnsupportedMessageException ex) { throw ex.raise(); } return new TruffleEntry(key); }
@Override public Object set(int index, Object element) { Object prev = get(index); try { ForeignAccess.sendWrite(nodes.write, object, index, element); } catch (UnknownIdentifierException | UnsupportedTypeException | UnsupportedMessageException ex) { throw ex.raise(); } return prev; }
@Override public Object put(Object key, Object value) { Object prev = get(key); try { ForeignAccess.sendWrite(nodes.write, object, key, value); } catch (UnknownIdentifierException | UnsupportedTypeException | UnsupportedMessageException ex) { throw ex.raise(); } return prev; }
@Override public Object setValue(Object value) { Object prev = getValue(); try { ForeignAccess.sendWrite(nodes.write, object, key, value); } catch (UnknownIdentifierException | UnsupportedMessageException | UnsupportedTypeException ex) { throw ex.raise(); } return prev; } }
@Override public Object put(Object key, Object value) { Object prev = get(key); try { ForeignAccess.sendWrite(nodes.write, object, key, value); } catch (UnknownIdentifierException | UnsupportedTypeException | UnsupportedMessageException ex) { throw ex.raise(); } return prev; }
@Override public Entry<Object, Object> next() { Object key; try { key = ForeignAccess.sendRead(nodes.read, props, index++); } catch (UnknownIdentifierException | UnsupportedMessageException ex) { throw ex.raise(); } return new TruffleEntry(nodes, object, key); }
@Override public final Object execute(VirtualFrame frame) { Object[] arguments = frame.getArguments(); PolyglotBindings bindings = (PolyglotBindings) arguments[0]; try { return execute(bindings.languageContext, bindings.bindings, arguments, 1); } catch (InteropException e) { CompilerDirectives.transferToInterpreter(); throw e.raise(); } }
@Override public TruffleObject compile(RegexSource source) throws RegexSyntaxException, UnsupportedRegexException { try { return (TruffleObject) ForeignAccess.sendExecute(executeNode, foreignCompiler, source.getPattern(), source.getFlags()); } catch (InteropException ex) { throw ex.raise(); } } }
@Override public final Object execute(VirtualFrame frame) { Object[] arguments = frame.getArguments(); PolyglotBindings bindings = (PolyglotBindings) arguments[0]; try { return execute(bindings.languageContext, bindings.bindings, arguments, 1); } catch (InteropException e) { CompilerDirectives.transferToInterpreter(); throw e.raise(); } }
public final Object execute(JavaMethodDesc method, Object obj, Object[] args, Object languageContext) { try { return executeImpl(method, obj, args, languageContext); } catch (ClassCastException | NullPointerException e) { // conversion failed by ToJavaNode throw UnsupportedTypeException.raise(args); } catch (InteropException e) { throw e.raise(); } catch (Throwable e) { throw JavaInteropReflect.rethrow(JavaInterop.wrapHostException(languageContext, e)); } }
public final Object execute(HostMethodDesc method, Object obj, Object[] args, PolyglotLanguageContext languageContext) { try { return executeImpl(method, obj, args, languageContext); } catch (ClassCastException | NullPointerException e) { // conversion failed by ToJavaNode throw UnsupportedTypeException.raise(e, args); } catch (InteropException e) { throw e.raise(); } catch (Throwable e) { throw HostInteropReflect.rethrow(PolyglotImpl.wrapHostException(languageContext, e)); } }
@Override public final Object execute(VirtualFrame frame) { Object[] arguments = frame.getArguments(); PolyglotLanguageBindings bindings = (PolyglotLanguageBindings) arguments[0]; TruffleObject[] scopes = bindings.scopes; int length = profileLength(scopes.length); try { return execute(scopes, length, arguments, 1); } catch (InteropException e) { CompilerDirectives.transferToInterpreter(); throw e.raise(); } }
@Override public final Object execute(VirtualFrame frame) { Object[] arguments = frame.getArguments(); PolyglotLanguageBindings bindings = (PolyglotLanguageBindings) arguments[0]; TruffleObject[] scopes = bindings.scopes; int length = profileLength(scopes.length); try { return execute(scopes, length, arguments, 1); } catch (InteropException e) { CompilerDirectives.transferToInterpreter(); throw e.raise(); } }