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)); }
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)); }
private BoundUnaryOperator(SyntaxKind syntaxKind, BoundUnaryOperatorKind kind, TypeComparator operandComp, Operation operation) : this(syntaxKind, kind, operandComp, null, operation) { }
public void AddComparatorField <TType>(int fieldId, TypeComparator <TType> comparator) { throw new NotImplementedException(); }
private BoundBinaryOperator(SyntaxKind syntaxKind, BoundBinaryOperatorKind kind, TypeComparator comp, TypeSymbol resultType, Operation operation) : this(syntaxKind, kind, comp, comp, resultType, operation) { }