Esempio n. 1
0
 internal static EdmFunction ResolveFunctionOverloads(
     IList <EdmFunction> functionsMetadata,
     IList <TypeUsage> argTypes,
     bool isGroupAggregateFunction,
     out bool isAmbiguous)
 {
     return(FunctionOverloadResolver.ResolveFunctionOverloads <EdmFunction, FunctionParameter>(functionsMetadata, argTypes, (Func <EdmFunction, IList <FunctionParameter> >)(edmFunction => (IList <FunctionParameter>)edmFunction.Parameters), (Func <FunctionParameter, TypeUsage>)(functionParameter => functionParameter.TypeUsage), (Func <FunctionParameter, ParameterMode>)(functionParameter => functionParameter.Mode), (Func <TypeUsage, IEnumerable <TypeUsage> >)(argType => TypeSemantics.FlattenType(argType)), (Func <TypeUsage, TypeUsage, IEnumerable <TypeUsage> >)((paramType, argType) => TypeSemantics.FlattenType(paramType)), (Func <TypeUsage, TypeUsage, bool>)((fromType, toType) => TypeSemantics.IsPromotableTo(fromType, toType)), (Func <TypeUsage, TypeUsage, bool>)((fromType, toType) => TypeSemantics.IsStructurallyEqual(fromType, toType)), isGroupAggregateFunction, out isAmbiguous));
 }
Esempio n. 2
0
 internal static EdmFunction ResolveFunctionOverloads(
     IList <EdmFunction> functionsMetadata,
     IList <TypeUsage> argTypes,
     bool isGroupAggregateFunction,
     out bool isAmbiguous)
 {
     return(FunctionOverloadResolver.ResolveFunctionOverloads(functionsMetadata, argTypes, new Func <TypeUsage, IEnumerable <TypeUsage> >(SemanticResolver.UntypedNullAwareFlattenArgumentType), new Func <TypeUsage, TypeUsage, IEnumerable <TypeUsage> >(SemanticResolver.UntypedNullAwareFlattenParameterType), new Func <TypeUsage, TypeUsage, bool>(SemanticResolver.UntypedNullAwareIsPromotableTo), new Func <TypeUsage, TypeUsage, bool>(SemanticResolver.UntypedNullAwareIsStructurallyEqual), isGroupAggregateFunction, out isAmbiguous));
 }
Esempio n. 3
0
 internal static EdmFunction ResolveFunctionOverloads(
     IList <EdmFunction> functionsMetadata,
     IList <TypeUsage> argTypes,
     Func <TypeUsage, IEnumerable <TypeUsage> > flattenArgumentType,
     Func <TypeUsage, TypeUsage, IEnumerable <TypeUsage> > flattenParameterType,
     Func <TypeUsage, TypeUsage, bool> isPromotableTo,
     Func <TypeUsage, TypeUsage, bool> isStructurallyEqual,
     bool isGroupAggregateFunction,
     out bool isAmbiguous)
 {
     return(FunctionOverloadResolver.ResolveFunctionOverloads <EdmFunction, FunctionParameter>(functionsMetadata, argTypes, (Func <EdmFunction, IList <FunctionParameter> >)(edmFunction => (IList <FunctionParameter>)edmFunction.Parameters), (Func <FunctionParameter, TypeUsage>)(functionParameter => functionParameter.TypeUsage), (Func <FunctionParameter, ParameterMode>)(functionParameter => functionParameter.Mode), flattenArgumentType, flattenParameterType, isPromotableTo, isStructurallyEqual, isGroupAggregateFunction, out isAmbiguous));
 }
Esempio n. 4
0
 internal static TFunctionMetadata ResolveFunctionOverloads <TFunctionMetadata, TFunctionParameterMetadata>(
     IList <TFunctionMetadata> functionsMetadata,
     IList <TypeUsage> argTypes,
     Func <TFunctionMetadata, IList <TFunctionParameterMetadata> > getSignatureParams,
     Func <TFunctionParameterMetadata, TypeUsage> getParameterTypeUsage,
     Func <TFunctionParameterMetadata, ParameterMode> getParameterMode,
     bool isGroupAggregateFunction,
     out bool isAmbiguous)
     where TFunctionMetadata : class
 {
     return(FunctionOverloadResolver.ResolveFunctionOverloads <TFunctionMetadata, TFunctionParameterMetadata>(functionsMetadata, argTypes, getSignatureParams, getParameterTypeUsage, getParameterMode, new Func <TypeUsage, IEnumerable <TypeUsage> >(SemanticResolver.UntypedNullAwareFlattenArgumentType), new Func <TypeUsage, TypeUsage, IEnumerable <TypeUsage> >(SemanticResolver.UntypedNullAwareFlattenParameterType), new Func <TypeUsage, TypeUsage, bool>(SemanticResolver.UntypedNullAwareIsPromotableTo), new Func <TypeUsage, TypeUsage, bool>(SemanticResolver.UntypedNullAwareIsStructurallyEqual), isGroupAggregateFunction, out isAmbiguous));
 }