Ejemplo n.º 1
0
 public static IEnumerable<BinaryOperatorInfo> GetMatches(BinaryOperator @operator, TypeSymbol operandType1, TypeSymbol operandType2)
 {
     // error types will cause this to return multiple operator matches in some cases
     return OperatorLookup[@operator]
         .Where(info => TypeValidator.AreTypesAssignable(operandType1, info.OperandType) != false &&
                        TypeValidator.AreTypesAssignable(operandType2, info.OperandType) != false);
 }
Ejemplo n.º 2
0
 public static BinaryOperatorInfo? TryMatchExact(BinaryOperator @operator, TypeSymbol operandType1, TypeSymbol operandType2)
 {
     return OperatorLookup[@operator]
         .SingleOrDefault(info => TypeValidator.AreTypesAssignable(operandType1, info.OperandType) == true &&
                                  TypeValidator.AreTypesAssignable(operandType2, info.OperandType) == true);
 }