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

Summary description for ProcessAssignmentsToSpecialMembers.
Inheritance: Boo.Lang.Compiler.Steps.AbstractTransformerCompilerStep
Datei anzeigen Open project: boo/boo-lang

Public Methods

Method Description
LeaveBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
OnConstructor ( Constructor node ) : void
OnEnumDefinition ( Boo.Lang.Compiler.Ast.EnumDefinition node ) : void
OnInterfaceDefinition ( Boo.Lang.Compiler.Ast.InterfaceDefinition node ) : void
OnMethod ( Method node ) : void
Run ( ) : void

Protected Methods

Method Description
IsAssignmentToSpecialMember ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
IsReadOnlyMember ( Boo.Lang.Compiler.Ast.MemberReferenceExpression container ) : bool
IsSpecialMemberTarget ( Expression container ) : bool
IsTerminalReferenceNode ( Expression target ) : bool
PropagateChanges ( MethodInvocationExpression eval, List chain ) : void
WalkMemberChain ( Boo.Lang.Compiler.Ast.MemberReferenceExpression memberRef ) : List

Private Methods

Method Description
DeclareTempLocal ( IType localType ) : InternalLocal
ProcessAssignmentToSpecialMember ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void

Method Details

IsAssignmentToSpecialMember() protected method

protected IsAssignmentToSpecialMember ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : bool
node Boo.Lang.Compiler.Ast.BinaryExpression
return bool

IsReadOnlyMember() protected method

protected IsReadOnlyMember ( Boo.Lang.Compiler.Ast.MemberReferenceExpression container ) : bool
container Boo.Lang.Compiler.Ast.MemberReferenceExpression
return bool

IsSpecialMemberTarget() protected abstract method

protected abstract IsSpecialMemberTarget ( Expression container ) : bool
container Boo.Lang.Compiler.Ast.Expression
return bool

IsTerminalReferenceNode() protected method

protected IsTerminalReferenceNode ( Expression target ) : bool
target Boo.Lang.Compiler.Ast.Expression
return bool

LeaveBinaryExpression() public method

public LeaveBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
return void

OnConstructor() public method

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

OnEnumDefinition() public method

public OnEnumDefinition ( Boo.Lang.Compiler.Ast.EnumDefinition node ) : void
node Boo.Lang.Compiler.Ast.EnumDefinition
return void

OnInterfaceDefinition() public method

public OnInterfaceDefinition ( Boo.Lang.Compiler.Ast.InterfaceDefinition node ) : void
node Boo.Lang.Compiler.Ast.InterfaceDefinition
return void

OnMethod() public method

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

PropagateChanges() protected method

protected PropagateChanges ( MethodInvocationExpression eval, List chain ) : void
eval Boo.Lang.Compiler.Ast.MethodInvocationExpression
chain List
return void

Run() public method

public Run ( ) : void
return void

WalkMemberChain() protected method

protected WalkMemberChain ( Boo.Lang.Compiler.Ast.MemberReferenceExpression memberRef ) : List
memberRef Boo.Lang.Compiler.Ast.MemberReferenceExpression
return List