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.NodeVisitor; import st.gravel.support.compiler.jvm.JVMType; import st.gravel.support.compiler.ast.NodeVisitor.NodeVisitor_Factory; import st.gravel.support.compiler.ast.Node; import st.gravel.support.compiler.jvm.JVMDynamicObjectType; import st.gravel.support.compiler.ast.TypeNode; import st.gravel.support.compiler.ast.TypeVariableNode; import st.gravel.support.compiler.jvm.JVMIntType; import st.gravel.support.compiler.jvm.JVMBooleanType; public class TypeNodeToJVMTypeConverter extends NodeVisitor<JVMType> implements Cloneable { public static TypeNodeToJVMTypeConverter_Factory factory = new TypeNodeToJVMTypeConverter_Factory(); st.gravel.core.Symbol[] _namespace; public static class TypeNodeToJVMTypeConverter_Factory extends NodeVisitor_Factory<JVMType> { public TypeNodeToJVMTypeConverter basicNew() { TypeNodeToJVMTypeConverter newInstance = new TypeNodeToJVMTypeConverter(); newInstance.initialize(); return newInstance; } public TypeNodeToJVMTypeConverter namespace_(final st.gravel.core.Symbol[] _anArray) { return this.basicNew().initializeNamespace_(_anArray); } } static public TypeNodeToJVMTypeConverter _namespace_(Object receiver, final st.gravel.core.Symbol[] _anArray) { return factory.namespace_(_anArray); } public TypeNodeToJVMTypeConverter copy() { try { TypeNodeToJVMTypeConverter _temp1 = (TypeNodeToJVMTypeConverter) this.clone(); _temp1.postCopy(); return _temp1; } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } } public TypeNodeToJVMTypeConverter_Factory factory() { return factory; } public TypeNodeToJVMTypeConverter initializeNamespace_(final st.gravel.core.Symbol[] _anArray) { _namespace = _anArray; this.initialize(); return this; } public st.gravel.core.Symbol[] namespace() { return _namespace; } @Override public JVMType visitTypeNode_(final TypeNode _anObject) { return JVMDynamicObjectType.factory.basicNew(); } @Override public JVMType visitTypeVariableNode_(final TypeVariableNode _anObject) { if (st.gravel.support.jvm.StringExtensions.equals_(_anObject.name(), "Integer")) { return JVMIntType.factory.basicNew(); } if (st.gravel.support.jvm.StringExtensions.equals_(_anObject.name(), "Boolean")) { return JVMBooleanType.factory.basicNew(); } return JVMDynamicObjectType.factory.basicNew(); } @Override public JVMType visit_(final Node _anObject) { if (_anObject == null) { return JVMDynamicObjectType.factory.basicNew(); } return ((JVMType) _anObject.accept_(this)); } }