OperatorEvaluation Class
Assembly: Topten.Cminor.Compiler.dll
Namespace: Topten.Cminor
A set of static helper methods for performing arthimetic and logical operations on untyped "objects".
public static class OperatorEvaluation
Methods
| Add(object, object) | Arithmetic Add |
| BitwiseAnd(object, object) | Bitwise And |
| BitwiseNot(object) | Bitwise Not |
| BitwiseOr(object, object) | Bitwise Or |
| BitwiseXor(object, object) | Bitwise Xor |
| Compare(object, object) | Arithmetic Comparison |
| Compare(object, object, string) | Arithmetic Comparison |
| CompareEQ(object, object) | Compare two values for Equality |
| CompareGE(object, object) | Compare two values for Greater Than or Equal |
| CompareGT(object, object) | Compare two values for Greater Than |
| CompareLE(object, object) | Compare two values for Less Than or Equal |
| CompareLT(object, object) | Compare two values for Less Than |
| CompareNE(object, object) | Compare two values for Inequality |
| Divide(object, object) | Arithmetic Divide |
| Evaluate(UnaryOperatorType, object) | Evaluate a unary operation |
| Evaluate(BinaryOperatorType, object, object) | Evaluate a binary operation |
| ExplicitCast(object, Type) | Explicitlyl cast a value to another |
| GetInvertedComparisonOp(BinaryOperatorType) | |
| GetResultType(UnaryOperatorType, Type) | Give an operator and two operand types, work out the result type |
| GetResultType(BinaryOperatorType, Type, Type) | Give an operator and two operand types, work out the result type |
| GetSymbol(BinaryOperatorType) | |
| GetSymbol(UnaryOperatorType) | |
| ImplicitCast(object, Type) | Tries to implicitly convert a type, thowing an exception if it doesn't fit in the target type, or there's loss of precision when casting from floating point types |
| IsExplicitlyConvertible(Type, Type) | Check if a source type is explicitly castable to another type |
| IsImplicitlyConvertible(Type, Type) | Check if a type can be implicitly converted to another type |
| LogicalAnd(object, object) | Logical And (not short-circuiting) |
| LogicalNot(object) | Logical Not |
| LogicalOr(object, object) | Logical Or (not short-circuiting) |
| Modulus(object, object) | Arithmetic Modulus |
| Multiply(object, object) | Arithmetic Multiply |
| Negate(object) | Arithmetic Negate |
| ShiftLeft(object, object) | Bit Shift Left |
| ShiftRight(object, object) | Bit Shift Right |
| Subtract(object, object) | Arithmetic Subtract |
| SubtractReverse(object, object) | Arithmetic Subtract |
| TryGetResultType(UnaryOperatorType, Type) | Give an operator and two operand types, work out the result type |
| TryGetResultType(BinaryOperatorType, Type, Type) | Give an operator and two operand types, work out the result type |
