package glslplugin.lang.elements.expressions.operator;
import glslplugin.lang.elements.expressions.operator.GLSLOperator.*;
/**
* Contains all operators.
*
* @author Jan Polák
*/
public final class GLSLOperators {
//Arithmetic operators
public static final GLSLBinaryOperator ADDITION = ArithmeticBinaryOperator.ADDITION;
public static final GLSLBinaryOperator SUBTRACTION = ArithmeticBinaryOperator.SUBTRACTION;
public static final GLSLBinaryOperator MULTIPLICATION = ArithmeticMultiplicationBinaryOperator.MULTIPLICATION;
public static final GLSLBinaryOperator DIVISION = ArithmeticBinaryOperator.DIVISION;
public static final GLSLBinaryOperator MODULO = ArithmeticModuloBinaryOperator.MODULO;
// Logical operators
public static final GLSLBinaryOperator LOGIC_AND = new LogicalBinaryOperator("&&");
public static final GLSLBinaryOperator LOGIC_OR = new LogicalBinaryOperator("||");
public static final GLSLBinaryOperator LOGIC_XOR = new LogicalBinaryOperator("^^");
// Bit operators
public static final GLSLBinaryOperator BINARY_AND = new BitwiseBinaryOperator("&");
public static final GLSLBinaryOperator BINARY_XOR = new BitwiseBinaryOperator("^");
public static final GLSLBinaryOperator BINARY_OR = new BitwiseBinaryOperator("|");
public static final GLSLBinaryOperator BINARY_LEFT_SHIFT = new ShiftBinaryOperator("<<");
public static final GLSLBinaryOperator BINARY_RIGHT_SHIFT = new ShiftBinaryOperator(">>");
// Relational operators
public static final GLSLBinaryOperator GREATER = new RelationalBinaryOperator(">");
public static final GLSLBinaryOperator LESSER = new RelationalBinaryOperator("<");
public static final GLSLBinaryOperator GREATER_EQUAL = new RelationalBinaryOperator(">=");
public static final GLSLBinaryOperator LESSER_EQUAL = new RelationalBinaryOperator("<=");
// Equality operators
public static final GLSLBinaryOperator EQUAL = new EqualityBinaryOperator("==");
public static final GLSLBinaryOperator NOT_EQUAL = new EqualityBinaryOperator("!=");
// UNARY OPERATORS
public static final GLSLUnaryOperator PLUS = ArithmeticUnaryOperator.PLUS;
public static final GLSLUnaryOperator MINUS = ArithmeticUnaryOperator.MINUS;
public static final GLSLUnaryOperator INCREMENT = ArithmeticUnaryOperator.INCREMENT;
public static final GLSLUnaryOperator DECREMENT = ArithmeticUnaryOperator.DECREMENT;
public static final GLSLUnaryOperator LOGIC_NEGATION = LogicalUnaryOperator.LOGIC_NEGATION;
public static final GLSLUnaryOperator BINARY_NEGATION = OnesComplementOperator.BINARY_NEGATION;
// Assignment operators
public static final GLSLAssignmentOperator ASSIGN = new GLSLAssignmentOperator("=");
public static final GLSLAssignmentOperator ADDITION_ASSIGN = new BinaryOperatorAssignmentOperator("+=", ADDITION);
public static final GLSLAssignmentOperator SUBTRACTION_ASSIGN = new BinaryOperatorAssignmentOperator("-=", SUBTRACTION);
public static final GLSLAssignmentOperator MULTIPLICATION_ASSIGN = new BinaryOperatorAssignmentOperator("*=", MULTIPLICATION);
public static final GLSLAssignmentOperator DIVISION_ASSIGN = new BinaryOperatorAssignmentOperator("/=", DIVISION);
public static final GLSLAssignmentOperator MODULO_ASSIGN = new BinaryOperatorAssignmentOperator("%=", MODULO);
public static final GLSLAssignmentOperator LEFT_SHIFT_ASSIGN = new BinaryOperatorAssignmentOperator("<<=", BINARY_LEFT_SHIFT);
public static final GLSLAssignmentOperator RIGHT_SHIFT_ASSIGN = new BinaryOperatorAssignmentOperator(">>=", BINARY_RIGHT_SHIFT);
public static final GLSLAssignmentOperator BINARY_AND_ASSIGN = new BinaryOperatorAssignmentOperator("&=", BINARY_AND);
public static final GLSLAssignmentOperator BINARY_XOR_ASSIGN = new BinaryOperatorAssignmentOperator("^=", BINARY_XOR);
public static final GLSLAssignmentOperator BINARY_OR_ASSIGN = new BinaryOperatorAssignmentOperator("|=", BINARY_OR);
// Special operators
public static final GLSLOperator MEMBER = new GLSLOperator(".");
}