/******************************************************************************* * Copyright (c) 2008 CWI. * 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: * jurgen@vinju.org *******************************************************************************/ package org.rascalmpl.value.visitors; import org.rascalmpl.value.IBool; import org.rascalmpl.value.IConstructor; import org.rascalmpl.value.IDateTime; import org.rascalmpl.value.IExternalValue; import org.rascalmpl.value.IInteger; import org.rascalmpl.value.IList; import org.rascalmpl.value.IMap; import org.rascalmpl.value.INode; import org.rascalmpl.value.IRational; import org.rascalmpl.value.IReal; import org.rascalmpl.value.ISet; import org.rascalmpl.value.ISourceLocation; import org.rascalmpl.value.IString; import org.rascalmpl.value.ITuple; import org.rascalmpl.value.visitors.IValueVisitor; /** * Extend this class to easily create a reusable generic visitor implementation. * */ public abstract class VisitorAdapter<T, E extends Throwable> implements IValueVisitor<T,E> { protected IValueVisitor<T,E> fVisitor; public VisitorAdapter(IValueVisitor<T,E> visitor) { this.fVisitor = visitor; } public T visitReal(IReal o) throws E { return fVisitor.visitReal(o); } public T visitInteger(IInteger o) throws E { return fVisitor.visitInteger(o); } public T visitRational(IRational o) throws E { return fVisitor.visitRational(o); } public T visitList(IList o) throws E { return fVisitor.visitList(o); } public T visitMap(IMap o) throws E { return fVisitor.visitMap(o); } public T visitRelation(ISet o) throws E { return fVisitor.visitRelation(o); } public T visitSet(ISet o) throws E { return fVisitor.visitSet(o); } public T visitSourceLocation(ISourceLocation o) throws E { return fVisitor.visitSourceLocation(o); } public T visitString(IString o) throws E { return fVisitor.visitString(o); } public T visitNode(INode o) throws E { return fVisitor.visitNode(o); } public T visitConstructor(IConstructor o) throws E { return fVisitor.visitNode(o); } public T visitTuple(ITuple o) throws E { return fVisitor.visitTuple(o); } public T visitBoolean(IBool o) throws E { return fVisitor.visitBoolean(o); } public T visitDateTime(IDateTime o) throws E { return fVisitor.visitDateTime(o); } @Override public T visitListRelation(IList o) throws E { return fVisitor.visitListRelation(o); } @Override public T visitExternal(IExternalValue externalValue) throws E { return fVisitor.visitExternal(externalValue); } }