/**
  *
  *                      OOAS Compiler
  *
  *       Copyright 2015, AIT Austrian Institute of Technology.
  * This code is based on the C# Version of the OOAS Compiler, which is
  * copyright 2015 by the Institute of Software Technology, Graz University
  * of Technology with portions copyright by the AIT Austrian Institute of
  * Technology. All rights reserved.
  *
  * SEE THE "LICENSE" FILE FOR THE TERMS UNDER WHICH THIS FILE IS PROVIDED.
  *
  * If you modify the file please update the list of contributors below to in-
  * clude your name. Please also stick to the coding convention of using TABs
  * to do the basic (block-level) indentation and spaces for anything after
  * that. (Enable the display of special chars and it should be pretty obvious
  * what this means.) Also, remove all trailing whitespace.
  *
  * Contributors:
  *               Willibald Krenn (AIT)
  *               Stephan Zimmerer (AIT)
  *               Markus Demetz (AIT)
  *               Christoph Czurda (AIT)
  *
  */


package org.momut.ooas.visitors;

import org.momut.ooas.ast.IAstVisitor;
import org.momut.ooas.ast.expressions.AccessExpression;
import org.momut.ooas.ast.expressions.BinaryOperator;
import org.momut.ooas.ast.expressions.CallExpression;
import org.momut.ooas.ast.expressions.ExistsQuantifier;
import org.momut.ooas.ast.expressions.ForallQuantifier;
import org.momut.ooas.ast.expressions.IdentifierExpression;
import org.momut.ooas.ast.expressions.ListConstructor;
import org.momut.ooas.ast.expressions.MapConstructor;
import org.momut.ooas.ast.expressions.ObjectConstructor;
import org.momut.ooas.ast.expressions.SetConstructor;
import org.momut.ooas.ast.expressions.TernaryOperator;
import org.momut.ooas.ast.expressions.TupleConstructor;
import org.momut.ooas.ast.expressions.TupleMapAccessExpression;
import org.momut.ooas.ast.expressions.TypeExpression;
import org.momut.ooas.ast.expressions.UnaryOperator;
import org.momut.ooas.ast.expressions.UnresolvedIdentifierExpression;
import org.momut.ooas.ast.expressions.ValueExpression;
import org.momut.ooas.ast.identifiers.AttributeIdentifier;
import org.momut.ooas.ast.identifiers.ConstantIdentifier;
import org.momut.ooas.ast.identifiers.EnumIdentifier;
import org.momut.ooas.ast.identifiers.ExpressionVariableIdentifier;
import org.momut.ooas.ast.identifiers.LocalVariableIdentifier;
import org.momut.ooas.ast.identifiers.MainModule;
import org.momut.ooas.ast.identifiers.MethodIdentifier;
import org.momut.ooas.ast.identifiers.Module;
import org.momut.ooas.ast.identifiers.NamedActionIdentifier;
import org.momut.ooas.ast.identifiers.NondetIdentifierList;
import org.momut.ooas.ast.identifiers.ParameterIdentifier;
import org.momut.ooas.ast.identifiers.PrioIdentifierList;
import org.momut.ooas.ast.identifiers.SelfTypeIdentifier;
import org.momut.ooas.ast.identifiers.SeqIdentifierList;
import org.momut.ooas.ast.identifiers.TypeIdentifier;
import org.momut.ooas.ast.identifiers.UnspecIdentifierList;
import org.momut.ooas.ast.statements.AbortStatement;
import org.momut.ooas.ast.statements.Assignment;
import org.momut.ooas.ast.statements.BreakStatement;
import org.momut.ooas.ast.statements.Call;
import org.momut.ooas.ast.statements.GuardedCommand;
import org.momut.ooas.ast.statements.KillStatement;
import org.momut.ooas.ast.statements.NondetBlock;
import org.momut.ooas.ast.statements.PrioBlock;
import org.momut.ooas.ast.statements.SeqBlock;
import org.momut.ooas.ast.statements.SkipStatement;
import org.momut.ooas.ast.types.AnyType;
import org.momut.ooas.ast.types.BoolType;
import org.momut.ooas.ast.types.CharType;
import org.momut.ooas.ast.types.EnumType;
import org.momut.ooas.ast.types.FloatType;
import org.momut.ooas.ast.types.FunctionType;
import org.momut.ooas.ast.types.IntType;
import org.momut.ooas.ast.types.ListType;
import org.momut.ooas.ast.types.MapType;
import org.momut.ooas.ast.types.MetaType;
import org.momut.ooas.ast.types.NullType;
import org.momut.ooas.ast.types.OoActionSystemType;
import org.momut.ooas.ast.types.OpaqueType;
import org.momut.ooas.ast.types.TupleType;

public class OoaEmptyVisitor implements IAstVisitor {
	@Override
	public String returnVisitorName() {
		return this.getClass().getSimpleName();
	}

	@Override
	public void done() {
	}

	@Override
	public void visit(EnumIdentifier enumIdentifier)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(AttributeIdentifier attributeIdentifier)   {throw new UnsupportedOperationException();}
	@Override
	public void visit(ExpressionVariableIdentifier expressionVariableIdentifier) {throw new UnsupportedOperationException();}
	@Override
	public void visit(ParameterIdentifier parameterIdentifier)   {throw new UnsupportedOperationException();}
	@Override
	public void visit(LocalVariableIdentifier localVariableIdentifier) {throw new UnsupportedOperationException();}
	@Override
	public void visit(TypeIdentifier typeIdentifier)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(SelfTypeIdentifier typeIdentifier)         {throw new UnsupportedOperationException();}
	@Override
	public void visit(MethodIdentifier methodIdentifier)         {throw new UnsupportedOperationException();}
	@Override
	public void visit(NamedActionIdentifier namedActionIdentifier) {throw new UnsupportedOperationException();}
	@Override
	public void visit(Module module)                             {throw new UnsupportedOperationException();}
	@Override
	public void visit(NondetIdentifierList nondetIdentifierList) {throw new UnsupportedOperationException();}
	@Override
	public void visit(SeqIdentifierList seqIdentifierList)       {throw new UnsupportedOperationException();}
	@Override
	public void visit(PrioIdentifierList prioIdentifierList)     {throw new UnsupportedOperationException();}
	@Override
	public void visit(UnspecIdentifierList unspecIdentifierList) {throw new UnsupportedOperationException();}
	@Override
	public void visit(ConstantIdentifier constantIdentifier)     {throw new UnsupportedOperationException();}
	@Override
	public void visit(NondetBlock nondetBlock)                   {throw new UnsupportedOperationException();}
	@Override
	public void visit(SeqBlock seqBlock)                         {throw new UnsupportedOperationException();}
	@Override
	public void visit(PrioBlock prioBlock)                       {throw new UnsupportedOperationException();}
	@Override
	public void visit(GuardedCommand guardedCommand)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(Assignment assignment)                     {throw new UnsupportedOperationException();}
	@Override
	public void visit(Call call)                                 {throw new UnsupportedOperationException();}
	@Override
	public void visit(SkipStatement skipStatement)               {throw new UnsupportedOperationException();}
	@Override
	public void visit(BreakStatement breakStatement)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(AbortStatement abortStatement)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(KillStatement killStatement)               {throw new UnsupportedOperationException();}
	@Override
	public <T> void visit(ValueExpression<T> valueExpression)    {throw new UnsupportedOperationException();}
	@Override
	public void visit(UnresolvedIdentifierExpression unresolvedIdentifierExpression) {throw new UnsupportedOperationException();}
	@Override
	public void visit(IdentifierExpression identifierExpression) {throw new UnsupportedOperationException();}
	@Override
	public void visit(ListConstructor listConstructor)           {throw new UnsupportedOperationException();}
	@Override
	public void visit(SetConstructor setConstructor)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(MapConstructor mapConstructor)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(TupleConstructor tupleConstructor)         {throw new UnsupportedOperationException();}
	@Override
	public void visit(ObjectConstructor objectConstructor)       {throw new UnsupportedOperationException();}
	@Override
	public void visit(AccessExpression accessExpression)         {throw new UnsupportedOperationException();}
	@Override
	public void visit(BinaryOperator binaryOperator)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(TernaryOperator ternaryOperator)           {throw new UnsupportedOperationException();}
	@Override
	public void visit(TupleMapAccessExpression tupleMapAccessExpression) {throw new UnsupportedOperationException();}
	@Override
	public void visit(CallExpression callExpression)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(ForallQuantifier quantifier)               {throw new UnsupportedOperationException();}
	@Override
	public void visit(ExistsQuantifier quantifier)               {throw new UnsupportedOperationException();}
	@Override
	public void visit(UnaryOperator unaryOperator)               {throw new UnsupportedOperationException();}
	@Override
	public void visit(TypeExpression typeExpression)             {throw new UnsupportedOperationException();}
	@Override
	public void visit(CharType charType)                         {throw new UnsupportedOperationException();}
	@Override
	public void visit(IntType intType)                           {throw new UnsupportedOperationException();}
	@Override
	public void visit(BoolType boolType)                         {throw new UnsupportedOperationException();}
	@Override
	public void visit(FloatType floatType)                       {throw new UnsupportedOperationException();}
	@Override
	public void visit(EnumType enumType)                         {throw new UnsupportedOperationException();}
	@Override
	public void visit(ListType listType)                         {throw new UnsupportedOperationException();}
	@Override
	public void visit(MapType mapType)                           {throw new UnsupportedOperationException();}
	@Override
	public void visit(TupleType tupleType)                       {throw new UnsupportedOperationException();}
	@Override
	public void visit(FunctionType functionType)                 {throw new UnsupportedOperationException();}
	@Override
	public void visit(OoActionSystemType ooActionSystemType)     {throw new UnsupportedOperationException();}
	@Override
	public void visit(OpaqueType opaqueType)                     {throw new UnsupportedOperationException();}
	@Override
	public void visit(AnyType anyType)                           {throw new UnsupportedOperationException();}
	@Override
	public void visit(NullType nullType)                         {throw new UnsupportedOperationException();}
	@Override
	public void visit(MetaType metaType)                         {throw new UnsupportedOperationException();}
	@Override
	public void visit(MainModule mainModule)                     {throw new UnsupportedOperationException();}
}
