forked from JavaTX/JavaCompilerCore
99 lines
2.0 KiB
Java
Executable File
99 lines
2.0 KiB
Java
Executable File
// ino.module.ArgumentList.8621.package
|
|
package de.dhbwstuttgart.syntaxtree.statement;
|
|
// ino.end
|
|
// ino.module.ArgumentList.8621.import
|
|
import java.util.Iterator;
|
|
import de.dhbwstuttgart.typeinference.Menge;
|
|
|
|
import de.dhbwstuttgart.myexception.JVMCodeException;
|
|
import de.dhbwstuttgart.syntaxtree.FormalParameter;
|
|
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
|
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
|
import de.dhbwstuttgart.typeinference.ResultSet;
|
|
|
|
|
|
|
|
|
|
// ino.class.ArgumentList.24911.declaration
|
|
public class ArgumentList extends SyntaxTreeNode
|
|
// ino.end
|
|
// ino.class.ArgumentList.24911.body
|
|
{
|
|
// ino.attribute.expr.24914.declaration
|
|
public Menge<Expr> expr = new Menge<Expr>();
|
|
// 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;
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public int getOffset() {
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public int getVariableLength() {
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public Menge<? extends SyntaxTreeNode> getChildren() {
|
|
return expr;
|
|
}
|
|
|
|
}
|
|
// ino.end
|