| /******************************************************************************* |
| * Copyright (c) 2004, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jem.internal.instantiation; |
| /* |
| |
| |
| */ |
| import java.util.Arrays; |
| import java.util.Collections; |
| import java.util.List; |
| |
| import org.eclipse.emf.common.util.AbstractEnumerator; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A representation of the literals of the enumeration '<em><b>Infix Operator</b></em>', |
| * and utility methods for working with them. |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Enumerator for the operator on an InfixExpression. |
| * <!-- end-model-doc --> |
| * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixOperator() |
| * @model |
| * @generated |
| */ |
| public final class PTInfixOperator extends AbstractEnumerator { |
| /** |
| * The '<em><b>TIMES</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * * operator |
| * <!-- end-model-doc --> |
| * @see #TIMES_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int TIMES = 0; |
| |
| /** |
| * The '<em><b>DIVIDE</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * / operator |
| * <!-- end-model-doc --> |
| * @see #DIVIDE_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int DIVIDE = 1; |
| |
| /** |
| * The '<em><b>REMAINDER</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * % operator |
| * <!-- end-model-doc --> |
| * @see #REMAINDER_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int REMAINDER = 2; |
| |
| /** |
| * The '<em><b>PLUS</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * + operator |
| * <!-- end-model-doc --> |
| * @see #PLUS_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int PLUS = 3; |
| |
| /** |
| * The '<em><b>MINUS</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * - operator |
| * <!-- end-model-doc --> |
| * @see #MINUS_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int MINUS = 4; |
| |
| /** |
| * The '<em><b>LEFT SHIFT</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * << operator |
| * <!-- end-model-doc --> |
| * @see #LEFT_SHIFT_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int LEFT_SHIFT = 5; |
| |
| /** |
| * The '<em><b>RIGHT SHIFT SIGNED</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * >> operator |
| * <!-- end-model-doc --> |
| * @see #RIGHT_SHIFT_SIGNED_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int RIGHT_SHIFT_SIGNED = 6; |
| |
| /** |
| * The '<em><b>RIGHT SHIFT UNSIGNED</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * >>> operator |
| * <!-- end-model-doc --> |
| * @see #RIGHT_SHIFT_UNSIGNED_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int RIGHT_SHIFT_UNSIGNED = 7; |
| |
| /** |
| * The '<em><b>LESS</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * < operator |
| * <!-- end-model-doc --> |
| * @see #LESS_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int LESS = 8; |
| |
| /** |
| * The '<em><b>GREATER</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * > operator |
| * <!-- end-model-doc --> |
| * @see #GREATER_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int GREATER = 9; |
| |
| /** |
| * The '<em><b>LESS EQUALS</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * <= operator |
| * <!-- end-model-doc --> |
| * @see #LESS_EQUALS_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int LESS_EQUALS = 10; |
| |
| /** |
| * The '<em><b>GREATER EQUALS</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * >= operator |
| * <!-- end-model-doc --> |
| * @see #GREATER_EQUALS_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int GREATER_EQUALS = 11; |
| |
| /** |
| * The '<em><b>EQUALS</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * == operator |
| * <!-- end-model-doc --> |
| * @see #EQUALS_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int EQUALS = 12; |
| |
| /** |
| * The '<em><b>NOT EQUALS</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * != operator |
| * <!-- end-model-doc --> |
| * @see #NOT_EQUALS_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int NOT_EQUALS = 13; |
| |
| /** |
| * The '<em><b>XOR</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * ^ operator |
| * <!-- end-model-doc --> |
| * @see #XOR_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int XOR = 14; |
| |
| /** |
| * The '<em><b>AND</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * & operator |
| * <!-- end-model-doc --> |
| * @see #AND_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int AND = 15; |
| |
| /** |
| * The '<em><b>OR</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * | operator |
| * <!-- end-model-doc --> |
| * @see #OR_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int OR = 16; |
| |
| /** |
| * The '<em><b>CONDITIONAL AND</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * && operator |
| * <!-- end-model-doc --> |
| * @see #CONDITIONAL_AND_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int CONDITIONAL_AND = 17; |
| |
| /** |
| * The '<em><b>CONDITIONAL OR</b></em>' literal value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * || operator |
| * <!-- end-model-doc --> |
| * @see #CONDITIONAL_OR_LITERAL |
| * @model |
| * @generated |
| * @ordered |
| */ |
| public static final int CONDITIONAL_OR = 18; |
| |
| /** |
| * The '<em><b>TIMES</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #TIMES |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator TIMES_LITERAL = new PTInfixOperator(TIMES, "TIMES"); |
| |
| /** |
| * The '<em><b>DIVIDE</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #DIVIDE |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator DIVIDE_LITERAL = new PTInfixOperator(DIVIDE, "DIVIDE"); |
| |
| /** |
| * The '<em><b>REMAINDER</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #REMAINDER |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator REMAINDER_LITERAL = new PTInfixOperator(REMAINDER, "REMAINDER"); |
| |
| /** |
| * The '<em><b>PLUS</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #PLUS |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator PLUS_LITERAL = new PTInfixOperator(PLUS, "PLUS"); |
| |
| /** |
| * The '<em><b>MINUS</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #MINUS |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator MINUS_LITERAL = new PTInfixOperator(MINUS, "MINUS"); |
| |
| /** |
| * The '<em><b>LEFT SHIFT</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #LEFT_SHIFT |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator LEFT_SHIFT_LITERAL = new PTInfixOperator(LEFT_SHIFT, "LEFT_SHIFT"); |
| |
| /** |
| * The '<em><b>RIGHT SHIFT SIGNED</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #RIGHT_SHIFT_SIGNED |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator RIGHT_SHIFT_SIGNED_LITERAL = new PTInfixOperator(RIGHT_SHIFT_SIGNED, "RIGHT_SHIFT_SIGNED"); |
| |
| /** |
| * The '<em><b>RIGHT SHIFT UNSIGNED</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #RIGHT_SHIFT_UNSIGNED |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator RIGHT_SHIFT_UNSIGNED_LITERAL = new PTInfixOperator(RIGHT_SHIFT_UNSIGNED, "RIGHT_SHIFT_UNSIGNED"); |
| |
| /** |
| * The '<em><b>LESS</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #LESS |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator LESS_LITERAL = new PTInfixOperator(LESS, "LESS"); |
| |
| /** |
| * The '<em><b>GREATER</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #GREATER |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator GREATER_LITERAL = new PTInfixOperator(GREATER, "GREATER"); |
| |
| /** |
| * The '<em><b>LESS EQUALS</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #LESS_EQUALS |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator LESS_EQUALS_LITERAL = new PTInfixOperator(LESS_EQUALS, "LESS_EQUALS"); |
| |
| /** |
| * The '<em><b>GREATER EQUALS</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #GREATER_EQUALS |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator GREATER_EQUALS_LITERAL = new PTInfixOperator(GREATER_EQUALS, "GREATER_EQUALS"); |
| |
| /** |
| * The '<em><b>EQUALS</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #EQUALS |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator EQUALS_LITERAL = new PTInfixOperator(EQUALS, "EQUALS"); |
| |
| /** |
| * The '<em><b>NOT EQUALS</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #NOT_EQUALS |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator NOT_EQUALS_LITERAL = new PTInfixOperator(NOT_EQUALS, "NOT_EQUALS"); |
| |
| /** |
| * The '<em><b>XOR</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #XOR |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator XOR_LITERAL = new PTInfixOperator(XOR, "XOR"); |
| |
| /** |
| * The '<em><b>AND</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #AND |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator AND_LITERAL = new PTInfixOperator(AND, "AND"); |
| |
| /** |
| * The '<em><b>OR</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #OR |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator OR_LITERAL = new PTInfixOperator(OR, "OR"); |
| |
| /** |
| * The '<em><b>CONDITIONAL AND</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #CONDITIONAL_AND |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator CONDITIONAL_AND_LITERAL = new PTInfixOperator(CONDITIONAL_AND, "CONDITIONAL_AND"); |
| |
| /** |
| * The '<em><b>CONDITIONAL OR</b></em>' literal object. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #CONDITIONAL_OR |
| * @generated |
| * @ordered |
| */ |
| public static final PTInfixOperator CONDITIONAL_OR_LITERAL = new PTInfixOperator(CONDITIONAL_OR, "CONDITIONAL_OR"); |
| |
| /** |
| * An array of all the '<em><b>PT Infix Operator</b></em>' enumerators. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| private static final PTInfixOperator[] VALUES_ARRAY = |
| new PTInfixOperator[] { |
| TIMES_LITERAL, |
| DIVIDE_LITERAL, |
| REMAINDER_LITERAL, |
| PLUS_LITERAL, |
| MINUS_LITERAL, |
| LEFT_SHIFT_LITERAL, |
| RIGHT_SHIFT_SIGNED_LITERAL, |
| RIGHT_SHIFT_UNSIGNED_LITERAL, |
| LESS_LITERAL, |
| GREATER_LITERAL, |
| LESS_EQUALS_LITERAL, |
| GREATER_EQUALS_LITERAL, |
| EQUALS_LITERAL, |
| NOT_EQUALS_LITERAL, |
| XOR_LITERAL, |
| AND_LITERAL, |
| OR_LITERAL, |
| CONDITIONAL_AND_LITERAL, |
| CONDITIONAL_OR_LITERAL, |
| }; |
| |
| private static final String[] OPERATOR_STRING; |
| static { |
| OPERATOR_STRING = new String[VALUES_ARRAY.length]; |
| OPERATOR_STRING[TIMES] = "*"; |
| OPERATOR_STRING[DIVIDE] = "/"; |
| OPERATOR_STRING[REMAINDER] = "%"; |
| OPERATOR_STRING[PLUS] = "+"; |
| OPERATOR_STRING[MINUS] = "-"; |
| OPERATOR_STRING[LEFT_SHIFT] = "<"; |
| OPERATOR_STRING[RIGHT_SHIFT_SIGNED] = ">>"; |
| OPERATOR_STRING[RIGHT_SHIFT_UNSIGNED] = ">>>"; |
| OPERATOR_STRING[LESS] = "<"; |
| OPERATOR_STRING[GREATER] = ">"; |
| OPERATOR_STRING[LESS_EQUALS] = "<="; |
| OPERATOR_STRING[GREATER_EQUALS] = ">="; |
| OPERATOR_STRING[EQUALS] = "=="; |
| OPERATOR_STRING[NOT_EQUALS] = "!="; |
| OPERATOR_STRING[XOR] = "^"; |
| OPERATOR_STRING[AND] = "&"; |
| OPERATOR_STRING[OR] = "|"; |
| OPERATOR_STRING[CONDITIONAL_AND] = "&&"; |
| OPERATOR_STRING[CONDITIONAL_OR] = "||"; |
| } |
| |
| /** |
| * A public read-only list of all the '<em><b>PT Infix Operator</b></em>' enumerators. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); |
| |
| /** |
| * Returns the '<em><b>PT Infix Operator</b></em>' literal with the specified name. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public static PTInfixOperator get(String name) { |
| for (int i = 0; i < VALUES_ARRAY.length; ++i) { |
| PTInfixOperator result = VALUES_ARRAY[i]; |
| if (result.toString().equals(name)) { |
| return result; |
| } |
| } |
| return null; |
| } |
| |
| /** |
| * Returns the '<em><b>PT Infix Operator</b></em>' literal with the specified value. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public static PTInfixOperator get(int value) { |
| switch (value) { |
| case TIMES: return TIMES_LITERAL; |
| case DIVIDE: return DIVIDE_LITERAL; |
| case REMAINDER: return REMAINDER_LITERAL; |
| case PLUS: return PLUS_LITERAL; |
| case MINUS: return MINUS_LITERAL; |
| case LEFT_SHIFT: return LEFT_SHIFT_LITERAL; |
| case RIGHT_SHIFT_SIGNED: return RIGHT_SHIFT_SIGNED_LITERAL; |
| case RIGHT_SHIFT_UNSIGNED: return RIGHT_SHIFT_UNSIGNED_LITERAL; |
| case LESS: return LESS_LITERAL; |
| case GREATER: return GREATER_LITERAL; |
| case LESS_EQUALS: return LESS_EQUALS_LITERAL; |
| case GREATER_EQUALS: return GREATER_EQUALS_LITERAL; |
| case EQUALS: return EQUALS_LITERAL; |
| case NOT_EQUALS: return NOT_EQUALS_LITERAL; |
| case XOR: return XOR_LITERAL; |
| case AND: return AND_LITERAL; |
| case OR: return OR_LITERAL; |
| case CONDITIONAL_AND: return CONDITIONAL_AND_LITERAL; |
| case CONDITIONAL_OR: return CONDITIONAL_OR_LITERAL; |
| } |
| return null; |
| } |
| |
| /** |
| * Only this class can construct instances. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| private PTInfixOperator(int value, String name) { |
| super(value, name); |
| } |
| |
| /** |
| * Return the operator string (i.e. for PLUS return "+"). |
| * @return The operator string. |
| * |
| * @since 1.0.0 |
| */ |
| public String getOperator() { |
| return OPERATOR_STRING[getValue()]; |
| } |
| |
| } //InfixOperator |