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 java.util.Map;
import st.gravel.support.compiler.ast.VariableDeclarationNode;
import st.gravel.support.compiler.ast.SharedDeclarationNode;
import st.gravel.support.compiler.ast.MethodNode;
import st.gravel.support.compiler.ast.TraitUsageNode;
import st.gravel.support.compiler.ast.ClassNode;
import st.gravel.support.compiler.ast.SourceFile;
abstract public class Producer extends Object implements Cloneable {
public static Producer_Factory factory = new Producer_Factory();
public static class Producer_Factory extends st.gravel.support.jvm.SmalltalkFactory {
public Producer basicNew() {
throw new RuntimeException("Producer is an abstract class");
}
}
public Producer copy() {
try {
Producer _temp1 = (Producer) this.clone();
_temp1.postCopy();
return _temp1;
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
}
public Producer_Factory factory() {
return factory;
}
public Producer initialize() {
return this;
}
public Producer postCopy() {
return this;
}
public abstract ClassNode produceClass_superclassPath_properties_instVars_classInstVars_sharedVariables_instanceMethods_classMethods_namespace_traitUsage_classTraitUsage_(final String _aString, final String _superclassPath, final Map<String, String> _properties, final VariableDeclarationNode[] _instVars, final VariableDeclarationNode[] _classInstVars, final SharedDeclarationNode[] _sharedVariables, final MethodNode[] _instanceMethods, final MethodNode[] _classMethods, final String[] _anArray, final TraitUsageNode _traitUsage, final TraitUsageNode _classTraitUsage);
public MethodNode produceMethod_namespace_(final String _aString, final String[] _anArray) {
return this.produceMethod_sourceFile_namespace_(_aString, null, _anArray);
}
public abstract MethodNode produceMethod_sourceFile_namespace_(final String _aString, final SourceFile _sourceFile, final String[] _anArray);
public abstract VariableDeclarationNode produceVariableDeclaration_type_(final String _name, final String _type);
}