- callFunction
ScriptAny callFunction(ScriptFunction func, ScriptAny thisObj, ScriptAny[] args)
Calls a script function. Can throw ScriptRuntimeException.
- evaluate
ScriptAny evaluate(string code)
This is the main entry point for evaluating a script program.
- forceSetGlobal
void forceSetGlobal(string name, T value, bool isConst)
Sets a global variable or constant without checking whether or not the variable or const was already
declared. This is used by host applications to define custom functions or objects.
- forceUnsetGlobal
void forceUnsetGlobal(string name)
Unsets a variable or constant in the global context. Used by host applications to remove
items that were loaded by the standard library load functions.
- initializeStdlib
void initializeStdlib()
Initializes the Mildew standard library, such as Object, Math, and console namespaces. This
is optional and is not called by the constructor. For a script to use these methods this
must be called first.
- visitArrayIndexNode
Variant visitArrayIndexNode(ArrayIndexNode ainode)
- visitArrayLiteralNode
Variant visitArrayLiteralNode(ArrayLiteralNode alnode)
return an array from an array literal node
- visitBinaryOpNode
Variant visitBinaryOpNode(BinaryOpNode bonode)
processes binary operations including assignment
- visitBlockStatementNode
Variant visitBlockStatementNode(BlockStatementNode bsnode)
handles {block} statement
- visitBreakStatementNode
Variant visitBreakStatementNode(BreakStatementNode bsnode)
- visitClassDeclarationStatementNode
Variant visitClassDeclarationStatementNode(ClassDeclarationStatementNode cdsnode)
- visitClassLiteralNode
Variant visitClassLiteralNode(ClassLiteralNode clnode)
- visitContinueStatementNode
Variant visitContinueStatementNode(ContinueStatementNode csnode)
handle continue statements
- visitDeleteStatementNode
Variant visitDeleteStatementNode(DeleteStatementNode dsnode)
- visitDoWhileStatementNode
Variant visitDoWhileStatementNode(DoWhileStatementNode dwsnode)
handles do-while statement
- visitExpressionStatementNode
Variant visitExpressionStatementNode(ExpressionStatementNode esnode)
handle expression statements
- visitForOfStatementNode
Variant visitForOfStatementNode(ForOfStatementNode fosnode)
handles for-of (and for-in) loops
- visitForStatementNode
Variant visitForStatementNode(ForStatementNode fsnode)
handles for(;;) statements
- visitFunctionCallNode
Variant visitFunctionCallNode(FunctionCallNode fcnode)
- visitFunctionDeclarationStatementNode
Variant visitFunctionDeclarationStatementNode(FunctionDeclarationStatementNode fdsnode)
handle function declarations
- visitFunctionLiteralNode
Variant visitFunctionLiteralNode(FunctionLiteralNode flnode)
handles function literals
- visitIfStatementNode
Variant visitIfStatementNode(IfStatementNode isnode)
- visitLiteralNode
Variant visitLiteralNode(LiteralNode lnode)
extract a VisitResult from a LiteralNode
- visitMemberAccessNode
Variant visitMemberAccessNode(MemberAccessNode manode)
- visitNewExpressionNode
Variant visitNewExpressionNode(NewExpressionNode nenode)
- visitObjectLiteralNode
Variant visitObjectLiteralNode(ObjectLiteralNode olnode)
generates object from object literal node
- visitPostfixOpNode
Variant visitPostfixOpNode(PostfixOpNode ponode)
handle constructs such as i++ and i--
- visitReturnStatementNode
Variant visitReturnStatementNode(ReturnStatementNode rsnode)
handles return statements
- visitSuperCallStatementNode
Variant visitSuperCallStatementNode(SuperCallStatementNode scsnode)
handle super constructor calls TODO use super as reference to base class with correct "this"
- visitSwitchStatementNode
Variant visitSwitchStatementNode(SwitchStatementNode ssnode)
handles switch case statements
- visitTerniaryOpNode
Variant visitTerniaryOpNode(TerniaryOpNode tonode)
- visitThrowStatementNode
Variant visitThrowStatementNode(ThrowStatementNode tsnode)
- visitTryCatchBlockStatementNode
Variant visitTryCatchBlockStatementNode(TryCatchBlockStatementNode tcbsnode)
handle try catch block statements
- visitUnaryOpNode
Variant visitUnaryOpNode(UnaryOpNode uonode)
returns a value from a unary operation
- visitVarAccessNode
Variant visitVarAccessNode(VarAccessNode vanode)
- visitVarDeclarationStatementNode
Variant visitVarDeclarationStatementNode(VarDeclarationStatementNode vdsnode)
handles var, let, and const declarations
- visitWhileStatementNode
Variant visitWhileStatementNode(WhileStatementNode wsnode)
This is the main interface for the host application to interact with scripts.