C# Class Lens.SyntaxTree.ControlFlow.ForeachNode

Inheritance: NodeBase
Mostrar archivo Open project: impworks/lens Class Usage Examples

Public Methods

Method Description
Equals ( object obj ) : bool
GetHashCode ( ) : int

Protected Methods

Method Description
Equals ( ForeachNode other ) : bool
expand ( Lens.Compiler.Context ctx, bool mustReturn ) : NodeBase
getChildren ( ) : IEnumerable
resolve ( Lens.Compiler.Context ctx, bool mustReturn ) : Type

Private Methods

Method Description
detectEnumerableType ( Lens.Compiler.Context ctx ) : void

Calculates the variable type and other required values for enumeration of an IEnumerable`1.

detectRangeType ( Lens.Compiler.Context ctx ) : void

Calculates the variable type of a numeric range iteration.

expandArray ( Lens.Compiler.Context ctx ) : NodeBase

Expands the foreach loop if it iterates over T[].

expandEnumerable ( Lens.Compiler.Context ctx, bool mustReturn ) : NodeBase

Expands the foreach loop if it iterates over an IEnumerable`1.

expandRange ( Lens.Compiler.Context ctx ) : NodeBase

Expands the foreach loop if it iterates over a numeric range.

getIndexAssignment ( NodeBase indexGetter ) : NodeBase

Gets the expression for saving the value at an index to a variable.

Method Details

Equals() protected method

protected Equals ( ForeachNode other ) : bool
other ForeachNode
return bool

Equals() public method

public Equals ( object obj ) : bool
obj object
return bool

GetHashCode() public method

public GetHashCode ( ) : int
return int

expand() protected method

protected expand ( Lens.Compiler.Context ctx, bool mustReturn ) : NodeBase
ctx Lens.Compiler.Context
mustReturn bool
return NodeBase

getChildren() protected method

protected getChildren ( ) : IEnumerable
return IEnumerable

resolve() protected method

protected resolve ( Lens.Compiler.Context ctx, bool mustReturn ) : Type
ctx Lens.Compiler.Context
mustReturn bool
return System.Type