@SuppressWarnings("unchecked") @Override public V remove(Object key) { return (V) cache.remove.call(languageContext, guestObject, key); }
@SuppressWarnings("unchecked") @Override public Set<Entry<K, V>> entrySet() { return (Set<Entry<K, V>>) cache.entrySet.call(languageContext, guestObject, this); }
@SuppressWarnings("unchecked") @Override public V get(Object key) { return (V) cache.get.call(languageContext, guestObject, key); }
@SuppressWarnings("unchecked") @Override public T remove(int index) { return (T) cache.remove.call(languageContext, guestObject, index); }
@SuppressWarnings("unchecked") @Override public V get(Object key) { return (V) cache.get.call(languageContext, guestObject, key); }
@SuppressWarnings("unchecked") @Override public V put(K key, V value) { return (V) cache.put.call(languageContext, guestObject, key, value); }
@SuppressWarnings("unchecked") @Override public V put(K key, V value) { return (V) cache.put.call(languageContext, guestObject, key, value); }
@SuppressWarnings("unchecked") @Override public T get(int index) { return (T) cache.get.call(languageContext, guestObject, index); }
@SuppressWarnings("unchecked") @Override public Set<Entry<K, V>> entrySet() { return (Set<Entry<K, V>>) cache.entrySet.call(languageContext, guestObject, this, includeInternal); }
@Override protected Object compute() { CallTarget evalTarget = l.parserCache.get(source); if (evalTarget == null) { evalTarget = PolyglotRootNode.createEval(PolyglotEngine.this, l, source); l.parserCache.put(source, evalTarget); } return evalTarget.call(); } };
@SuppressWarnings("unchecked") private <T> T unwrapJava(Object value) { CallTarget unwrapTarget = cachedTargets.lookupAsJava(value.getClass()); return (T) unwrapTarget.call(value, Object.class); }
@Override public T set(int index, T element) { T prev = get(index); cache.set.call(languageContext, guestObject, index, element); return prev; }
@SuppressWarnings("unchecked") private <T> T asJavaObject(Class<T> type, Object value) { if (asJavaObjectTarget == null) { asJavaObjectTarget = cachedTargets.lookupAsJava(value == null ? void.class : value.getClass()); } return (T) asJavaObjectTarget.call(value, type); }
public static Object callProxy(Node callNode, CallTarget callTarget, Object[] arguments, boolean direct) { try { if (direct) { return ((OptimizedCallTarget) callTarget).callDirect(arguments); } else { return callTarget.call(arguments); } } finally { // this assertion is needed to keep the values from being cleared as non-live locals assert callNode != null & callTarget != null; } }
@Override public Object invoke(Object proxy, Method method, Object[] arguments) throws Throwable { CompilerAsserts.neverPartOfCompilation(); return invoke.call(languageContext, obj, method, arguments == null ? JavaInteropReflect.EMPTY : arguments); }
@Override public T set(int index, T element) { T prev = get(index); cache.set.call(languageContext, guestObject, index, element); return prev; }
@SuppressWarnings("try") private Object executeDirect(Object[] args) { Object value = value(); if (executeTarget == null) { executeTarget = cachedTargets.lookupExecute(value.getClass()); } return executeTarget.call(value, args); }
@Override public Object invoke(Object proxy, Method method, Object[] arguments) throws Throwable { CompilerAsserts.neverPartOfCompilation(); Object[] resolvedArguments = arguments == null ? HostInteropReflect.EMPTY : arguments; if (method.equals(functionMethod)) { return target.call(languageContext, functionObj, spreadVarArgsArray(resolvedArguments)); } else { return invokeDefault(this, proxy, method, resolvedArguments); } }
@Override public Object invoke(Object proxy, Method method, Object[] arguments) throws Throwable { CompilerAsserts.neverPartOfCompilation(); if (method.equals(functionMethod)) { return target.call(languageContext, functionObj, spreadVarArgsArray(arguments)); } else { return invokeDefault(proxy, method, arguments); } }
/** * Forces evaluation of this lazy regex result. Do not use this method on any fast paths, use * {@link com.oracle.truffle.regex.runtime.nodes.LazyCaptureGroupGetResultNode} instead! */ @TruffleBoundary public void debugForceEvaluation() { if (getFindStartCallTarget() == null) { getCaptureGroupCallTarget().call(createArgsCGNoFindStart()); } else { getCaptureGroupCallTarget().call(createArgsCG((int) getFindStartCallTarget().call(createArgsFindStart()))); } }