LanguageInfo getLanguage() { if (root != null) { return root.getLanguageInfo(); } else { return language; } }
@Override boolean isInstrumentableRoot(RootNode node) { LanguageInfo langInfo = node.getLanguageInfo(); if (langInfo == null) { return false; } if (langInfo != languageInfo) { return false; } return true; }
LanguageInfo getLanguage() { if (root != null) { return root.getLanguageInfo(); } else { return language; } }
@Override boolean isInstrumentableRoot(RootNode node) { LanguageInfo langInfo = node.getLanguageInfo(); if (langInfo == null) { return false; } if (langInfo != languageInfo) { return false; } return true; }
LanguageInfo getLanguage() { LanguageInfo language; RootNode root = findCurrentRoot(); if (root != null) { language = root.getLanguageInfo(); } else { language = null; } return language; }
private static TruffleLanguage.Env getLangEnv(Node node) { LanguageInfo languageInfo = node.getRootNode().getLanguageInfo(); if (languageInfo == null) { throw new IllegalArgumentException("No language available for given node."); } return AccessorInstrumentHandler.engineAccess().getEnvForInstrument(languageInfo); }
Set<Class<?>> getProvidedTags(Node root) { return getProvidedTags(root.getRootNode().getLanguageInfo()); }
private static TruffleLanguage.Env getLangEnv(Node node) { LanguageInfo languageInfo = node.getRootNode().getLanguageInfo(); if (languageInfo == null) { throw new IllegalArgumentException("No language available for given node."); } return AccessorInstrumentHandler.engineAccess().getEnvForInstrument(languageInfo); }
/** * Returns public information about the language of this frame. * * @return the language info, or <code>null</code> when no language is associated with this * frame. * @since 1.0 */ public LanguageInfo getLanguage() { verifyValidState(true); RootNode root = findCurrentRoot(); if (root == null) { return null; } return root.getLanguageInfo(); }
private boolean checkSameLanguages(final Node newChild) { if (newChild instanceof ExecutableNode && !(newChild instanceof RootNode)) { RootNode root = getRootNode(); if (root == null) { throw new IllegalStateException("Cannot adopt ExecutableNode " + newChild + " as a child of node without a root."); } LanguageInfo pl = root.getLanguageInfo(); LanguageInfo cl = ((ExecutableNode) newChild).getLanguageInfo(); if (cl != pl) { throw new IllegalArgumentException("Can not adopt ExecutableNode under a different language." + " Parent " + this + " is of " + langId(pl) + ", child " + newChild + " is of " + langId(cl)); } } return true; }
private boolean checkSameLanguages(final Node newChild) { if (newChild instanceof ExecutableNode && !(newChild instanceof RootNode)) { RootNode root = getRootNode(); if (root == null) { throw new IllegalStateException("Cannot adopt ExecutableNode " + newChild + " as a child of node without a root."); } LanguageInfo pl = root.getLanguageInfo(); LanguageInfo cl = ((ExecutableNode) newChild).getLanguageInfo(); if (cl != pl) { throw new IllegalArgumentException("Can not adopt ExecutableNode under a different language." + " Parent " + this + " is of " + langId(pl) + ", child " + newChild + " is of " + langId(cl)); } } return true; }
DebugValue wrapHeapValue(Object result) { LanguageInfo language; RootNode root = findCurrentRoot(); if (root != null) { language = root.getLanguageInfo(); } else { language = null; } return new HeapValue(event.getSession(), language, null, result); }
/** * A description of the trace element. If the language does not provide such a description then * <code>null</code> is returned. * * @since 1.0 */ public String getName() { RootNode root = findCurrentRoot(); if (root == null) { return null; } try { return root.getName(); } catch (ThreadDeath td) { throw td; } catch (Throwable ex) { throw new DebugException(session, ex, root.getLanguageInfo(), null, true, null); } }
private static InstrumentationHandler getHandler(RootNode rootNode) { LanguageInfo info = rootNode.getLanguageInfo(); if (info == null) { return null; } Object languageShared = nodesAccess().getEngineObject(info); if (languageShared == null) { return null; } return (InstrumentationHandler) engineAccess().getInstrumentationHandler(languageShared); }
DebugValue wrapHeapValue(Object result) { LanguageInfo language; RootNode root = findCurrentRoot(); if (root != null) { language = root.getLanguageInfo(); } else { language = null; } return new HeapValue(event.getSession().getDebugger(), language, null, result); }
private static InstrumentationHandler getHandler(RootNode rootNode) { LanguageInfo info = rootNode.getLanguageInfo(); if (info == null) { return null; } Object languageShared = nodesAccess().getEngineObject(info); if (languageShared == null) { return null; } return (InstrumentationHandler) engineAccess().getInstrumentationHandler(languageShared); }
protected CallTarget parse(Source code, Node context, String... argumentNames) { RootNode rootNode = context.getRootNode(); return languageSupport().parse(engineSupport().getEnvForInstrument(rootNode.getLanguageInfo()), code, context, argumentNames); }
protected CallTarget parse(Source code, Node context, String... argumentNames) { RootNode rootNode = context.getRootNode(); return languageSupport().parse(engineSupport().getEnvForInstrument(rootNode.getLanguageInfo()), code, context, argumentNames); }
/** * Test if language context of the source of the event is initialized. * * @since 0.26 */ public boolean isLanguageContextInitialized() { CompilerAsserts.neverPartOfCompilation(); Node node = getInstrumentedNode(); if (node == null) { return true; } RootNode root = node.getRootNode(); if (root == null) { return true; } LanguageInfo languageInfo = root.getLanguageInfo(); Env env = AccessorInstrumentHandler.engineAccess().getEnvForInstrument(languageInfo); return AccessorInstrumentHandler.langAccess().isContextInitialized(env); }
/** * Test if language context of the source of the event is initialized. * * @since 0.26 */ public boolean isLanguageContextInitialized() { CompilerAsserts.neverPartOfCompilation(); Node node = getInstrumentedNode(); if (node == null) { return true; } RootNode root = node.getRootNode(); if (root == null) { return true; } LanguageInfo languageInfo = root.getLanguageInfo(); Env env = AccessorInstrumentHandler.engineAccess().getEnvForInstrument(languageInfo); return AccessorInstrumentHandler.langAccess().isContextInitialized(env); }