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.AbstractMapping;
import st.gravel.support.compiler.ast.AbstractMapping.AbstractMapping_Factory;
import st.gravel.support.compiler.ast.ClassDescriptionNode;
import st.gravel.support.compiler.ast.SystemMapping;
import st.gravel.support.compiler.ast.BoundVariableDeclarationNode;
import st.gravel.support.compiler.ast.Reference;
abstract public class AbstractClassMapping extends AbstractMapping implements Cloneable {
public static AbstractClassMapping_Factory factory = new AbstractClassMapping_Factory();
ClassDescriptionNode _classNode;
public static class AbstractClassMapping_Factory extends AbstractMapping_Factory {
public AbstractClassMapping basicNew() {
throw new RuntimeException("AbstractClassMapping is an abstract class");
}
}
public abstract BoundVariableDeclarationNode[] allInstVarsIn_(final SystemMapping _aSystemMapping);
public ClassDescriptionNode classNode() {
return _classNode;
}
public AbstractClassMapping copy() {
try {
AbstractClassMapping _temp1 = (AbstractClassMapping) this.clone();
_temp1.postCopy();
return _temp1;
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
}
public AbstractClassMapping_Factory factory() {
return factory;
}
public abstract Class identityClass();
public Reference reference() {
return _classNode.reference();
}
public AbstractClassMapping superclassMappingIn_(final SystemMapping _aSystemMapping) {
final Reference _superclassReference;
_superclassReference = this.superclassReference();
if (_superclassReference == null) {
return null;
}
return _aSystemMapping.classMappingAtReference_(_superclassReference);
}
public Reference superclassReference() {
return _classNode.superclassReference();
}
}