// ino.module.ParameterList.8565.package package de.dhbwstuttgart.syntaxtree; // ino.end // ino.module.ParameterList.8565.import import de.dhbwstuttgart.typeinference.Menge; import java.util.Iterator; import de.dhbwstuttgart.syntaxtree.type.RefType; import de.dhbwstuttgart.typeinference.JavaCodeResult; import de.dhbwstuttgart.typeinference.ResultSet; // ino.end // ino.class.ParameterList.23620.declaration public class ParameterList extends SyntaxTreeNode implements Iterable // ino.end // ino.class.ParameterList.23620.body { // ino.attribute.formalparameter.23623.declaration public Menge formalparameter = new Menge(); // ino.end // ino.method.set_AddParameter.23626.definition public void set_AddParameter(FormalParameter fp) // ino.end // ino.method.set_AddParameter.23626.body { formalparameter.addElement(fp); } // ino.end // ino.method.getParameterAt.23632.definition public FormalParameter getParameterAt(int i) // ino.end // ino.method.getParameterAt.23632.body { if (i >= formalparameter.size() ) return null; return formalparameter.elementAt(i); } // ino.end // ino.method.sc_get_Formalparalist.23635.definition public Menge sc_get_Formalparalist() // ino.end // ino.method.sc_get_Formalparalist.23635.body { return formalparameter; } // ino.end // ino.method.getParameterCount.23641.defdescription type=javadoc /** * Author: J�rg B�uerle
* @return Die Anzahl der Parameter */ // ino.end // ino.method.getParameterCount.23641.definition public int getParameterCount() // ino.end // ino.method.getParameterCount.23641.body { return formalparameter.size(); } // ino.end /** * @author Andreas Stadelmeier, a10023 * @return Die Typinformationen der Parameter in der Parameterliste */ public String getTypeInformation() { String ret = ""; for(FormalParameter param : this.formalparameter){ ret += param.getTypeInformation(); } return ret; } public String toString(){ if(formalparameter == null)return "[]"; //"Leere Parameterliste"; //String ret = "ParameterListe, "+formalparameter.size()+" Einträge [ "; String ret = " [ "; for(FormalParameter param : this.formalparameter){ ret += param.toString()+", "; } return ret + "]"; } public JavaCodeResult printJavaCode(ResultSet resultSet) { JavaCodeResult ret = new JavaCodeResult(); Iterator it = this.formalparameter.iterator(); while(it.hasNext()){ FormalParameter param = it.next(); ret.attach(param.printJavaCode(resultSet)); if(it.hasNext())ret.attach(", "); } //if(this.formalparameter.size()>0)ret = ret.substring(0, ret.length() - 2); return ret; } @Override public Iterator iterator() { return this.formalparameter.iterator(); } @Override public boolean equals(Object obj) { if(!(obj instanceof ParameterList))return false; ParameterList equals = (ParameterList)obj; if((this.formalparameter == null )!=(equals.formalparameter==null))return false; if(this.formalparameter!=null)return this.formalparameter.equals(equals.formalparameter); return true; } @Override public int getOffset() { if(formalparameter == null || formalparameter.size()==0)return 0; return formalparameter.firstElement().getOffset(); } @Override public int getVariableLength() { return 0; } @Override public Menge getChildren() { return formalparameter; } public int size() { return this.formalparameter.size(); } } // ino.end