Class GraalJSEvaluator
java.lang.Object
com.oracle.truffle.js.parser.GraalJSEvaluator
-
Field Summary
Fields inherited from interface com.oracle.truffle.js.runtime.Evaluator
EVAL_AT_SOURCE_NAME_PREFIX, EVAL_SOURCE_NAME, FUNCTION_SOURCE_NAME, MODULE_EVAL_SUFFIX, MODULE_LINK_SUFFIX, TS_EVAL_SOURCE_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckFunctionSyntax(JSContext context, JSParserOptions parserOptions, String parameterList, String body, boolean generator, boolean async, String sourceName) envParseModule(JSRealm realm, com.oracle.truffle.api.source.Source source) LikeEvaluator.parseModule(JSContext, Source), but parses the source via TruffleLanguage.Env in order to make use of Truffle code caching.evalCompile(JSContext context, String sourceCode, String name) Parses a script string.Returns the NodeFactory used by this parser instance to create AST nodes.voidhostLoadImportedModule(JSRealm realm, ScriptOrModule referrer, Module.ModuleRequest moduleRequest, Object hostDefined, Object payload) HostLoadImportedModule takes arguments referrer (a Script Record, a Cyclic Module Record, or a Realm Record), specifier (a String), hostDefined (anything), and payload (a GraphLoadingState Record or a PromiseCapability Record) and returns unused.static Supplier<ScriptNode> internalParseForTiming(JSContext context, com.oracle.truffle.api.source.Source source) Parses source to intermediate AST and returns a closure for the translation to Truffle AST.loadRequestedModules(JSRealm realm, CyclicModuleRecord moduleRecord, Object hostDefined) moduleEvaluation(JSRealm realm, CyclicModuleRecord moduleRecord) voidmoduleLinking(JSRealm realm, CyclicModuleRecord moduleRecord) Integer[]parseDirectEval(JSContext context, com.oracle.truffle.api.nodes.Node lastNode, com.oracle.truffle.api.source.Source source, Object evalEnv) Evaluate direct eval.parseEval(JSContext context, com.oracle.truffle.api.nodes.Node lastNode, com.oracle.truffle.api.source.Source source, ScriptOrModule activeScriptOrModule) Evaluate indirect eval.parseExpression(JSContext context, String sourceString) parseFunction(JSContext context, String parameterList, String body, boolean generatorFunction, boolean asyncFunction, String sourceName, ScriptOrModule activeScriptOrModule) Evaluate Function(parameterList, body).parseInlineScript(JSContext context, com.oracle.truffle.api.source.Source source, com.oracle.truffle.api.frame.MaterializedFrame lexicalContextFrame, boolean isStrict, com.oracle.truffle.api.nodes.Node locationNode) Creates a script that will be evaluated in a specified lexical context.parseJSONModule(JSRealm realm, com.oracle.truffle.api.source.Source source) parseModule(JSContext context, com.oracle.truffle.api.source.Source source) Parses a module source.parseScript(JSContext context, com.oracle.truffle.api.source.Source source, SnapshotProvider snapshotProvider) parseScript(JSContext context, com.oracle.truffle.api.source.Source source, String prolog, String epilog, boolean isStrict, List<String> argumentNames) parseScript(JSContext context, com.oracle.truffle.api.source.Source source, ByteBuffer binary) parseScript(JSContext context, String sourceCode) parseToJSON(JSContext context, String code, String name, boolean includeLoc) parseWasmModuleSource(JSRealm realm, com.oracle.truffle.api.source.Source source) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.oracle.truffle.js.runtime.Evaluator
parseScript, parseScript
-
Constructor Details
-
GraalJSEvaluator
public GraalJSEvaluator()
-
-
Method Details
-
parseEval
public ScriptNode parseEval(JSContext context, com.oracle.truffle.api.nodes.Node lastNode, com.oracle.truffle.api.source.Source source, ScriptOrModule activeScriptOrModule) Evaluate indirect eval. -
parseFunction
public ScriptNode parseFunction(JSContext context, String parameterList, String body, boolean generatorFunction, boolean asyncFunction, String sourceName, ScriptOrModule activeScriptOrModule) Evaluate Function(parameterList, body).- Specified by:
parseFunctionin interfaceEvaluator
-
parseDirectEval
public ScriptNode parseDirectEval(JSContext context, com.oracle.truffle.api.nodes.Node lastNode, com.oracle.truffle.api.source.Source source, Object evalEnv) Evaluate direct eval.- Specified by:
parseDirectEvalin interfaceEvaluator- Parameters:
lastNode- the node invoking the eval ornull
-
evalCompile
Description copied from interface:EvaluatorParses a script string. Returns an executable script object.- Specified by:
evalCompilein interfaceEvaluator
-
parseScript
public ScriptNode parseScript(JSContext context, com.oracle.truffle.api.source.Source source, String prolog, String epilog, boolean isStrict, List<String> argumentNames) - Specified by:
parseScriptin interfaceEvaluator
-
parseScript
- Specified by:
parseScriptin interfaceEvaluator
-
parseDate
-
parseToJSON
-
getDefaultNodeFactory
Description copied from interface:EvaluatorReturns the NodeFactory used by this parser instance to create AST nodes.- Specified by:
getDefaultNodeFactoryin interfaceEvaluator
-
internalParseForTiming
public static Supplier<ScriptNode> internalParseForTiming(JSContext context, com.oracle.truffle.api.source.Source source) Parses source to intermediate AST and returns a closure for the translation to Truffle AST. -
parseModule
Description copied from interface:EvaluatorParses a module source.- Specified by:
parseModulein interfaceEvaluator
-
envParseModule
Description copied from interface:EvaluatorLikeEvaluator.parseModule(JSContext, Source), but parses the source via TruffleLanguage.Env in order to make use of Truffle code caching.- Specified by:
envParseModulein interfaceEvaluator
-
parseWasmModuleSource
public AbstractModuleRecord parseWasmModuleSource(JSRealm realm, com.oracle.truffle.api.source.Source source) - Specified by:
parseWasmModuleSourcein interfaceEvaluator
-
parseJSONModule
- Specified by:
parseJSONModulein interfaceEvaluator
-
loadRequestedModules
public JSPromiseObject loadRequestedModules(JSRealm realm, CyclicModuleRecord moduleRecord, Object hostDefined) - Specified by:
loadRequestedModulesin interfaceEvaluator
-
hostLoadImportedModule
public void hostLoadImportedModule(JSRealm realm, ScriptOrModule referrer, Module.ModuleRequest moduleRequest, Object hostDefined, Object payload) HostLoadImportedModule takes arguments referrer (a Script Record, a Cyclic Module Record, or a Realm Record), specifier (a String), hostDefined (anything), and payload (a GraphLoadingState Record or a PromiseCapability Record) and returns unused. The host environment must perform FinishLoadingImportedModule(referrer, specifier, payload, result), where result is either a normal completion containing the loaded Module Record or a throw completion, either synchronously or asynchronously.- Specified by:
hostLoadImportedModulein interfaceEvaluator
-
moduleLinking
- Specified by:
moduleLinkingin interfaceEvaluator
-
moduleEvaluation
- Specified by:
moduleEvaluationin interfaceEvaluator
-
parseScript
public ScriptNode parseScript(JSContext context, com.oracle.truffle.api.source.Source source, ByteBuffer binary) - Specified by:
parseScriptin interfaceJSParser
-
parseScript
public ScriptNode parseScript(JSContext context, com.oracle.truffle.api.source.Source source, SnapshotProvider snapshotProvider) - Specified by:
parseScriptin interfaceJSParser
-
parseInlineScript
public JavaScriptNode parseInlineScript(JSContext context, com.oracle.truffle.api.source.Source source, com.oracle.truffle.api.frame.MaterializedFrame lexicalContextFrame, boolean isStrict, com.oracle.truffle.api.nodes.Node locationNode) Description copied from interface:EvaluatorCreates a script that will be evaluated in a specified lexical context.- Specified by:
parseInlineScriptin interfaceEvaluator
-
parseExpression
- Specified by:
parseExpressionin interfaceEvaluator
-
checkFunctionSyntax
public void checkFunctionSyntax(JSContext context, JSParserOptions parserOptions, String parameterList, String body, boolean generator, boolean async, String sourceName) - Specified by:
checkFunctionSyntaxin interfaceEvaluator
-