DispatchByDynamicBinder() private method

private DispatchByDynamicBinder ( SymbolTable symbols, Type expectedType ) : Expression
symbols XSpect.Yacq.Symbols.SymbolTable
expectedType System.Type
return System.Linq.Expressions.Expression
Esempio n. 1
0
 /// <summary>
 /// Default definition method of <see cref="SymbolTable.Missing"/>.
 /// </summary>
 /// <param name="e">The expression to be reduced.</param>
 /// <param name="s">The symbol table which this symbol (value) belongs.</param>
 /// <param name="t">The expected <see cref="Expression.Type"/> from the caller, or <c>null</c> if any type will be accepted.</param>
 /// <returns>The reduced expression.</returns>
 public static Expression DefaultMissing(DispatchExpression e, SymbolTable s, Type t)
 {
     return e._left is DynamicExpression || YacqBinder.IsInDynamicContext(s, e.Arguments.StartWith(e.Left))
         ? e.DispatchByDynamicBinder(s, t)
         : e.DispatchByTypeSystem(s, t);
 }
Esempio n. 2
0
 /// <summary>
 /// Default definition method of <see cref="SymbolTable.Missing"/>.
 /// </summary>
 /// <param name="e">The expression to be reduced.</param>
 /// <param name="s">The symbol table which this symbol (value) belongs.</param>
 /// <param name="t">The expected <see cref="Expression.Type"/> from the caller, or <c>null</c> if any type will be accepted.</param>
 /// <returns>The reduced expression.</returns>
 public static Expression DefaultMissing(DispatchExpression e, SymbolTable s, Type t)
 {
     return(e._left is DynamicExpression || YacqBinder.IsInDynamicContext(s, e.Arguments.StartWith(e.Left))
         ? e.DispatchByDynamicBinder(s, t)
         : e.DispatchByTypeSystem(s, t));
 }