blob: 9995a869b629be8aaf0f30c172cd3e656832d260 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 CEA LIST 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:
* E.D.Willink(CEA LIST) - Initial API and implementation
*
* </copyright>
*
* This code is auto-generated
* from: org.eclipse.ocl.examples.codegen/model/cgmodel.genmodel
*
* Only the copyright statement is editable.
*******************************************************************************/
package org.eclipse.ocl.examples.codegen.cgmodel.util;
import org.eclipse.jdt.annotation.NonNull;
/**
* An AbstractExtendingNonNullCGModelVisitor provides a default implementation for each
* visitXxx method that delegates to the visitYyy method of the first
* super class, (or transitively its first super class first super class
* until a non-interface super-class is found). In the absence of any
* suitable first super class, the method delegates to visiting().
* The return in annotated as @NonNull.
*/
public abstract class AbstractNonNullExtendingCGModelVisitor<R, C>
extends AbstractCGModelVisitor<R, C>
implements CGModelVisitor<R>
{
/**
* Initializes me with an initial value for my result.
*
* @param context my initial result value
*/
protected AbstractNonNullExtendingCGModelVisitor(@NonNull C context) {
super(context);
}
/**
* Perform a visit to the specified visitable.
*
* @param visitable a visitable
* @return the non-null result of visiting it
*/
@Override
public @NonNull R visit(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGElement visitable) {
R result = visitable.accept(this);
if (result == null) {
throw new IllegalStateException("null return from non-null " + getClass().getName());
}
return result;
}
@Override
public @NonNull R visitCGAccumulator(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGAccumulator object) {
return visitCGIterator(object);
}
@Override
public @NonNull R visitCGAssertNonNullExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGAssertNonNullExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGBoolean(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGBoolean object) {
return visitCGConstant(object);
}
@Override
public @NonNull R visitCGBoxExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGBoxExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGBuiltInIterationCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGBuiltInIterationCallExp object) {
return visitCGIterationCallExp(object);
}
@Override
public @NonNull R visitCGCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGCallExp object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGCallable(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGCallable object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGCastExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGCastExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGCatchExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGCatchExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGClass(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGClass object) {
return visitCGNamedElement(object);
}
@Override
public @NonNull R visitCGCollectionExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGCollectionExp object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGCollectionPart(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGCollectionPart object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGConstant(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGConstant object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGConstantExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGConstantExp object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGConstraint(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGConstraint object) {
return visitCGCallable(object);
}
@Override
public @NonNull R visitCGConstructorExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGConstructorExp object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGConstructorPart(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGConstructorPart object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGEcoreClassConstructorExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGEcoreClassConstructorExp object) {
return visitCGConstructorExp(object);
}
@Override
public @NonNull R visitCGEcoreDataTypeConstructorExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGEcoreDataTypeConstructorExp object) {
return visitCGConstructorExp(object);
}
@Override
public @NonNull R visitCGEcoreOperation(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGEcoreOperation object) {
return visitCGOperation(object);
}
@Override
public @NonNull R visitCGEcoreOperationCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGEcoreOperationCallExp object) {
return visitCGOperationCallExp(object);
}
@Override
public @NonNull R visitCGEcoreOppositePropertyCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGEcoreOppositePropertyCallExp object) {
return visitCGOppositePropertyCallExp(object);
}
@Override
public @NonNull R visitCGEcorePropertyCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGEcorePropertyCallExp object) {
return visitCGPropertyCallExp(object);
}
@Override
public @NonNull R visitCGElement(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGElement object) {
return visiting(object);
}
@Override
public @NonNull R visitCGElementId(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGElementId object) {
return visitCGConstant(object);
}
@Override
public @NonNull R visitCGExecutorCompositionProperty(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorCompositionProperty object) {
return visitCGExecutorProperty(object);
}
@Override
public @NonNull R visitCGExecutorConstructorPart(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorConstructorPart object) {
return visitCGExecutorProperty(object);
}
@Override
public @NonNull R visitCGExecutorNavigationProperty(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorNavigationProperty object) {
return visitCGExecutorProperty(object);
}
@Override
public @NonNull R visitCGExecutorOperation(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorOperation object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGExecutorOperationCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorOperationCallExp object) {
return visitCGOperationCallExp(object);
}
@Override
public @NonNull R visitCGExecutorOppositeProperty(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorOppositeProperty object) {
return visitCGExecutorProperty(object);
}
@Override
public @NonNull R visitCGExecutorOppositePropertyCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorOppositePropertyCallExp object) {
return visitCGOppositePropertyCallExp(object);
}
@Override
public @NonNull R visitCGExecutorProperty(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorProperty object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGExecutorPropertyCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorPropertyCallExp object) {
return visitCGPropertyCallExp(object);
}
@Override
public @NonNull R visitCGExecutorType(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGExecutorType object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGFinalVariable(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGFinalVariable object) {
return visitCGVariable(object);
}
@Override
public @NonNull R visitCGGuardExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGGuardExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGIfExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGIfExp object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGInteger(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGInteger object) {
return visitCGNumber(object);
}
@Override
public @NonNull R visitCGInvalid(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGInvalid object) {
return visitCGConstant(object);
}
@Override
public @NonNull R visitCGIsEqualExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGIsEqualExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGIsInvalidExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGIsInvalidExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGIsUndefinedExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGIsUndefinedExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGIterationCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGIterationCallExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGIterator(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGIterator object) {
return visitCGParameter(object);
}
@Override
public @NonNull R visitCGLetExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGLetExp object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGLibraryIterateCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGLibraryIterateCallExp object) {
return visitCGLibraryIterationCallExp(object);
}
@Override
public @NonNull R visitCGLibraryIterationCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGLibraryIterationCallExp object) {
return visitCGIterationCallExp(object);
}
@Override
public @NonNull R visitCGLibraryOperation(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGLibraryOperation object) {
return visitCGOperation(object);
}
@Override
public @NonNull R visitCGLibraryOperationCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGLibraryOperationCallExp object) {
return visitCGOperationCallExp(object);
}
@Override
public @NonNull R visitCGLibraryPropertyCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGLibraryPropertyCallExp object) {
return visitCGPropertyCallExp(object);
}
@Override
public @NonNull R visitCGLocalVariable(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGLocalVariable object) {
return visitCGVariable(object);
}
@Override
public @NonNull R visitCGModel(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGModel object) {
return visitCGNamedElement(object);
}
@Override
public @NonNull R visitCGNamedElement(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGNamedElement object) {
return visitCGElement(object);
}
@Override
public @NonNull R visitCGNavigationCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGNavigationCallExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGNull(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGNull object) {
return visitCGConstant(object);
}
@Override
public @NonNull R visitCGNumber(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGNumber object) {
return visitCGConstant(object);
}
@Override
public @NonNull R visitCGOperation(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGOperation object) {
return visitCGCallable(object);
}
@Override
public @NonNull R visitCGOperationCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGOperationCallExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGOppositePropertyCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGOppositePropertyCallExp object) {
return visitCGNavigationCallExp(object);
}
@Override
public @NonNull R visitCGPackage(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGPackage object) {
return visitCGNamedElement(object);
}
@Override
public @NonNull R visitCGParameter(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGParameter object) {
return visitCGVariable(object);
}
@Override
public @NonNull R visitCGProperty(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGProperty object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGPropertyCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGPropertyCallExp object) {
return visitCGNavigationCallExp(object);
}
@Override
public @NonNull R visitCGReal(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGReal object) {
return visitCGNumber(object);
}
@Override
public @NonNull R visitCGSettableVariable(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGSettableVariable object) {
return visitCGVariable(object);
}
@Override
public @NonNull R visitCGString(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGString object) {
return visitCGConstant(object);
}
@Override
public @NonNull R visitCGText(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGText object) {
return visitCGConstant(object);
}
@Override
public @NonNull R visitCGTextParameter(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGTextParameter object) {
return visitCGParameter(object);
}
@Override
public @NonNull R visitCGThrowExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGThrowExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGTupleExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGTupleExp object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGTuplePart(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGTuplePart object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGTuplePartCallExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGTuplePartCallExp object) {
return visitCGPropertyCallExp(object);
}
@Override
public @NonNull R visitCGTypeExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGTypeExp object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGTypeId(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGTypeId object) {
return visitCGElementId(object);
}
@Override
public @NonNull R visitCGTypedElement(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGTypedElement object) {
return visitCGNamedElement(object);
}
@Override
public @NonNull R visitCGUnboxExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGUnboxExp object) {
return visitCGCallExp(object);
}
@Override
public @NonNull R visitCGUnlimited(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGUnlimited object) {
return visitCGConstant(object);
}
@Override
public @NonNull R visitCGValuedElement(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGValuedElement object) {
return visitCGTypedElement(object);
}
@Override
public @NonNull R visitCGVariable(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGVariable object) {
return visitCGValuedElement(object);
}
@Override
public @NonNull R visitCGVariableExp(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGVariableExp object) {
return visitCGValuedElement(object);
}
/**
* Return the result of visiting a visitable for which no more specific pivot type method
* is available.
*/
@Override
public abstract @NonNull R visiting(@NonNull org.eclipse.ocl.examples.codegen.cgmodel.CGElement visitable);
}