89 references to BetterType
Microsoft.CSharp (89)
Microsoft\CSharp\RuntimeBinder\Semantics\Binding\Better.cs (60)
41private static BetterType WhichMethodIsBetterTieBreaker( 56return node1.ctypeLift < node2.ctypeLift ? BetterType.Left : BetterType.Right; 64return BetterType.Right; 69return BetterType.Left; 77return BetterType.Right; 82return BetterType.Left; 86BetterType nT = CompareTypes( 89if (nT == BetterType.Left || nT == BetterType.Right) 97return mpwi1.MethProp().modOptCount < mpwi2.MethProp().modOptCount ? BetterType.Left : BetterType.Right; 101return BetterType.Neither; 104private static BetterType CompareTypes(TypeArray ta1, TypeArray ta2) 108return BetterType.Same; 114return ta1.Count > ta2.Count ? BetterType.Left : BetterType.Right; 117BetterType nTot = BetterType.Neither; 123BetterType nParam = BetterType.Neither; 130nParam = BetterType.Right; 134nParam = BetterType.Left; 161if (nParam == BetterType.Right || nParam == BetterType.Left) 163if (nTot == BetterType.Same || nTot == BetterType.Neither) 169return BetterType.Neither; 283private BetterType WhichMethodIsBetter( 314BetterType betterMethod = BetterType.Neither; 335BetterType betterConversion = WhichConversionIsBetter(argType, p1, p2); 337if (betterMethod == BetterType.Right) 339if (betterConversion == BetterType.Left) 341betterMethod = BetterType.Neither; 345else if (betterMethod == BetterType.Left) 347if (betterConversion == BetterType.Right) 349betterMethod = BetterType.Neither; 355Debug.Assert(betterMethod == BetterType.Neither); 356if (betterConversion == BetterType.Right || betterConversion == BetterType.Left) 366if (pta1.Count != pta2.Count && betterMethod == BetterType.Neither) 372return BetterType.Right; 377return BetterType.Left; 386return BetterType.Left; 391return BetterType.Right; 394return BetterType.Neither; 402private BetterType WhichConversionIsBetter(CType argType, CType p1, CType p2) 430return BetterType.Same; 450return BetterType.Left; 455return BetterType.Right; 463return a2b ? BetterType.Left : BetterType.Right; 474return (BetterType)s_betterConversionTable[(int)pt1][(int)pt2]; 479return BetterType.Neither; 524case BetterType.Left: 528case BetterType.Right: 568case BetterType.Right: 572case BetterType.Same: 573case BetterType.Neither:
Microsoft\CSharp\RuntimeBinder\Semantics\Conversion.cs (20)
184private const byte same = (byte)BetterType.Same; 185private const byte left = (byte)BetterType.Left; 186private const byte right = (byte)BetterType.Right; 187private const byte neither = (byte)BetterType.Neither; 245private BetterType WhichSimpleConversionIsBetter(PredefinedType pt1, PredefinedType pt2) 252return (BetterType)s_simpleTypeBetter[(int)pt1][(int)pt2]; 263private BetterType WhichTypeIsBetter(PredefinedType pt1, PredefinedType pt2, CType typeGiven) 267return BetterType.Same; 271return BetterType.Left; 275return BetterType.Right; 283return BetterType.Left; 287return BetterType.Right; 300private BetterType WhichTypeIsBetter(CType type1, CType type2, CType typeGiven) 305return BetterType.Same; 309return BetterType.Left; 313return BetterType.Right; 320return f12 ? BetterType.Left : BetterType.Right; 327return BetterType.Neither; 338return BetterType.Neither;
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (9)
1058BetterType bt1; 1059BetterType bt2; 1077BetterType.Left => -1, 1078BetterType.Right => 1, 1083case BetterType.Left: 1087case BetterType.Right: 1570BetterType bt; 1585BetterType.Left => -1, 1586BetterType.Right => +1,