C# Class Microsoft.Cci.Ast.LoopInvariant

A condition that must be true at the start of every iteration of a loop.
Inheritance: Invariant, ILoopInvariant
Datei anzeigen Open project: visualmutator/visualmutator

Private Properties

Property Type Description
LoopInvariant System.Collections.Generic

Public Methods

Method Description
Dispatch ( ICodeAndContractVisitor visitor ) : void

Calls visitor.Visit(ILoopInvariant).

Dispatch ( SourceVisitor visitor ) : void

Calls visitor.Visit(LoopInvariant).

LoopInvariant ( Expression condition, ISourceLocation sourceLocation ) : System.Collections.Generic

Allocates a condition that must be true at the start of every iteration of a loop.

MakeCopyFor ( BlockStatement containingBlock ) : LoopInvariant

Makes a copy of this invariant, changing the Condition.ContainingBlock to the given block.

SetContainingExpression ( Expression containingExpression ) : void

Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression. This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take care not to call any other methods or property/event accessors on the object until after this method has been called.

Private Methods

Method Description
LoopInvariant ( BlockStatement containingBlock, LoopInvariant template ) : System.Collections.Generic

A copy constructor that allocates an instance that is the same as the given template, except for its containing block.

Method Details

Dispatch() public method

Calls visitor.Visit(ILoopInvariant).
public Dispatch ( ICodeAndContractVisitor visitor ) : void
visitor ICodeAndContractVisitor
return void

Dispatch() public method

Calls visitor.Visit(LoopInvariant).
public Dispatch ( SourceVisitor visitor ) : void
visitor SourceVisitor
return void

LoopInvariant() public method

Allocates a condition that must be true at the start of every iteration of a loop.
public LoopInvariant ( Expression condition, ISourceLocation sourceLocation ) : System.Collections.Generic
condition Expression The condition that must be true at the start of every iteration of a loop.
sourceLocation ISourceLocation The source location corresponding to the newly allocated source item.
return System.Collections.Generic

MakeCopyFor() public method

Makes a copy of this invariant, changing the Condition.ContainingBlock to the given block.
public MakeCopyFor ( BlockStatement containingBlock ) : LoopInvariant
containingBlock BlockStatement
return LoopInvariant

SetContainingExpression() public method

Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression. This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take care not to call any other methods or property/event accessors on the object until after this method has been called.
public SetContainingExpression ( Expression containingExpression ) : void
containingExpression Expression
return void