JSInterpreter class

Constructors

JSInterpreter.new(String code, Program program, Context programContext)
JSInterpreter.fromCode(String code, Context programContext)

Properties

code String
getter/setter pair
contexts Map<Scope, Context>
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
program ↔ Program
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addToContext(Name node, dynamic value) → void
addToThisContext(Name node, dynamic value) → void
cloneForContext(Scope scope, Context ctx, bool inheritContexts) JSInterpreter
computeArguments(List<Node> args, {bool resolveNames = false}) List
defaultNode(Node node) → dynamic
enclosingScope(Node node) → Scope
evaluate({Node? node}) → dynamic
executeConditional(Expression testExp, Node consequent, Node? alternate) → dynamic
executeMethod(dynamic method, List<Expression> declaredArguments, {String? methodName, MethodExecutor? executor}) → dynamic
findProgramContext(Node node) Context
findScope(Name nameNode) → Scope
getCode(Node node) String
getContextForScope(Scope scope) Context
getExceptionValue(dynamic exception) → dynamic
getValue(Name node) → dynamic
getValueFromExpression(Expression exp) → dynamic
getValueFromNode(Node node) → dynamic
getValueFromString(String name) → dynamic
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
override
performOperation(dynamic left, dynamic right, String operator, int line, String code) → dynamic
toBoolean(dynamic val) bool
toNumber(dynamic val) num
toString() String
A string representation of this object.
inherited
visit(Node? node) → dynamic
Shorthand for node.visitBy(this).
inherited
visitArray(ArrayExpression node) → dynamic
visitArrowFunctionNode(ArrowFunctionNode node) → dynamic
visitAssignment(AssignmentExpression node) → dynamic
visitBinary(BinaryExpression node) → dynamic
visitBlock(BlockStatement node) → dynamic
visitBreak(BreakStatement node) → dynamic
visitCall(CallExpression node) → dynamic
visitCatchClause(CatchClause node) → dynamic
visitConditional(ConditionalExpression node) → dynamic
visitContinue(ContinueStatement node) → dynamic
visitDebugger(DebuggerStatement node) → dynamic
inherited
visitDoWhile(DoWhileStatement node) → dynamic
visitEmptyStatement(EmptyStatement node) → dynamic
inherited
visitExpressionStatement(ExpressionStatement node) → dynamic
inherited
visitFor(ForStatement node) → dynamic
visitForIn(ForInStatement node) → dynamic
visitFunctionDeclaration(FunctionDeclaration node) → dynamic
visitFunctionExpression(FunctionExpression node) → dynamic
visitFunctionNode(FunctionNode node, {bool? inheritContext}) → dynamic
visitIf(IfStatement node) → dynamic
visitIndex(IndexExpression node, {bool computeAsPattern = false}) → dynamic
visitLabeledStatement(LabeledStatement node) → dynamic
inherited
visitLiteral(LiteralExpression node) → dynamic
visitMember(MemberExpression node, {bool computeAsPattern = false}) → dynamic
visitName(Name node) → dynamic
visitNameExpression(NameExpression node) → dynamic
visitObject(ObjectExpression node) → dynamic
visitObjectPropertyExpression(Expression object, dynamic property, {bool computeAsPattern = false}) → dynamic
visitProgram(Program node) → dynamic
inherited
visitPrograms(Programs node) → dynamic
inherited
visitProperty(Property node) → dynamic
visitRegexp(RegexpExpression node) RegExp
visitReturn(ReturnStatement node) → dynamic
visitSequence(SequenceExpression node) → dynamic
inherited
visitSwitch(SwitchStatement node) → dynamic
inherited
visitSwitchCase(SwitchCase node) → dynamic
inherited
visitThis(ThisExpression node) → dynamic
visitThrow(ThrowStatement node) → dynamic
visitTry(TryStatement node) → dynamic
visitUnary(UnaryExpression node) → dynamic
visitUpdateExpression(UpdateExpression node) → dynamic
visitVariableDeclaration(VariableDeclaration node) → dynamic
inherited
visitVariableDeclarator(VariableDeclarator node) → dynamic
visitWhile(WhileStatement node) → dynamic
visitWith(WithStatement node) → dynamic
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

parseCode(String code) → Program
toJSString(Map map) String

Constants

parsingErrorAppendage → const String