package st.gravel.support.compiler.ast;
/*
This file is automatically generated from typed smalltalk source. Do not edit by hand.
(C) AG5.com
*/
import java.math.BigInteger;
import st.gravel.support.jvm.NonLocalReturn;
import st.gravel.support.compiler.ast.ClassDiff;
import st.gravel.support.compiler.ast.AddClassDiff;
import st.gravel.support.compiler.ast.NodeVisitorError;
import st.gravel.support.compiler.ast.NewClassDiff;
import st.gravel.support.compiler.ast.RemoveClassDiff;
import st.gravel.support.compiler.ast.UpdateClassDiff;
import st.gravel.support.compiler.ast.WrapJavaclassDiff;
public class DiffVisitor extends Object implements Cloneable {
public static DiffVisitor_Factory factory = new DiffVisitor_Factory();
public static class DiffVisitor_Factory extends st.gravel.support.jvm.SmalltalkFactory {
public DiffVisitor basicNew() {
DiffVisitor newInstance = new DiffVisitor();
newInstance.initialize();
return newInstance;
}
}
public DiffVisitor copy() {
try {
DiffVisitor _temp1 = (DiffVisitor) this.clone();
_temp1.postCopy();
return _temp1;
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
}
public DiffVisitor_Factory factory() {
return factory;
}
public DiffVisitor initialize() {
return this;
}
public DiffVisitor postCopy() {
return this;
}
public DiffVisitor visitAddClassDiff_(final AddClassDiff _anObject) {
return this.visitNewClassDiff_(_anObject);
}
public DiffVisitor visitClassDiff_(final ClassDiff _anObject) {
throw NodeVisitorError.factory.basicNew();
}
public DiffVisitor visitNewClassDiff_(final NewClassDiff _anObject) {
return this.visitClassDiff_(_anObject);
}
public DiffVisitor visitRemoveClassDiff_(final RemoveClassDiff _anObject) {
return this.visitClassDiff_(_anObject);
}
public DiffVisitor visitUpdateClassDiff_(final UpdateClassDiff _anObject) {
return this.visitClassDiff_(_anObject);
}
public DiffVisitor visitWrapJavaclassDiff_(final WrapJavaclassDiff _anObject) {
return this.visitNewClassDiff_(_anObject);
}
public DiffVisitor visit_(final ClassDiff _anObject) {
_anObject.accept_(this);
return this;
}
}