C# Class Rhino.CodeGenerator

Generates bytecode for the Interpreter.
Generates bytecode for the Interpreter.
Inheritance: Icode
显示文件 Open project: hazzik/Rhino.Net Class Usage Examples

Public Methods

Method Description
Compile ( CompilerEnvirons compilerEnv, ScriptNode tree, string encodedSource, bool returnFunction ) : InterpreterData

Private Methods

Method Description
AddBackwardGoto ( int gotoOp, int jumpPC ) : void
AddExceptionHandler ( int icodeStart, int icodeEnd, int handlerStart, bool isFinally, int exceptionObjectLocal, int scopeLocal ) : void
AddGoto ( Node target, int gotoOp ) : void
AddGotoOp ( int gotoOp ) : void
AddIcode ( int icode ) : void
AddIndexOp ( int op, int index ) : void
AddIndexPrefix ( int index ) : void
AddInt ( int i ) : void
AddStringOp ( int op, string str ) : void
AddStringPrefix ( string str ) : void
AddToken ( int token ) : void
AddUint16 ( int value ) : void
AddUint8 ( int value ) : void
AddVarOp ( int op, int varIndex ) : void
AllocLocal ( ) : int
BadTree ( Node node ) : Exception
FixLabelGotos ( ) : void
GenerateCallFunAndThis ( Node left ) : void
GenerateFunctionICode ( ) : void
GenerateICodeFromTree ( Node tree ) : void
GenerateNestedFunctions ( ) : void
GenerateRegExpLiterals ( ) : void
GetDoubleIndex ( double num ) : int
GetLocalBlockRef ( Node node ) : int
GetTargetLabel ( Node target ) : int
IncreaseICodeCapacity ( int extraSize ) : byte[]
MarkTargetLabel ( Node target ) : void
ReleaseLocal ( int localSlot ) : void
ResolveForwardGoto ( int fromPC ) : void
ResolveGoto ( int fromPC, int jumpPC ) : void
StackChange ( int change ) : void
UpdateLineNumber ( Node node ) : void
VisitArrayComprehension ( Node node, Node initStmt, Node expr ) : void
VisitExpression ( Node node, int contextFlags ) : void
VisitIncDec ( Node node, Node child ) : void
VisitLiteral ( Node node, Node child ) : void
VisitStatement ( Node node, int initialStackDepth ) : void

Method Details

Compile() public method

public Compile ( CompilerEnvirons compilerEnv, ScriptNode tree, string encodedSource, bool returnFunction ) : InterpreterData
compilerEnv CompilerEnvirons
tree Rhino.Ast.ScriptNode
encodedSource string
returnFunction bool
return InterpreterData