Esempio n. 1
0
 public IBinaryOperatorCoercionMember <TType> this[CoercibleBinaryOperators op]
 {
     get
     {
         foreach (var binOpC in this.Values)
         {
             if (binOpC.ContainingSide == BinaryOpCoercionContainingSide.Both && op == binOpC.Operator)
             {
                 return(binOpC);
             }
         }
         return(null);
     }
 }
Esempio n. 2
0
 public IBinaryOperatorCoercionMember <TType> this[CoercibleBinaryOperators op, BinaryOpCoercionContainingSide side, IType otherSide]
 {
     get
     {
         foreach (var binOpC in this.Values)
         {
             if (binOpC.Operator == op && binOpC.ContainingSide == side && binOpC.OtherSide.Equals(otherSide))
             {
                 return(binOpC);
             }
         }
         return(null);
     }
 }
Esempio n. 3
0
 public IBinaryOperatorCoercionMember <TCoercionParent> this[CoercibleBinaryOperators op]
 {
     get {
         foreach (var element in this.Values)
         {
             if (element.ContainingSide == BinaryOpCoercionContainingSide.Both &&
                 element.Operator == op)
             {
                 return(element);
             }
         }
         throw new KeyNotFoundException();
     }
 }
Esempio n. 4
0
 public IBinaryOperatorCoercionMember <TCoercionParent> this[CoercibleBinaryOperators op, BinaryOpCoercionContainingSide side, IType otherSide]
 {
     get {
         foreach (var element in this.Values)
         {
             if (element.Operator == op && element.ContainingSide == side &&
                 element.OtherSide == otherSide)
             {
                 return(element);
             }
         }
         throw new KeyNotFoundException();
     }
 }
Esempio n. 5
0
 IIntermediateBinaryOperatorCoercionMember IIntermediateBinaryOperatorCoercionMemberDictionary.Add(CoercibleBinaryOperators op, IType returnType)
 {
     return(this.Add(op, returnType));
 }
Esempio n. 6
0
 IIntermediateBinaryOperatorCoercionMember IIntermediateBinaryOperatorCoercionMemberDictionary.Add(CoercibleBinaryOperators op, BinaryOpCoercionContainingSide containingSide, IType otherSide, IType returnType)
 {
     return(this.Add(op, containingSide, otherSide, returnType));
 }
Esempio n. 7
0
 public IIntermediateBinaryOperatorCoercionMember <TType, TIntermediateType> Add(CoercibleBinaryOperators op, IType returnType)
 {
     return(this.Add(op, BinaryOpCoercionContainingSide.Both, null, returnType));
 }
Esempio n. 8
0
            public IIntermediateBinaryOperatorCoercionMember <TType, TIntermediateType> Add(CoercibleBinaryOperators op, BinaryOpCoercionContainingSide containingSide, IType otherSide, IType returnType)
            {
                BinaryOperatorMember member = this.Parent.GetNewBinaryOperator(op, containingSide, returnType);//new BinaryOperatorMember(this.Parent);

                if (containingSide != BinaryOpCoercionContainingSide.Both)
                {
                    if (otherSide == null)
                    {
                        throw new ArgumentNullException("otherSide");
                    }
                    else
                    {
                        member.OtherSide = otherSide;
                    }
                }
                this.AddDeclaration(member);
                return(member);
            }
Esempio n. 9
0
 IBinaryOperatorCoercionMember IBinaryOperatorCoercionMemberDictionary.this[CoercibleBinaryOperators op]
 {
     get { return(this[op]); }
 }
Esempio n. 10
0
 IBinaryOperatorCoercionMember IBinaryOperatorCoercionMemberDictionary.this[CoercibleBinaryOperators op, BinaryOpCoercionContainingSide side, IType otherSide]
 {
     get { return(this[op, side, otherSide]); }
 }
Esempio n. 11
0
 public static IBinaryOperatorUniqueIdentifier GetBinaryOperatorRightIdentifier(CoercibleBinaryOperators @operator, IType otherSide)
 {
     return(GetBinaryOperatorIdentifier(@operator, BinaryOpCoercionContainingSide.RightSide, otherSide));
 }
Esempio n. 12
0
 public static IBinaryOperatorUniqueIdentifier GetBinaryOperatorLeftIdentifier(CoercibleBinaryOperators @operator, IType otherSide, string languageSpecificQualifier)
 {
     return(GetBinaryOperatorIdentifier(@operator, languageSpecificQualifier, BinaryOpCoercionContainingSide.LeftSide, otherSide));
 }
Esempio n. 13
0
 internal static IBinaryOperatorUniqueIdentifier GetBinaryOperatorIdentifier(CoercibleBinaryOperators @operator, BinaryOpCoercionContainingSide containingSide = BinaryOpCoercionContainingSide.Both, IType otherSide = null)
 {
     return(new DefaultBinaryOperatorUniqueIdentifier(@operator, containingSide, otherSide));
 }
Esempio n. 14
0
 public static IBinaryOperatorUniqueIdentifier GetBinaryOperatorBothIdentifier(CoercibleBinaryOperators @operator)
 {
     return(GetBinaryOperatorBothIdentifier(@operator));
 }
Esempio n. 15
0
 public static IBinaryOperatorUniqueIdentifier GetBinaryOperatorBothIdentifier(CoercibleBinaryOperators @operator, string languageSpecificQualifier)
 {
     return(GetBinaryOperatorBothIdentifier(@operator, languageSpecificQualifier));
 }