// ino.module.Expr.8630.package package mycompiler.mystatement; // ino.end // ino.module.Expr.8630.import import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.ConstraintsSet; import typinferenz.assumptions.TypeAssumptions; import mycompiler.myclass.Class; import mycompiler.myclass.UsedId; import mycompiler.myexception.CTypeReconstructionException; import mycompiler.myexception.SCStatementException; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.CMultiplyTuple; import mycompiler.mytypereconstruction.CSubstitution; import mycompiler.mytypereconstruction.CSupportData; import mycompiler.mytypereconstruction.CTriple; import mycompiler.mytypereconstruction.set.CMultiplyTupleSet; import mycompiler.mytypereconstruction.set.CSubstitutionSet; import mycompiler.mytypereconstruction.set.CTripleSet; import mycompiler.mytypereconstruction.set.CTypeAssumptionSet; import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption; // ino.end // ino.class.Expr.25225.declaration public abstract class Expr extends ExprStmt // ino.end // ino.class.Expr.25225.body { // ino.method.Expr.25229.definition public Expr(int offset, int variableLength) // ino.end // ino.method.Expr.25229.body { super(offset, variableLength); } // ino.end // ino.attribute.usedid.25232.declaration public UsedId usedid; //String type; ab sofort in die Klasse ExprStmt verlegt. last1 17.03.02 // ino.end // ino.method.set_Type.25235.definition public void set_Type(Type type) // ino.end // ino.method.set_Type.25235.body { this.setType(type); } // ino.end // ino.method.set_UsedId.25238.definition public void set_UsedId(UsedId ui) // ino.end // ino.method.set_UsedId.25238.body { this.usedid = ui; } // ino.end // ino.method.get_UsedId.25241.definition public UsedId get_UsedId() // ino.end // ino.method.get_UsedId.25241.body { return usedid; } // ino.end // ino.method.get_Name_Vector.25244.definition public Vector get_Name_Vector() // ino.end // ino.method.get_Name_Vector.25244.body { return usedid.get_Name(); } // ino.end // ino.method.get_Type_Vector.25247.definition public Vector get_Type_Vector() // ino.end // ino.method.get_Type_Vector.25247.body { return usedid.get_Typen(); } // ino.end // ino.method.get_Name.25253.declaration public abstract String get_Name(); // ino.end /** * @author AI10023 - Andreas Stadelmeier * Implementierung des Java 8 - Typinferenzalgorithmus von Martin Plümicke * Jede Expression wird im Zuge des Algorithmus durch die TYPEExpr-Funktion angesprochen. */ public abstract ConstraintsSet TYPEExpr(TypeAssumptions assumptions); /** * @author AI10023 - Andreas Stadelmeier * Die Funktion überschreiben, damit sie von Expressions nicht mehr spezifiziert werden muss. * Denn Expressions müssen diese Funktion nicht implementieren. */ @Override public ConstraintsSet TYPEStmt(TypeAssumptions assumptions){ throw new NotImplementedException(); //wird die TYPEStmt-Methode innerhalb einer Expr aufgerufen, dann ist etwas schief gelaufen. } public abstract void addOffsetsToExpression(CTypeAssumption localAssumption,String NameVariable,boolean isMemberVariable); public boolean addOffsetsToStatement(CTypeAssumption localAssumption,String NameVariable,boolean isMemberVariable) { return true; } } // ino.end