C# Class XSpect.Yacq.Expressions.DispatchExpression

Represents an dispatch expression, an abstract layer to member references and method calls with SymbolTable.
Inheritance: YacqExpression
Afficher le fichier Open project: takeshik/yacq Class Usage Examples

Méthodes publiques

Méthode Description
DefaultMissing ( DispatchExpression e, SymbolTable s, Type t ) : Expression

Default definition method of SymbolTable.Missing.

GetMembers ( SymbolTable symbols ) : IEnumerable

Gets all members and extension methods in specified types.

GetMembers ( SymbolTable symbols, IEnumerable types ) : IEnumerable

Gets all members and extension methods in specified types.

ToString ( ) : String

Returns a String that represents this expression.

Méthodes protégées

Méthode Description
ReduceImpl ( SymbolTable symbols, Type expectedType ) : Expression

Reduces this node to a simpler expression with additional symbol tables.

Private Methods

Méthode Description
CreateCandidate ( MemberInfo member ) : Candidate
DispatchByDynamicBinder ( SymbolTable symbols, Type expectedType ) : Expression
DispatchByTypeSystem ( SymbolTable symbols, Type expectedType ) : Expression
DispatchExpression ( SymbolTable symbols, DispatchTypes dispatchType, Expression left, String name, IList typeArguments, IList arguments ) : System
DispatchFailback ( SymbolTable symbols ) : Expression
GetResultExpression ( SymbolTable symbols, Candidate c ) : Expression
GetTypes ( Expression expression ) : IEnumerable
GetTypes ( TypeCandidateExpression expression ) : IEnumerable
InferTypeArguments ( Candidate candidate, Type>.IDictionary typeArgumentMap, SymbolTable symbols ) : Candidate

Method Details

DefaultMissing() public static méthode

Default definition method of SymbolTable.Missing.
public static DefaultMissing ( DispatchExpression e, SymbolTable s, Type t ) : Expression
e DispatchExpression The expression to be reduced.
s XSpect.Yacq.Symbols.SymbolTable The symbol table which this symbol (value) belongs.
t System.Type The expected from the caller, or null if any type will be accepted.
Résultat System.Linq.Expressions.Expression

GetMembers() public static méthode

Gets all members and extension methods in specified types.
public static GetMembers ( SymbolTable symbols ) : IEnumerable
symbols XSpect.Yacq.Symbols.SymbolTable The symbol table for search extension methods.
Résultat IEnumerable

GetMembers() public static méthode

Gets all members and extension methods in specified types.
public static GetMembers ( SymbolTable symbols, IEnumerable types ) : IEnumerable
symbols XSpect.Yacq.Symbols.SymbolTable The symbol table for search extension methods.
types IEnumerable Types to get members.
Résultat IEnumerable

ReduceImpl() protected méthode

Reduces this node to a simpler expression with additional symbol tables.
protected ReduceImpl ( SymbolTable symbols, Type expectedType ) : Expression
symbols XSpect.Yacq.Symbols.SymbolTable The additional symbol table for reducing.
expectedType System.Type The type which is expected as the type of reduced expression.
Résultat System.Linq.Expressions.Expression

ToString() public méthode

Returns a String that represents this expression.
public ToString ( ) : String
Résultat String