@Override protected Object executeImpl(PolyglotLanguageContext context, Object receiver, Object[] args) { return ForeignAccess.sendIsExecutable(isExecutableNode, (TruffleObject) receiver); }
@Override protected Object executeImpl(Object receiver, Object[] args) { return ForeignAccess.sendIsExecutable(isExecutableNode, (TruffleObject) receiver); }
private boolean isExecutable(TruffleObject object) { return ForeignAccess.sendIsExecutable(isExecutable, object); }
private boolean isExecutable(TruffleObject object) { return ForeignAccess.sendIsExecutable(isExecutable, object); }
static boolean canExecute(MessageNodes nodes, TruffleObject object) { return ForeignAccess.sendIsExecutable(nodes.isExecutable, object); }
public Object access(RegexEngineBuilder receiver, Object[] args) { if (args.length > 2) { throw ArityException.raise(2, args.length); } RegexOptions options = RegexOptions.DEFAULT; if (args.length >= 1) { options = RegexOptions.parse(expectOptionsNode.execute(args[0])); } TruffleObject fallbackCompiler = null; if (args.length >= 2) { if (!(args[1] instanceof TruffleObject && ForeignAccess.sendIsExecutable(isExecutableNode, (TruffleObject) args[1]))) { throw UnsupportedTypeException.raise(args); } fallbackCompiler = (TruffleObject) args[1]; } return createRegexEngine(receiver.language, options, fallbackCompiler); }
@TruffleBoundary Object invoke(PolyglotLanguageContext context, ProxyObject object, String key, Object[] arguments) { if (object.hasMember(key)) { Object member = context.toGuestValue(object.getMember(key)); if (member instanceof TruffleObject && ForeignAccess.sendIsExecutable(isExecutable, (TruffleObject) member)) { try { return ForeignAccess.sendExecute(executeNode, ((TruffleObject) member), copyFromStart(arguments, 2)); } catch (InteropException e) { throw e.raise(); } } else { throw UnknownIdentifierException.raise(key); } } else { throw UnknownIdentifierException.raise(key); } } }
@TruffleBoundary Object invoke(PolyglotLanguageContext context, ProxyObject object, String key, Object[] arguments) { if (object.hasMember(key)) { Object member = context.toGuestValue(object.getMember(key)); if (member instanceof TruffleObject && ForeignAccess.sendIsExecutable(isExecutable, (TruffleObject) member)) { try { return ForeignAccess.sendExecute(executeNode, ((TruffleObject) member), copyFromStart(arguments, 2)); } catch (InteropException e) { throw e.raise(); } } else { throw UnknownIdentifierException.raise(key); } } else { throw UnknownIdentifierException.raise(key); } } }
boolean executable = condition.profile(sendIsExecutable(isExecutable, function)); try { if (executable) {
sendIsExecutableNode = insert(Message.IS_EXECUTABLE.createNode()); boolean isExecutable = ForeignAccess.sendIsExecutable(sendIsExecutableNode, fieldObject); if (isExecutable) { if (sendExecuteNode == null) {
sendIsExecutableNode = insert(Message.IS_EXECUTABLE.createNode()); boolean isExecutable = ForeignAccess.sendIsExecutable(sendIsExecutableNode, fieldObject); if (isExecutable) { if (sendExecuteNode == null) {
boolean executable = condition.profile(sendIsExecutable(isExecutable, function)); try { if (executable) {
if (readValue instanceof TruffleObject) { TruffleObject truffleReadValue = (TruffleObject) readValue; if (ForeignAccess.sendIsExecutable(isExecutableNode, truffleReadValue)) { return ForeignAccess.sendExecute(executeNode, truffleReadValue, arguments);
if (readValue instanceof TruffleObject) { TruffleObject truffleReadValue = (TruffleObject) readValue; if (ForeignAccess.sendIsExecutable(isExecutableNode, truffleReadValue)) { return ForeignAccess.sendExecute(executeNode, truffleReadValue, arguments);