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.Reference; import st.gravel.support.compiler.ast.Reference.Reference_Factory; import st.gravel.support.compiler.ast.AbsoluteReference; public class ClassReference extends Reference implements Cloneable { public static ClassReference_Factory factory = new ClassReference_Factory(); AbsoluteReference _reference; public static class ClassReference_Factory extends Reference_Factory { public ClassReference basicNew() { ClassReference newInstance = new ClassReference(); newInstance.initialize(); return newInstance; } public ClassReference reference_(final AbsoluteReference _anAbsoluteReference) { return this.basicNew().initializeReference_(_anAbsoluteReference); } } static public ClassReference _reference_(Object receiver, final AbsoluteReference _anAbsoluteReference) { return factory.reference_(_anAbsoluteReference); } public ClassReference copy() { try { ClassReference _temp1 = (ClassReference) this.clone(); _temp1.postCopy(); return _temp1; } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } } @Override public boolean equals(final Object _anObject) { if (!(this.getClass() == _anObject.getClass())) { return false; } if (this._reference == null) { if (!(((ClassReference) _anObject)._reference == null)) { return false; } } else { if (!st.gravel.support.jvm.ObjectExtensions.equals_(this._reference, ((ClassReference) _anObject)._reference)) { return false; } } return true; } public ClassReference_Factory factory() { return factory; } @Override public int hashCode() { return (7 ^ (_reference == null ? 0 : _reference.hashCode())); } public ClassReference initializeReference_(final AbsoluteReference _anAbsoluteReference) { _reference = _anAbsoluteReference; this.initialize(); return this; } @Override public boolean isMeta() { return true; } @Override public Reference meta() { throw new RuntimeException("niy"); } @Override public AbsoluteReference namespace() { return _reference.namespace(); } @Override public AbsoluteReference nonmeta() { return _reference; } @Override public ClassReference printOn_(final StringBuilder _aStream) { _reference.printOn_(_aStream); _aStream.append(" class"); return this; } public AbsoluteReference reference() { return _reference; } }