001: /*
002: * Spoon - http://spoon.gforge.inria.fr/
003: * Copyright (C) 2006 INRIA Futurs <renaud.pawlak@inria.fr>
004: *
005: * This software is governed by the CeCILL-C License under French law and
006: * abiding by the rules of distribution of free software. You can use, modify
007: * and/or redistribute the software under the terms of the CeCILL-C license as
008: * circulated by CEA, CNRS and INRIA at http://www.cecill.info.
009: *
010: * This program is distributed in the hope that it will be useful, but WITHOUT
011: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
012: * FITNESS FOR A PARTICULAR PURPOSE. See the CeCILL-C License for more details.
013: *
014: * The fact that you are presently reading this means that you have had
015: * knowledge of the CeCILL-C license and that you accept its terms.
016: */
017:
018: package spoon.reflect.code;
019:
020: /**
021: * This enumeration defines all the kinds of binary operators.
022: */
023: public enum BinaryOperatorKind {
024:
025: /**
026: * Logical or.
027: */
028: OR, // ||
029: /**
030: * Logical and.
031: */
032: AND, // &&
033: /**
034: * Bit to bit or.
035: */
036: BITOR, // |
037: /**
038: * Bit to bit xor.
039: */
040: BITXOR, // ^
041: /**
042: * Bit to bit and.
043: */
044: BITAND, // &
045: /**
046: * Equality.
047: */
048: EQ, // ==
049: /**
050: * Inequality.
051: */
052: NE, // !=
053: /**
054: * Lower than comparison.
055: */
056: LT, // <
057: /**
058: * Greater than comparison.
059: */
060: GT, // >
061: /**
062: * Lower or equal comparison.
063: */
064: LE, // <=
065: /**
066: * Greater or equal comparison.
067: */
068: GE, // >=
069: /**
070: * Shift left.
071: */
072: SL, // <<
073: /**
074: * Shift right.
075: */
076: SR, // >>
077: /**
078: * Unsigned shift right.
079: */
080: USR, // >>>
081: /**
082: * Addition.
083: */
084: PLUS, // +
085: /**
086: * Substraction.
087: */
088: MINUS, // -
089: /**
090: * Multiplication.
091: */
092: MUL, // *
093: /**
094: * Division.
095: */
096: DIV, // /
097: /**
098: * Modulo.
099: */
100: MOD, // %
101: /**
102: * Instanceof (OO specific).
103: */
104: INSTANCEOF
105: // instanceof
106:
107: }
|