/// <summary> /// Walk the given TypedExpression, collecting type parameter resolution dictionaries relevant to /// the type parameter resolutions of the topmost expression. Returns the resolution dictionaries /// ordered from the innermost expression's resolutions to the outermost expression's resolutions. /// </summary> public static IEnumerable <TypeParameterResolutions> Apply(TypedExpression expression) { var walker = new GetTypeParameterResolutions(); walker.OnTypedExpression(expression); return(walker.SharedState.Resolutions); }
public static TypeParameterResolutions[] Apply(TypedExpression expression) { var walker = new GetTypeParameterResolutions(); walker.OnTypedExpression(expression); return(walker.SharedState.Resolutions.ToArray()); }
// Constructors /// <summary> /// Creates a type parameter resolution combination from the independent type parameter resolutions /// found in the given typed expression and its sub expressions. Only sub-expressions whose /// type parameter resolutions are relevant to the given expression's type parameter resolutions /// are considered. /// </summary> public TypeResolutionCombination(TypedExpression expression) : this(GetTypeParameterResolutions.Apply(expression)) { }