package st.gravel.support.compiler.jvm; /* 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.jvm.Fork; import st.gravel.support.compiler.jvm.Fork.Fork_Factory; import st.gravel.support.compiler.jvm.PushTrue; import st.gravel.support.compiler.jvm.PushFalse; import st.gravel.support.compiler.jvm.Frame; import st.gravel.support.compiler.jvm.JVMInstructionVisitor; import st.gravel.support.compiler.jvm.JVMStack; import st.gravel.support.compiler.jvm.JVMInstruction; import st.gravel.support.compiler.jvm.JVMType; public class IfObjectsEqualThenElse extends Fork implements Cloneable { public static IfObjectsEqualThenElse_Factory factory = new IfObjectsEqualThenElse_Factory(); public static class IfObjectsEqualThenElse_Factory extends Fork_Factory { public IfObjectsEqualThenElse basicNew() { IfObjectsEqualThenElse newInstance = new IfObjectsEqualThenElse(); newInstance.initialize(); return newInstance; } @Override public IfObjectsEqualThenElse r_boolean() { return ((IfObjectsEqualThenElse) this.trueFrame_falseFrame_(PushTrue.factory.basicNew().asFrame(), PushFalse.factory.basicNew().asFrame())); } @Override public IfObjectsEqualThenElse trueFrame_falseFrame_(final Frame _aFrame, final Frame _aFrame2) { return ((IfObjectsEqualThenElse) this.basicNew().initializeTrueFrame_falseFrame_(_aFrame, _aFrame2)); } } static public IfObjectsEqualThenElse _r_boolean(Object receiver) { return factory.r_boolean(); } static public IfObjectsEqualThenElse _trueFrame_falseFrame_(Object receiver, final Frame _aFrame, final Frame _aFrame2) { return factory.trueFrame_falseFrame_(_aFrame, _aFrame2); } @Override public <X> X accept_(final JVMInstructionVisitor<X> _visitor) { return _visitor.visitIfObjectsEqualThenElse_(this); } public IfObjectsEqualThenElse copy() { try { IfObjectsEqualThenElse _temp1 = (IfObjectsEqualThenElse) this.clone(); _temp1.postCopy(); return _temp1; } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } } @Override public JVMInstruction effectStack_(final JVMStack _aJVMStack) { st.gravel.support.jvm.ObjectExtensions.assert_(this, _aJVMStack.pop().isObjectType()); st.gravel.support.jvm.ObjectExtensions.assert_(this, _aJVMStack.pop().isObjectType()); return this.pushTypeOnStack_(_aJVMStack); } public IfObjectsEqualThenElse_Factory factory() { return factory; } @Override public IfObjectsEqualThenElse initialize() { if (_trueFrame == null) { _trueFrame = PushTrue.factory.basicNew().asFrame(); } if (_falseFrame == null) { _falseFrame = PushFalse.factory.basicNew().asFrame(); } return this; } @Override public IfObjectsEqualThenElse initializeTrueFrame_falseFrame_(final Frame _aFrame, final Frame _aFrame2) { _trueFrame = _aFrame; _falseFrame = _aFrame2; this.initialize(); return this; } @Override public IfObjectsEqualThenElse printOn_(final StringBuilder _aStream) { final String _title; _title = this.factory().toString(); _aStream.append(st.gravel.support.jvm.CharacterExtensions.isVowel(_title.charAt(0)) ? "an " : "a "); _aStream.append(_title); _aStream.append('['); this.sourceOn_(_aStream); _aStream.append(']'); return this; } @Override public IfObjectsEqualThenElse pushTypeOnStack_(final JVMStack _aJVMStack) { if (!this.type().isBottomType()) { _aJVMStack.push_(IfObjectsEqualThenElse.this.type()); } return this; } @Override public IfObjectsEqualThenElse sourceOn_(final StringBuilder _aStream) { return this; } @Override public IfObjectsEqualThenElse withReturnType_(final JVMType _aType) { if (st.gravel.support.jvm.ObjectExtensions.equals_(this.type(), _aType)) { return IfObjectsEqualThenElse.this; } throw new RuntimeException("niy"); } }