Microsoft\CSharp\RuntimeBinder\Semantics\Binding\Better.cs (7)
104private static BetterType CompareTypes(TypeArray ta1, TypeArray ta2)
203private static TypeArray RearrangeNamedArguments(TypeArray pta, MethPropWithInst mpwi, CType pTypeThrough, ArgInfos args)
255return TypeArray.Allocate(typeList);
293TypeArray pta1 = RearrangeNamedArguments(node1.@params, mpwi1, pTypeThrough, args);
294TypeArray pta2 = RearrangeNamedArguments(node2.@params, mpwi2, pTypeThrough, args);
Microsoft\CSharp\RuntimeBinder\Semantics\ExpressionBinder.cs (13)
35public TypeArray types;
612TypeArray paramsCur = TypeManager.SubstTypeArray(methCur.Params, atsCur);
619new MethPropWithInst(methCur, atsCur, TypeArray.Empty),
629new MethPropWithInst(methCur, atsCur, TypeArray.Empty),
630TypeArray.Allocate(nubParam),
1092TypeArray pTypeArgs = (call as ExprCall)?.MethWithInst.TypeArgs;
1100private void AdjustCallArgumentsForParams(CType callingObjectType, CType type, MethodOrPropertySymbol mp, TypeArray pTypeArgs, Expr argsPtr, out Expr newArgs)
1110TypeArray @params = mp.Params;
1365argInfo.types = TypeArray.Allocate(prgtype);
1368private static bool TryGetExpandedParams(TypeArray @params, int count, out TypeArray ppExpandedParams)
1378ppExpandedParams = TypeArray.Allocate(prgtype);
1402ppExpandedParams = 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) =>
34obj, new CMemberLookupResults(TypeArray.Allocate((CType)method.GetType()), name));
66public static ExprMethodInfo CreateMethodInfo(MethodSymbol method, AggregateType methodType, TypeArray methodParameters) =>
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (10)
2466TypeArray Params)
2518TypeArray paramsCur = TypeManager.SubstTypeArray(method.Params, ats);
2522new MethPropWithInst(method, ats, TypeArray.Empty),
2540new MethPropWithInst(method, ats, TypeArray.Empty),
2541TypeArray.Allocate(rgtype),
2647private ExprCall BindUDBinopCall(Expr arg1, Expr arg2, TypeArray Params, CType typeRet, MethPropWithInst mpwi)
2667private ExprCall BindLiftedUDBinop(ExpressionKind ek, Expr arg1, Expr arg2, TypeArray Params, MethPropWithInst mpwi)
2684TypeArray paramsRaw = TypeManager.SubstTypeArray(mpwi.Meth().Params, mpwi.GetType());
2797AggregateType callingType = TypeManager.GetAggregate(agg, TypeArray.Empty);
2813AggregateType pCallingType = TypeManager.GetAggregate(pAgg, TypeArray.Empty);
Microsoft\CSharp\RuntimeBinder\Semantics\PredefinedMembers.cs (9)
235private static CType LoadTypeFromSignature(int[] signature, ref int indexIntoSignatures, TypeArray classTyVars)
262return TypeManager.GetAggregate(agg, TypeArray.Empty);
271return TypeManager.GetAggregate(agg, TypeArray.Allocate(typeArgs));
277private static TypeArray LoadTypeArrayFromSignature(int[] signature, ref int indexIntoSignatures, TypeArray classTyVars)
292return TypeArray.Allocate(ptypes);
342TypeArray classTyVars = type.GetTypeVarsAll();
348TypeArray argumentTypes = LoadTypeArrayFromSignature(signature, ref index, classTyVars);
362private 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)
76TypeArray typeVars = ats.OwningAggregate.GetTypeVars();
77TypeArray typeArgsThis = ats.TypeArgsThis;
78TypeArray typeArgsAll = ats.TypeArgsAll;
143private static bool CheckConstraintsCore(Symbol symErr, TypeArray typeVars, TypeArray typeArgs, TypeArray typeArgsCls, TypeArray typeArgsMeth, CheckConstraintsFlags flags)
166private static bool CheckSingleConstraint(Symbol symErr, TypeParameterType var, CType arg, TypeArray typeArgsCls, TypeArray typeArgsMeth, CheckConstraintsFlags flags)
183TypeArray bnds = TypeManager.SubstTypeArray(var.Bounds, typeArgsCls, typeArgsMeth);
Microsoft\CSharp\RuntimeBinder\Semantics\Types\TypeManager.cs (43)
91public static AggregateType GetAggregate(AggregateSymbol agg, AggregateType atsOuter, TypeArray typeArgs)
95typeArgs ??= TypeArray.Empty;
116public static AggregateType GetAggregate(AggregateSymbol agg, TypeArray typeArgsAll)
131TypeArray typeArgsOuter = TypeArray.Allocate(cvarOuter, typeArgsAll, 0);
132TypeArray typeArgsInner = TypeArray.Allocate(agg.GetTypeVars().Count, typeArgsAll, cvarOuter);
189private static CType SubstType(CType typeSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth, bool denormMeth)
197public static AggregateType SubstType(AggregateType typeSrc, TypeArray typeArgsCls)
206private static CType SubstType(CType typeSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth) =>
210public static TypeArray SubstTypeArray(TypeArray taSrc, SubstContext ctx)
229return TypeArray.Allocate(dsts);
238public static TypeArray SubstTypeArray(TypeArray taSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth)
244public static TypeArray SubstTypeArray(TypeArray taSrc, TypeArray typeArgsCls) => SubstTypeArray(taSrc, typeArgsCls, null);
249TypeArray args = type.TypeArgsAll;
252TypeArray typeArgs = SubstTypeArray(args, ctx);
328public static bool SubstEqualTypes(CType typeDst, CType typeSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth, bool denormMeth)
341public static bool SubstEqualTypeArrays(TypeArray taDst, TypeArray taSrc, TypeArray typeArgsCls, TypeArray typeArgsMeth)
516public static bool TypeContainsTyVars(CType type, TypeArray typeVars)
577public static CType SubstType(CType typeSrc, AggregateType atsCls, TypeArray typeArgsMeth) =>
581public static CType SubstType(CType typeSrc, CType typeCls, TypeArray typeArgsMeth) =>
585public static TypeArray SubstTypeArray(TypeArray taSrc, AggregateType atsCls, TypeArray typeArgsMeth) =>
589public static TypeArray SubstTypeArray(TypeArray taSrc, AggregateType atsCls) => SubstTypeArray(taSrc, atsCls, null);
592private static bool SubstEqualTypes(CType typeDst, CType typeSrc, CType typeCls, TypeArray typeArgsMeth) =>
708TypeArray typeArgs = typeSrc.TypeArgsThis;
709TypeArray typeParams = aggOpenType.TypeArgsThis;
735TypeArray 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)