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.ClassDiff.ClassDiff_Factory;
import st.gravel.support.compiler.ast.ClassNode;
import st.gravel.support.compiler.ast.DiffVisitor;
import st.gravel.support.compiler.ast.Reference;
abstract public class NewClassDiff extends ClassDiff implements Cloneable {
public static NewClassDiff_Factory factory = new NewClassDiff_Factory();
ClassNode _classNode;
public static class NewClassDiff_Factory extends ClassDiff_Factory {
public NewClassDiff basicNew() {
throw new RuntimeException("NewClassDiff is an abstract class");
}
public NewClassDiff classNode_(final ClassNode _aClassNode) {
return ((NewClassDiff) this.basicNew().initializeClassNode_(_aClassNode));
}
}
static public NewClassDiff _classNode_(Object receiver, final ClassNode _aClassNode) {
return factory.classNode_(_aClassNode);
}
@Override
public DiffVisitor accept_(final DiffVisitor _visitor) {
return _visitor.visitNewClassDiff_(this);
}
@Override
public abstract NewClassDiff beStatic();
public ClassNode classNode() {
return _classNode;
}
public NewClassDiff copy() {
try {
NewClassDiff _temp1 = (NewClassDiff) this.clone();
_temp1.postCopy();
return _temp1;
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
}
public NewClassDiff_Factory factory() {
return factory;
}
public NewClassDiff initializeClassNode_(final ClassNode _aClassNode) {
_classNode = _aClassNode;
this.initialize();
return this;
}
@Override
public boolean isNewClassDiff() {
return true;
}
@Override
public Reference reference() {
return _classNode.reference();
}
@Override
public Reference superclassReference() {
return _classNode.superclassReference();
}
}