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.ast.Expression; import st.gravel.support.compiler.jvm.Frame; import st.gravel.support.compiler.jvm.JVMDefinedObjectType; import st.gravel.support.compiler.jvm.JVMType; import st.gravel.support.compiler.jvm.GetStatic; import st.gravel.support.compiler.jvm.JVMInstruction; import st.gravel.support.compiler.jvm.PutStatic; import st.gravel.support.compiler.jvm.JVMField; public class JVMMethodConstant extends Object implements Cloneable { public static JVMMethodConstant_Factory factory = new JVMMethodConstant_Factory(); Expression _expression; Frame _frame; String _name; JVMDefinedObjectType _ownerType; JVMType _type; public static class JVMMethodConstant_Factory extends st.gravel.support.jvm.SmalltalkFactory { public JVMMethodConstant basicNew() { JVMMethodConstant newInstance = new JVMMethodConstant(); newInstance.initialize(); return newInstance; } public JVMMethodConstant expression_name_frame_ownerType_(final Expression _anExpression, final String _aString, final Frame _aFrame, final JVMDefinedObjectType _aJVMDefinedObjectType) { return this.expression_name_frame_ownerType_type_(_anExpression, _aString, _aFrame, _aJVMDefinedObjectType, _aFrame.endStack().peek()); } public JVMMethodConstant expression_name_frame_ownerType_type_(final Expression _anExpression, final String _aString, final Frame _aFrame, final JVMDefinedObjectType _ownerType, final JVMType _type) { st.gravel.support.jvm.ObjectExtensions.assert_(this, _ownerType != null); return this.basicNew().initializeExpression_name_frame_ownerType_type_(_anExpression, _aString, _aFrame, _ownerType, _type); } } static public JVMMethodConstant _expression_name_frame_ownerType_(Object receiver, final Expression _anExpression, final String _aString, final Frame _aFrame, final JVMDefinedObjectType _aJVMDefinedObjectType) { return factory.expression_name_frame_ownerType_(_anExpression, _aString, _aFrame, _aJVMDefinedObjectType); } static public JVMMethodConstant _expression_name_frame_ownerType_type_(Object receiver, final Expression _anExpression, final String _aString, final Frame _aFrame, final JVMDefinedObjectType _ownerType, final JVMType _type) { return factory.expression_name_frame_ownerType_type_(_anExpression, _aString, _aFrame, _ownerType, _type); } public GetStatic asReadInstruction() { return GetStatic.factory.ownerType_name_type_(_ownerType, _name, this.type()); } public JVMInstruction[] clinitInstructions() { return st.gravel.support.jvm.ArrayFactory.with_with_(_frame, PutStatic.factory.ownerType_name_type_(_ownerType, _name, _type)); } public JVMMethodConstant copy() { try { JVMMethodConstant _temp1 = (JVMMethodConstant) this.clone(); _temp1.postCopy(); return _temp1; } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } } public Expression expression() { return _expression; } public JVMMethodConstant_Factory factory() { return factory; } public JVMField fieldDefinition() { return JVMField.factory.ownerType_varName_type_isStatic_(_ownerType, _name, _type, true); } public Frame frame() { return _frame; } public JVMMethodConstant initialize() { return this; } public JVMMethodConstant initializeExpression_name_frame_ownerType_type_(final Expression _anExpression, final String _aString, final Frame _aFrame, final JVMDefinedObjectType _aJVMDefinedObjectType, final JVMType _aType) { _expression = _anExpression; _name = _aString; _frame = _aFrame; _ownerType = _aJVMDefinedObjectType; _type = _aType; this.initialize(); return this; } public String name() { return _name; } public JVMDefinedObjectType ownerType() { return _ownerType; } public JVMMethodConstant postCopy() { return this; } public JVMType type() { return _frame.type(); } }