C# Class Boo.Lang.Compiler.Steps.OptimizeIterationStatements

AST semantic evaluation.
Inheritance: Boo.Lang.Compiler.Steps.AbstractTransformerCompilerStep
Datei anzeigen Open project: boo/boo-lang

Public Methods

Method Description
Initialize ( CompilerContext context ) : void
LeaveForStatement ( Boo.Lang.Compiler.Ast.ForStatement node ) : void
OnBlockExpression ( BlockExpression node ) : void
OnConstructor ( Constructor node ) : void
OnDestructor ( Boo.Lang.Compiler.Ast.Destructor node ) : void
OnMethod ( Method node ) : void
OptimizeIterationStatements ( ) : System
Run ( ) : void

Private Methods

Method Description
CheckForItemInArrayLoop ( Boo.Lang.Compiler.Ast.ForStatement node ) : void

Optimize the for item in array construct

CheckForItemInRangeLoop ( Boo.Lang.Compiler.Ast.ForStatement node ) : void

Optimize the for item in range() construct

CreateRawArraySlicing ( ReferenceExpression arrayRef, Expression numRef, IType elementType ) : Boo.Lang.Compiler.Ast.SlicingExpression
CreateUpdateLabel ( Boo.Lang.Compiler.Ast.ForStatement node ) : Boo.Lang.Compiler.Ast.LabelStatement
DeclareTempLocal ( IType type ) : InternalLocal
FixContinueStatements ( Boo.Lang.Compiler.Ast.ForStatement node, Boo.Lang.Compiler.Ast.WhileStatement ws ) : void
IsRangeInvocation ( MethodInvocationExpression mi ) : bool
Map ( System method ) : IMethod
UnpackExpression ( Block block, Expression expression, Boo.Lang.Compiler.Ast.DeclarationCollection declarations ) : void

Unpacks an expression onto a list of declarations.

Method Details

Initialize() public method

public Initialize ( CompilerContext context ) : void
context CompilerContext
return void

LeaveForStatement() public method

public LeaveForStatement ( Boo.Lang.Compiler.Ast.ForStatement node ) : void
node Boo.Lang.Compiler.Ast.ForStatement
return void

OnBlockExpression() public method

public OnBlockExpression ( BlockExpression node ) : void
node Boo.Lang.Compiler.Ast.BlockExpression
return void

OnConstructor() public method

public OnConstructor ( Constructor node ) : void
node Boo.Lang.Compiler.Ast.Constructor
return void

OnDestructor() public method

public OnDestructor ( Boo.Lang.Compiler.Ast.Destructor node ) : void
node Boo.Lang.Compiler.Ast.Destructor
return void

OnMethod() public method

public OnMethod ( Method node ) : void
node Boo.Lang.Compiler.Ast.Method
return void

OptimizeIterationStatements() public method

public OptimizeIterationStatements ( ) : System
return System

Run() public method

public Run ( ) : void
return void