Microsoft\CSharp\RuntimeBinder\Semantics\Binding\Better.cs (7)
103private static BetterType CompareTypes(TypeArray ta1, TypeArray ta2)
201private static TypeArray RearrangeNamedArguments(TypeArray pta, MethPropWithInst mpwi, CType pTypeThrough, ArgInfos args)
253return TypeArray.Allocate(typeList);
290TypeArray pta1 = RearrangeNamedArguments(node1.@params, mpwi1, pTypeThrough, args);
291TypeArray pta2 = RearrangeNamedArguments(node2.@params, mpwi2, pTypeThrough, args);
Microsoft\CSharp\RuntimeBinder\Semantics\ExpressionBinder.cs (13)
35public TypeArray types;
600TypeArray paramsCur = TypeManager.SubstTypeArray(methCur.Params, atsCur);
607new MethPropWithInst(methCur, atsCur, TypeArray.Empty),
617new MethPropWithInst(methCur, atsCur, TypeArray.Empty),
618TypeArray.Allocate(nubParam),
1068TypeArray pTypeArgs = (call as ExprCall)?.MethWithInst.TypeArgs;
1075private void AdjustCallArgumentsForParams(CType callingObjectType, CType type, MethodOrPropertySymbol mp, TypeArray pTypeArgs, Expr argsPtr, out Expr newArgs)
1085TypeArray @params = mp.Params;
1339argInfo.types = TypeArray.Allocate(prgtype);
1342private static bool TryGetExpandedParams(TypeArray @params, int count, out TypeArray ppExpandedParams)
1352ppExpandedParams = TypeArray.Allocate(prgtype);
1376ppExpandedParams = TypeArray.Allocate(prgtype);
Microsoft\CSharp\RuntimeBinder\Semantics\ExprFactory.cs (3)
25public static ExprMemberGroup CreateMemGroup(EXPRFLAG flags, Name name, TypeArray typeArgs, SYMKIND symKind, CType parentType, Expr obj, CMemberLookupResults memberLookupResults) =>
33obj, new CMemberLookupResults(TypeArray.Allocate((CType)method.GetType()), name));
58public static ExprMethodInfo CreateMethodInfo(MethodSymbol method, AggregateType methodType, TypeArray methodParameters) =>
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (10)
2407TypeArray Params)
2458TypeArray paramsCur = TypeManager.SubstTypeArray(method.Params, ats);
2462new MethPropWithInst(method, ats, TypeArray.Empty),
2480new MethPropWithInst(method, ats, TypeArray.Empty),
2481TypeArray.Allocate(rgtype),
2583private ExprCall BindUDBinopCall(Expr arg1, Expr arg2, TypeArray Params, CType typeRet, MethPropWithInst mpwi)
2602private ExprCall BindLiftedUDBinop(ExpressionKind ek, Expr arg1, Expr arg2, TypeArray Params, MethPropWithInst mpwi)
2619TypeArray paramsRaw = TypeManager.SubstTypeArray(mpwi.Meth().Params, mpwi.GetType());
2730AggregateType callingType = TypeManager.GetAggregate(agg, TypeArray.Empty);
2745AggregateType pCallingType = TypeManager.GetAggregate(pAgg, TypeArray.Empty);
Microsoft\CSharp\RuntimeBinder\Semantics\PredefinedMembers.cs (9)
231private static CType LoadTypeFromSignature(int[] signature, ref int indexIntoSignatures, TypeArray classTyVars)
258return TypeManager.GetAggregate(agg, TypeArray.Empty);
267return TypeManager.GetAggregate(agg, TypeArray.Allocate(typeArgs));
272private static TypeArray LoadTypeArrayFromSignature(int[] signature, ref int indexIntoSignatures, TypeArray classTyVars)
287return TypeArray.Allocate(ptypes);
334TypeArray classTyVars = type.GetTypeVarsAll();
340TypeArray argumentTypes = LoadTypeArrayFromSignature(signature, ref index, classTyVars);
353private static MethodSymbol LookupMethodWhileLoading(AggregateSymbol type, int cMethodTyVars, Name methodName, ACCESS methodAccess, bool isStatic, bool isVirtual, CType returnType, TypeArray argumentTypes)
Microsoft\CSharp\RuntimeBinder\Semantics\TypeBind.cs (10)
75TypeArray typeVars = ats.OwningAggregate.GetTypeVars();
76TypeArray typeArgsThis = ats.TypeArgsThis;
77TypeArray typeArgsAll = ats.TypeArgsAll;
140private static bool CheckConstraintsCore(Symbol symErr, TypeArray typeVars, TypeArray typeArgs, TypeArray typeArgsCls, TypeArray typeArgsMeth, CheckConstraintsFlags flags)
162private static bool CheckSingleConstraint(Symbol symErr, TypeParameterType var, CType arg, TypeArray typeArgsCls, TypeArray typeArgsMeth, CheckConstraintsFlags flags)
179TypeArray bnds = TypeManager.SubstTypeArray(var.Bounds, typeArgsCls, typeArgsMeth);
Microsoft\CSharp\RuntimeBinder\Semantics\Types\TypeManager.cs (43)
89public static AggregateType GetAggregate(AggregateSymbol agg, AggregateType atsOuter, TypeArray typeArgs)
93typeArgs ??= TypeArray.Empty;
113public static AggregateType GetAggregate(AggregateSymbol agg, TypeArray typeArgsAll)
128TypeArray typeArgsOuter = TypeArray.Allocate(cvarOuter, typeArgsAll, 0);
129TypeArray typeArgsInner = TypeArray.Allocate(agg.GetTypeVars().Count, typeArgsAll, cvarOuter);
182private static CType SubstType(CType typeSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth, bool denormMeth)
189public static AggregateType SubstType(AggregateType typeSrc, TypeArray typeArgsCls)
197private static CType SubstType(CType typeSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth) =>
200public static TypeArray SubstTypeArray(TypeArray taSrc, SubstContext ctx)
219return TypeArray.Allocate(dsts);
227public static TypeArray SubstTypeArray(TypeArray taSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth)
232public static TypeArray SubstTypeArray(TypeArray taSrc, TypeArray typeArgsCls) => SubstTypeArray(taSrc, typeArgsCls, null);
236TypeArray args = type.TypeArgsAll;
239TypeArray typeArgs = SubstTypeArray(args, ctx);
313public static bool SubstEqualTypes(CType typeDst, CType typeSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth, bool denormMeth)
326public static bool SubstEqualTypeArrays(TypeArray taDst, TypeArray taSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth)
501public static bool TypeContainsTyVars(CType type, TypeArray typeVars)
557public static CType SubstType(CType typeSrc, AggregateType atsCls, TypeArray typeArgsMeth) =>
560public static CType SubstType(CType typeSrc, CType typeCls, TypeArray typeArgsMeth) =>
563public static TypeArray SubstTypeArray(TypeArray taSrc, AggregateType atsCls, TypeArray typeArgsMeth) =>
566public static TypeArray SubstTypeArray(TypeArray taSrc, AggregateType atsCls) => SubstTypeArray(taSrc, atsCls, null);
568private static bool SubstEqualTypes(CType typeDst, CType typeSrc, CType typeCls, TypeArray typeArgsMeth) =>
681TypeArray typeArgs = typeSrc.TypeArgsThis;
682TypeArray typeParams = aggOpenType.TypeArgsThis;
708TypeArray newTypeArgs = TypeArray.Allocate(newTypeArgsTemp);
Microsoft\CSharp\RuntimeBinder\Semantics\Types\TypeTable.cs (4)
51private static readonly Dictionary<KeyPair<AggregateSymbol, KeyPair<AggregateType, TypeArray>>, AggregateType> s_aggregateTable =
52new Dictionary<KeyPair<AggregateSymbol, KeyPair<AggregateType, TypeArray>>, AggregateType>();
67public static AggregateType LookupAggregate(AggregateSymbol aggregate, AggregateType outer, TypeArray args)
74public static void InsertAggregate(AggregateSymbol aggregate, AggregateType outer, TypeArray args, AggregateType ats)