Exemple #1
0
 private BoundUnaryOperator(SyntaxKind syntaxKind, BoundUnaryOperatorKind kind, TypeComparator operandComp, TypeSymbol returnType, Operation operation)
 {
     SyntaxKind  = syntaxKind;
     Kind        = kind;
     OperandComp = operandComp;
     Type        = returnType;
     Operate     = operation;
 }
 public IntTypeInfo(
     Type clazz,
     Type[] possibleCastTargetTypes,
     TypeSerializer <T> serializer,
     TypeComparator <T> comparatorClass)
     : base(clazz, possibleCastTargetTypes, serializer, comparatorClass)
 {
     Preconditions.CheckArgument(IntTypes.Contains(clazz), $"The given class {clazz.Name} is not a numerical type");
 }
        public override int CompareToReference(TypeComparator <TElement[]> referencedComparator)
        {
            if (referencedComparator is PrimitiveArrayComparator <TElement, TComparator> comparator)
            {
                return(Compare(comparator.Reference, Reference));
            }

            throw new InvalidCastException(nameof(referencedComparator));
        }
Exemple #4
0
 private BoundBinaryOperator(SyntaxKind syntaxKind, BoundBinaryOperatorKind kind, TypeComparator leftComp, TypeComparator rightComp, TypeSymbol type, Operation operation)
 {
     SyntaxKind = syntaxKind;
     Kind       = kind;
     LeftComp   = leftComp;
     RightComp  = rightComp;
     Type       = type;
     Operate    = operation;
 }
 public BasicTypeInfo(
     Type clazz,
     Type[] possibleCastTargetTypes,
     TypeSerializer <T> serializer,
     TypeComparator <T> comparatorClass)
 {
     TypeClass = Preconditions.CheckNotNull(clazz);
     _possibleCastTargetTypes = Preconditions.CheckNotNull(possibleCastTargetTypes);
     _serializer = Preconditions.CheckNotNull(serializer);
     _comparator = comparatorClass;
 }
        public override int CompareToReference(TypeComparator <T> referencedComparator)
        {
            if (referencedComparator is BasicTypeComparator <T> comparator &&
                comparator._reference is IComparable <T> comparable)
            {
                var comp = comparable.CompareTo(_reference);

                return(AscendingComparison ? comp : -comp);
            }

            throw new InvalidCastException(nameof(referencedComparator));
        }
Exemple #7
0
 private BoundUnaryOperator(SyntaxKind syntaxKind, BoundUnaryOperatorKind kind, TypeComparator operandComp, Operation operation) : this(syntaxKind, kind, operandComp, null, operation)
 {
 }
Exemple #8
0
 public void AddComparatorField <TType>(int fieldId, TypeComparator <TType> comparator)
 {
     throw new NotImplementedException();
 }
Exemple #9
0
 private BoundBinaryOperator(SyntaxKind syntaxKind, BoundBinaryOperatorKind kind, TypeComparator comp, TypeSymbol resultType, Operation operation)
     : this(syntaxKind, kind, comp, comp, resultType, operation)
 {
 }