2013-10-18 11:33:46 +00:00
|
|
|
// ino.module.ArgumentList.8621.package
|
2014-09-02 08:33:54 +00:00
|
|
|
package de.dhbwstuttgart.syntaxtree.statement;
|
2013-10-18 11:33:46 +00:00
|
|
|
// ino.end
|
|
|
|
// ino.module.ArgumentList.8621.import
|
|
|
|
import java.util.Iterator;
|
|
|
|
import java.util.Vector;
|
|
|
|
|
2014-09-04 14:35:44 +00:00
|
|
|
import de.dhbwstuttgart.bytecode.ClassFile;
|
|
|
|
import de.dhbwstuttgart.bytecode.CodeAttribute;
|
|
|
|
import de.dhbwstuttgart.bytecode.JVMCode;
|
|
|
|
import de.dhbwstuttgart.myexception.JVMCodeException;
|
2014-09-02 08:33:54 +00:00
|
|
|
import de.dhbwstuttgart.syntaxtree.FormalParameter;
|
|
|
|
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
|
|
|
import de.dhbwstuttgart.typeinference.ResultSet;
|
2013-10-18 11:33:46 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ino.class.ArgumentList.24911.declaration
|
|
|
|
public class ArgumentList
|
|
|
|
// ino.end
|
|
|
|
// ino.class.ArgumentList.24911.body
|
|
|
|
{
|
|
|
|
// ino.attribute.expr.24914.declaration
|
|
|
|
public Vector<Expr> expr = new Vector<Expr>();
|
|
|
|
// 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<Expr> 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
|