blob: bcd6a34b086995c058cbb4c4f03db16673744e97 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2011 IBM Corporation, Zeligsoft Inc., 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 - Initial API and implementation
* Zeligsoft - Bug 207365
*******************************************************************************/
package org.eclipse.ocl.expressions.util;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
import org.eclipse.ocl.expressions.AssociationClassCallExp;
import org.eclipse.ocl.expressions.BooleanLiteralExp;
import org.eclipse.ocl.expressions.CallExp;
import org.eclipse.ocl.expressions.CollectionItem;
import org.eclipse.ocl.expressions.CollectionLiteralExp;
import org.eclipse.ocl.expressions.CollectionLiteralPart;
import org.eclipse.ocl.expressions.CollectionRange;
import org.eclipse.ocl.expressions.EnumLiteralExp;
import org.eclipse.ocl.expressions.ExpressionsPackage;
import org.eclipse.ocl.expressions.FeatureCallExp;
import org.eclipse.ocl.expressions.IfExp;
import org.eclipse.ocl.expressions.IntegerLiteralExp;
import org.eclipse.ocl.expressions.InvalidLiteralExp;
import org.eclipse.ocl.expressions.IterateExp;
import org.eclipse.ocl.expressions.IteratorExp;
import org.eclipse.ocl.expressions.LetExp;
import org.eclipse.ocl.expressions.LiteralExp;
import org.eclipse.ocl.expressions.LoopExp;
import org.eclipse.ocl.expressions.MessageExp;
import org.eclipse.ocl.expressions.NavigationCallExp;
import org.eclipse.ocl.expressions.NullLiteralExp;
import org.eclipse.ocl.expressions.NumericLiteralExp;
import org.eclipse.ocl.expressions.OCLExpression;
import org.eclipse.ocl.expressions.OperationCallExp;
import org.eclipse.ocl.expressions.PrimitiveLiteralExp;
import org.eclipse.ocl.expressions.PropertyCallExp;
import org.eclipse.ocl.expressions.RealLiteralExp;
import org.eclipse.ocl.expressions.StateExp;
import org.eclipse.ocl.expressions.StringLiteralExp;
import org.eclipse.ocl.expressions.TupleLiteralExp;
import org.eclipse.ocl.expressions.TupleLiteralPart;
import org.eclipse.ocl.expressions.TypeExp;
import org.eclipse.ocl.expressions.UnlimitedNaturalLiteralExp;
import org.eclipse.ocl.expressions.UnspecifiedValueExp;
import org.eclipse.ocl.expressions.Variable;
import org.eclipse.ocl.expressions.VariableExp;
import org.eclipse.ocl.utilities.ASTNode;
import org.eclipse.ocl.utilities.CallingASTNode;
import org.eclipse.ocl.utilities.TypedASTNode;
import org.eclipse.ocl.utilities.TypedElement;
import org.eclipse.ocl.utilities.Visitable;
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
* It supports the call {@link #doSwitch(EObject) doSwitch(object)}
* to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
* which is the result of the switch.
* <!-- end-user-doc -->
* @see org.eclipse.ocl.expressions.ExpressionsPackage
* @generated
*/
public class ExpressionsSwitch<T>
extends Switch<T> {
/**
* The cached model package
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected static ExpressionsPackage modelPackage;
/**
* Creates an instance of the switch.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ExpressionsSwitch() {
if (modelPackage == null) {
modelPackage = ExpressionsPackage.eINSTANCE;
}
}
/**
* Checks whether this is a switch for the given package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
@Override
protected boolean isSwitchFor(EPackage ePackage) {
return ePackage == modelPackage;
}
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@Override
protected T doSwitch(int classifierID, EObject theEObject) {
switch (classifierID) {
case ExpressionsPackage.ASSOCIATION_CLASS_CALL_EXP : {
AssociationClassCallExp<?, ?> associationClassCallExp = (AssociationClassCallExp<?, ?>) theEObject;
T result = caseAssociationClassCallExp(associationClassCallExp);
if (result == null)
result = caseNavigationCallExp(associationClassCallExp);
if (result == null)
result = caseFeatureCallExp(associationClassCallExp);
if (result == null)
result = caseCallExp(associationClassCallExp);
if (result == null)
result = caseOCLExpression(associationClassCallExp);
if (result == null)
result = caseCallingASTNode(associationClassCallExp);
if (result == null)
result = caseTypedElement(associationClassCallExp);
if (result == null)
result = caseVisitable(associationClassCallExp);
if (result == null)
result = caseASTNode(associationClassCallExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.NAVIGATION_CALL_EXP : {
NavigationCallExp<?, ?> navigationCallExp = (NavigationCallExp<?, ?>) theEObject;
T result = caseNavigationCallExp(navigationCallExp);
if (result == null)
result = caseFeatureCallExp(navigationCallExp);
if (result == null)
result = caseCallExp(navigationCallExp);
if (result == null)
result = caseOCLExpression(navigationCallExp);
if (result == null)
result = caseCallingASTNode(navigationCallExp);
if (result == null)
result = caseTypedElement(navigationCallExp);
if (result == null)
result = caseVisitable(navigationCallExp);
if (result == null)
result = caseASTNode(navigationCallExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.FEATURE_CALL_EXP : {
FeatureCallExp<?> featureCallExp = (FeatureCallExp<?>) theEObject;
T result = caseFeatureCallExp(featureCallExp);
if (result == null)
result = caseCallExp(featureCallExp);
if (result == null)
result = caseOCLExpression(featureCallExp);
if (result == null)
result = caseCallingASTNode(featureCallExp);
if (result == null)
result = caseTypedElement(featureCallExp);
if (result == null)
result = caseVisitable(featureCallExp);
if (result == null)
result = caseASTNode(featureCallExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.CALL_EXP : {
CallExp<?> callExp = (CallExp<?>) theEObject;
T result = caseCallExp(callExp);
if (result == null)
result = caseOCLExpression(callExp);
if (result == null)
result = caseCallingASTNode(callExp);
if (result == null)
result = caseTypedElement(callExp);
if (result == null)
result = caseVisitable(callExp);
if (result == null)
result = caseASTNode(callExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.OCL_EXPRESSION : {
OCLExpression<?> oclExpression = (OCLExpression<?>) theEObject;
T result = caseOCLExpression(oclExpression);
if (result == null)
result = caseTypedElement(oclExpression);
if (result == null)
result = caseVisitable(oclExpression);
if (result == null)
result = caseASTNode(oclExpression);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.BOOLEAN_LITERAL_EXP : {
BooleanLiteralExp<?> booleanLiteralExp = (BooleanLiteralExp<?>) theEObject;
T result = caseBooleanLiteralExp(booleanLiteralExp);
if (result == null)
result = casePrimitiveLiteralExp(booleanLiteralExp);
if (result == null)
result = caseLiteralExp(booleanLiteralExp);
if (result == null)
result = caseOCLExpression(booleanLiteralExp);
if (result == null)
result = caseTypedElement(booleanLiteralExp);
if (result == null)
result = caseVisitable(booleanLiteralExp);
if (result == null)
result = caseASTNode(booleanLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.PRIMITIVE_LITERAL_EXP : {
PrimitiveLiteralExp<?> primitiveLiteralExp = (PrimitiveLiteralExp<?>) theEObject;
T result = casePrimitiveLiteralExp(primitiveLiteralExp);
if (result == null)
result = caseLiteralExp(primitiveLiteralExp);
if (result == null)
result = caseOCLExpression(primitiveLiteralExp);
if (result == null)
result = caseTypedElement(primitiveLiteralExp);
if (result == null)
result = caseVisitable(primitiveLiteralExp);
if (result == null)
result = caseASTNode(primitiveLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.LITERAL_EXP : {
LiteralExp<?> literalExp = (LiteralExp<?>) theEObject;
T result = caseLiteralExp(literalExp);
if (result == null)
result = caseOCLExpression(literalExp);
if (result == null)
result = caseTypedElement(literalExp);
if (result == null)
result = caseVisitable(literalExp);
if (result == null)
result = caseASTNode(literalExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.COLLECTION_ITEM : {
CollectionItem<?> collectionItem = (CollectionItem<?>) theEObject;
T result = caseCollectionItem(collectionItem);
if (result == null)
result = caseCollectionLiteralPart(collectionItem);
if (result == null)
result = caseTypedElement(collectionItem);
if (result == null)
result = caseVisitable(collectionItem);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.COLLECTION_LITERAL_PART : {
CollectionLiteralPart<?> collectionLiteralPart = (CollectionLiteralPart<?>) theEObject;
T result = caseCollectionLiteralPart(collectionLiteralPart);
if (result == null)
result = caseTypedElement(collectionLiteralPart);
if (result == null)
result = caseVisitable(collectionLiteralPart);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.COLLECTION_LITERAL_EXP : {
CollectionLiteralExp<?> collectionLiteralExp = (CollectionLiteralExp<?>) theEObject;
T result = caseCollectionLiteralExp(collectionLiteralExp);
if (result == null)
result = caseLiteralExp(collectionLiteralExp);
if (result == null)
result = caseOCLExpression(collectionLiteralExp);
if (result == null)
result = caseTypedElement(collectionLiteralExp);
if (result == null)
result = caseVisitable(collectionLiteralExp);
if (result == null)
result = caseASTNode(collectionLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.COLLECTION_RANGE : {
CollectionRange<?> collectionRange = (CollectionRange<?>) theEObject;
T result = caseCollectionRange(collectionRange);
if (result == null)
result = caseCollectionLiteralPart(collectionRange);
if (result == null)
result = caseTypedElement(collectionRange);
if (result == null)
result = caseVisitable(collectionRange);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.ENUM_LITERAL_EXP : {
EnumLiteralExp<?, ?> enumLiteralExp = (EnumLiteralExp<?, ?>) theEObject;
T result = caseEnumLiteralExp(enumLiteralExp);
if (result == null)
result = caseLiteralExp(enumLiteralExp);
if (result == null)
result = caseOCLExpression(enumLiteralExp);
if (result == null)
result = caseTypedElement(enumLiteralExp);
if (result == null)
result = caseVisitable(enumLiteralExp);
if (result == null)
result = caseASTNode(enumLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.IF_EXP : {
IfExp<?> ifExp = (IfExp<?>) theEObject;
T result = caseIfExp(ifExp);
if (result == null)
result = caseOCLExpression(ifExp);
if (result == null)
result = caseTypedElement(ifExp);
if (result == null)
result = caseVisitable(ifExp);
if (result == null)
result = caseASTNode(ifExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.INTEGER_LITERAL_EXP : {
IntegerLiteralExp<?> integerLiteralExp = (IntegerLiteralExp<?>) theEObject;
T result = caseIntegerLiteralExp(integerLiteralExp);
if (result == null)
result = caseNumericLiteralExp(integerLiteralExp);
if (result == null)
result = casePrimitiveLiteralExp(integerLiteralExp);
if (result == null)
result = caseLiteralExp(integerLiteralExp);
if (result == null)
result = caseOCLExpression(integerLiteralExp);
if (result == null)
result = caseTypedElement(integerLiteralExp);
if (result == null)
result = caseVisitable(integerLiteralExp);
if (result == null)
result = caseASTNode(integerLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.NUMERIC_LITERAL_EXP : {
NumericLiteralExp<?> numericLiteralExp = (NumericLiteralExp<?>) theEObject;
T result = caseNumericLiteralExp(numericLiteralExp);
if (result == null)
result = casePrimitiveLiteralExp(numericLiteralExp);
if (result == null)
result = caseLiteralExp(numericLiteralExp);
if (result == null)
result = caseOCLExpression(numericLiteralExp);
if (result == null)
result = caseTypedElement(numericLiteralExp);
if (result == null)
result = caseVisitable(numericLiteralExp);
if (result == null)
result = caseASTNode(numericLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.UNLIMITED_NATURAL_LITERAL_EXP : {
UnlimitedNaturalLiteralExp<?> unlimitedNaturalLiteralExp = (UnlimitedNaturalLiteralExp<?>) theEObject;
T result = caseUnlimitedNaturalLiteralExp(unlimitedNaturalLiteralExp);
if (result == null)
result = caseNumericLiteralExp(unlimitedNaturalLiteralExp);
if (result == null)
result = casePrimitiveLiteralExp(unlimitedNaturalLiteralExp);
if (result == null)
result = caseLiteralExp(unlimitedNaturalLiteralExp);
if (result == null)
result = caseOCLExpression(unlimitedNaturalLiteralExp);
if (result == null)
result = caseTypedElement(unlimitedNaturalLiteralExp);
if (result == null)
result = caseVisitable(unlimitedNaturalLiteralExp);
if (result == null)
result = caseASTNode(unlimitedNaturalLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.INVALID_LITERAL_EXP : {
InvalidLiteralExp<?> invalidLiteralExp = (InvalidLiteralExp<?>) theEObject;
T result = caseInvalidLiteralExp(invalidLiteralExp);
if (result == null)
result = caseLiteralExp(invalidLiteralExp);
if (result == null)
result = caseOCLExpression(invalidLiteralExp);
if (result == null)
result = caseTypedElement(invalidLiteralExp);
if (result == null)
result = caseVisitable(invalidLiteralExp);
if (result == null)
result = caseASTNode(invalidLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.ITERATE_EXP : {
IterateExp<?, ?> iterateExp = (IterateExp<?, ?>) theEObject;
T result = caseIterateExp(iterateExp);
if (result == null)
result = caseLoopExp(iterateExp);
if (result == null)
result = caseCallExp(iterateExp);
if (result == null)
result = caseOCLExpression(iterateExp);
if (result == null)
result = caseCallingASTNode(iterateExp);
if (result == null)
result = caseTypedElement(iterateExp);
if (result == null)
result = caseVisitable(iterateExp);
if (result == null)
result = caseASTNode(iterateExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.LOOP_EXP : {
LoopExp<?, ?> loopExp = (LoopExp<?, ?>) theEObject;
T result = caseLoopExp(loopExp);
if (result == null)
result = caseCallExp(loopExp);
if (result == null)
result = caseOCLExpression(loopExp);
if (result == null)
result = caseCallingASTNode(loopExp);
if (result == null)
result = caseTypedElement(loopExp);
if (result == null)
result = caseVisitable(loopExp);
if (result == null)
result = caseASTNode(loopExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.VARIABLE : {
Variable<?, ?> variable = (Variable<?, ?>) theEObject;
T result = caseVariable(variable);
if (result == null)
result = caseTypedElement(variable);
if (result == null)
result = caseVisitable(variable);
if (result == null)
result = caseTypedASTNode(variable);
if (result == null)
result = caseASTNode(variable);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.ITERATOR_EXP : {
IteratorExp<?, ?> iteratorExp = (IteratorExp<?, ?>) theEObject;
T result = caseIteratorExp(iteratorExp);
if (result == null)
result = caseLoopExp(iteratorExp);
if (result == null)
result = caseCallExp(iteratorExp);
if (result == null)
result = caseOCLExpression(iteratorExp);
if (result == null)
result = caseCallingASTNode(iteratorExp);
if (result == null)
result = caseTypedElement(iteratorExp);
if (result == null)
result = caseVisitable(iteratorExp);
if (result == null)
result = caseASTNode(iteratorExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.LET_EXP : {
LetExp<?, ?> letExp = (LetExp<?, ?>) theEObject;
T result = caseLetExp(letExp);
if (result == null)
result = caseOCLExpression(letExp);
if (result == null)
result = caseTypedElement(letExp);
if (result == null)
result = caseVisitable(letExp);
if (result == null)
result = caseASTNode(letExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.MESSAGE_EXP : {
MessageExp<?, ?, ?> messageExp = (MessageExp<?, ?, ?>) theEObject;
T result = caseMessageExp(messageExp);
if (result == null)
result = caseOCLExpression(messageExp);
if (result == null)
result = caseCallingASTNode(messageExp);
if (result == null)
result = caseTypedElement(messageExp);
if (result == null)
result = caseVisitable(messageExp);
if (result == null)
result = caseASTNode(messageExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.NULL_LITERAL_EXP : {
NullLiteralExp<?> nullLiteralExp = (NullLiteralExp<?>) theEObject;
T result = caseNullLiteralExp(nullLiteralExp);
if (result == null)
result = caseLiteralExp(nullLiteralExp);
if (result == null)
result = caseOCLExpression(nullLiteralExp);
if (result == null)
result = caseTypedElement(nullLiteralExp);
if (result == null)
result = caseVisitable(nullLiteralExp);
if (result == null)
result = caseASTNode(nullLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.OPERATION_CALL_EXP : {
OperationCallExp<?, ?> operationCallExp = (OperationCallExp<?, ?>) theEObject;
T result = caseOperationCallExp(operationCallExp);
if (result == null)
result = caseFeatureCallExp(operationCallExp);
if (result == null)
result = caseCallExp(operationCallExp);
if (result == null)
result = caseOCLExpression(operationCallExp);
if (result == null)
result = caseCallingASTNode(operationCallExp);
if (result == null)
result = caseTypedElement(operationCallExp);
if (result == null)
result = caseVisitable(operationCallExp);
if (result == null)
result = caseASTNode(operationCallExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.PROPERTY_CALL_EXP : {
PropertyCallExp<?, ?> propertyCallExp = (PropertyCallExp<?, ?>) theEObject;
T result = casePropertyCallExp(propertyCallExp);
if (result == null)
result = caseNavigationCallExp(propertyCallExp);
if (result == null)
result = caseFeatureCallExp(propertyCallExp);
if (result == null)
result = caseCallExp(propertyCallExp);
if (result == null)
result = caseOCLExpression(propertyCallExp);
if (result == null)
result = caseCallingASTNode(propertyCallExp);
if (result == null)
result = caseTypedElement(propertyCallExp);
if (result == null)
result = caseVisitable(propertyCallExp);
if (result == null)
result = caseASTNode(propertyCallExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.REAL_LITERAL_EXP : {
RealLiteralExp<?> realLiteralExp = (RealLiteralExp<?>) theEObject;
T result = caseRealLiteralExp(realLiteralExp);
if (result == null)
result = caseNumericLiteralExp(realLiteralExp);
if (result == null)
result = casePrimitiveLiteralExp(realLiteralExp);
if (result == null)
result = caseLiteralExp(realLiteralExp);
if (result == null)
result = caseOCLExpression(realLiteralExp);
if (result == null)
result = caseTypedElement(realLiteralExp);
if (result == null)
result = caseVisitable(realLiteralExp);
if (result == null)
result = caseASTNode(realLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.STATE_EXP : {
StateExp<?, ?> stateExp = (StateExp<?, ?>) theEObject;
T result = caseStateExp(stateExp);
if (result == null)
result = caseOCLExpression(stateExp);
if (result == null)
result = caseTypedElement(stateExp);
if (result == null)
result = caseVisitable(stateExp);
if (result == null)
result = caseASTNode(stateExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.STRING_LITERAL_EXP : {
StringLiteralExp<?> stringLiteralExp = (StringLiteralExp<?>) theEObject;
T result = caseStringLiteralExp(stringLiteralExp);
if (result == null)
result = casePrimitiveLiteralExp(stringLiteralExp);
if (result == null)
result = caseLiteralExp(stringLiteralExp);
if (result == null)
result = caseOCLExpression(stringLiteralExp);
if (result == null)
result = caseTypedElement(stringLiteralExp);
if (result == null)
result = caseVisitable(stringLiteralExp);
if (result == null)
result = caseASTNode(stringLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.TUPLE_LITERAL_EXP : {
TupleLiteralExp<?, ?> tupleLiteralExp = (TupleLiteralExp<?, ?>) theEObject;
T result = caseTupleLiteralExp(tupleLiteralExp);
if (result == null)
result = caseLiteralExp(tupleLiteralExp);
if (result == null)
result = caseOCLExpression(tupleLiteralExp);
if (result == null)
result = caseTypedElement(tupleLiteralExp);
if (result == null)
result = caseVisitable(tupleLiteralExp);
if (result == null)
result = caseASTNode(tupleLiteralExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.TUPLE_LITERAL_PART : {
TupleLiteralPart<?, ?> tupleLiteralPart = (TupleLiteralPart<?, ?>) theEObject;
T result = caseTupleLiteralPart(tupleLiteralPart);
if (result == null)
result = caseTypedElement(tupleLiteralPart);
if (result == null)
result = caseVisitable(tupleLiteralPart);
if (result == null)
result = caseTypedASTNode(tupleLiteralPart);
if (result == null)
result = caseASTNode(tupleLiteralPart);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.TYPE_EXP : {
TypeExp<?> typeExp = (TypeExp<?>) theEObject;
T result = caseTypeExp(typeExp);
if (result == null)
result = caseOCLExpression(typeExp);
if (result == null)
result = caseTypedElement(typeExp);
if (result == null)
result = caseVisitable(typeExp);
if (result == null)
result = caseASTNode(typeExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.UNSPECIFIED_VALUE_EXP : {
UnspecifiedValueExp<?> unspecifiedValueExp = (UnspecifiedValueExp<?>) theEObject;
T result = caseUnspecifiedValueExp(unspecifiedValueExp);
if (result == null)
result = caseOCLExpression(unspecifiedValueExp);
if (result == null)
result = caseTypedASTNode(unspecifiedValueExp);
if (result == null)
result = caseTypedElement(unspecifiedValueExp);
if (result == null)
result = caseVisitable(unspecifiedValueExp);
if (result == null)
result = caseASTNode(unspecifiedValueExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
case ExpressionsPackage.VARIABLE_EXP : {
VariableExp<?, ?> variableExp = (VariableExp<?, ?>) theEObject;
T result = caseVariableExp(variableExp);
if (result == null)
result = caseOCLExpression(variableExp);
if (result == null)
result = caseTypedElement(variableExp);
if (result == null)
result = caseVisitable(variableExp);
if (result == null)
result = caseASTNode(variableExp);
if (result == null)
result = defaultCase(theEObject);
return result;
}
default :
return defaultCase(theEObject);
}
}
/**
* Returns the result of interpreting the object as an instance of '<em>Association Class Call Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Association Class Call Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, P> T caseAssociationClassCallExp(
AssociationClassCallExp<C, P> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Boolean Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Boolean Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseBooleanLiteralExp(BooleanLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Call Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Call Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseCallExp(CallExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Collection Item</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Collection Item</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseCollectionItem(CollectionItem<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Collection Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Collection Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseCollectionLiteralExp(CollectionLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Collection Literal Part</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Collection Literal Part</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseCollectionLiteralPart(CollectionLiteralPart<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Collection Range</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Collection Range</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseCollectionRange(CollectionRange<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Enum Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Enum Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, EL> T caseEnumLiteralExp(EnumLiteralExp<C, EL> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Feature Call Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Feature Call Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseFeatureCallExp(FeatureCallExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>If Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>If Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseIfExp(IfExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Integer Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Integer Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseIntegerLiteralExp(IntegerLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Unlimited Natural Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Unlimited Natural Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseUnlimitedNaturalLiteralExp(
UnlimitedNaturalLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Invalid Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Invalid Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseInvalidLiteralExp(InvalidLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Iterate Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Iterate Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, PM> T caseIterateExp(IterateExp<C, PM> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Iterator Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Iterator Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, PM> T caseIteratorExp(IteratorExp<C, PM> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Let Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Let Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, PM> T caseLetExp(LetExp<C, PM> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseLiteralExp(LiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Loop Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Loop Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, PM> T caseLoopExp(LoopExp<C, PM> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Message Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Message Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, COA, SSA> T caseMessageExp(MessageExp<C, COA, SSA> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Navigation Call Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Navigation Call Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, P> T caseNavigationCallExp(NavigationCallExp<C, P> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Null Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Null Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseNullLiteralExp(NullLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Numeric Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Numeric Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseNumericLiteralExp(NumericLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>OCL Expression</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>OCL Expression</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseOCLExpression(OCLExpression<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Operation Call Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Operation Call Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, O> T caseOperationCallExp(OperationCallExp<C, O> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Primitive Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Primitive Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T casePrimitiveLiteralExp(PrimitiveLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Property Call Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Property Call Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, P> T casePropertyCallExp(PropertyCallExp<C, P> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Real Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Real Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseRealLiteralExp(RealLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>State Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>State Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, S> T caseStateExp(StateExp<C, S> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>String Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>String Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseStringLiteralExp(StringLiteralExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Tuple Literal Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Tuple Literal Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, P> T caseTupleLiteralExp(TupleLiteralExp<C, P> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Tuple Literal Part</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Tuple Literal Part</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, P> T caseTupleLiteralPart(TupleLiteralPart<C, P> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Type Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Type Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseTypeExp(TypeExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Unspecified Value Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Unspecified Value Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseUnspecifiedValueExp(UnspecifiedValueExp<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Variable</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Variable</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, PM> T caseVariable(Variable<C, PM> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Variable Exp</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Variable Exp</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C, PM> T caseVariableExp(VariableExp<C, PM> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Typed Element</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Typed Element</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public <C> T caseTypedElement(TypedElement<C> object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Visitable</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Visitable</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseVisitable(Visitable object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>AST Node</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>AST Node</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseASTNode(ASTNode object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Calling AST Node</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Calling AST Node</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseCallingASTNode(CallingASTNode object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Typed AST Node</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Typed AST Node</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseTypedASTNode(TypedASTNode object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch, but this is the last case anyway.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>EObject</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
*/
@Override
public T defaultCase(EObject object) {
return null;
}
} //ExpressionsSwitch