package typinferenz; import java.util.Vector; import mycompiler.mytype.*; import mycompiler.myclass.*; import mycompiler.mytype.TypePlaceholder; public class FunNMethod extends Method{ /** * * @param N - Anzahl der Parameter (Beispiel: Fun2) */ public FunNMethod(Vector paralist){ super(0); //Hat keinen Offset, da nur theoretisch gedachte Methode int N = paralist.size(); //In der paraliste ist der erste Parameter der Rückgabetyp this.setType(paralist.firstElement()); this.set_DeclId(new DeclId("apply")); ParameterList pl = new ParameterList(); Vector fpList = new Vector(); for(int i = 1;i fpList = new Vector(); for(int i = 1;i<=N;i++){ //Alle verbleibenden Elemente in der übergebenen paralist durchgehen. DeclId paramName = new DeclId("T"+i); FormalParameter parameter = new FormalParameter(paramName); parameter.setType(TypePlaceholder.fresh(parameter)); //parameter.set_DeclId(paramName); fpList.add(parameter); } pl.formalparameter = fpList; this.parameterlist = pl; } @Override public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, ResultSet resultSet) { return null; } }