// ino.module.ArgumentList.8621.package package de.dhbwstuttgart.syntaxtree.statement; // ino.end // ino.module.ArgumentList.8621.import import java.util.Iterator; import java.util.Vector; import de.dhbwstuttgart.syntaxtree.FormalParameter; import de.dhbwstuttgart.typeinference.JavaCodeResult; import de.dhbwstuttgart.typeinference.ResultSet; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; import mycompiler.myexception.JVMCodeException; // ino.end // ino.class.ArgumentList.24911.declaration public class ArgumentList // ino.end // ino.class.ArgumentList.24911.body { // ino.attribute.expr.24914.declaration public Vector expr = new Vector(); // ino.end // ino.method.codegen.24917.definition public void codegen(ClassFile classfile, CodeAttribute code, Vector paralist) throws JVMCodeException // ino.end // ino.method.codegen.24917.body { for(int i = 0; i < expr.size(); i++) { expr.elementAt(i).codegen(classfile, code, paralist); } } // ino.end // ino.method.get_codegen_ArgumentList.24920.definition public String get_codegen_ArgumentList(Vector paralist) // ino.end // ino.method.get_codegen_ArgumentList.24920.body { String ret = "("; for(int i = 0; i < expr.size(); i++) { ret += JVMCode.get_codegen_Type(expr.elementAt(i).getTypeName(), paralist); } return ret + ")"; } // ino.end // ino.method.get_firstElement.24923.definition public Object get_firstElement() // ino.end // ino.method.get_firstElement.24923.body { return expr.firstElement(); } // ino.end /** * @author Andreas Stadelmeier, a10023 * @return Anzahl der Argumente in der ArgumentList */ public int size() { return expr.size(); } /** * @author Andreas Stadelmeier, a10023 * @param n * @return Das Element (Expr) in der Argumentliste an der Stelle n */ public Expr argumentAt(int n){ return expr.elementAt(n); } public String toString(){ if(expr == null)return "[]"; String ret = " [ "; for(Expr expr : this.expr){ ret += expr.toString()+", "; } return ret + "]"; } public JavaCodeResult printJavaCode(ResultSet resultSet) { JavaCodeResult ret = new JavaCodeResult(); Iterator it = this.expr.iterator(); while(it.hasNext()){ Expr expr = it.next(); ret.attach(expr.printJavaCode(resultSet)); if(it.hasNext())ret.attach(", "); } //if(this.expr.size()>0)ret = ret.substring(0, ret.length()-2); return ret; } } // ino.end