114 lines
3.1 KiB
Java
Executable File
Raw Blame History

// ino.module.Expr.8630.package
package de.dhbwstuttgart.syntaxtree.statement;
// ino.end
// ino.module.Expr.8630.import
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Vector;
import de.dhbwstuttgart.myexception.CTypeReconstructionException;
import de.dhbwstuttgart.myexception.SCStatementException;
import de.dhbwstuttgart.syntaxtree.Class;
import de.dhbwstuttgart.syntaxtree.misc.UsedId;
import de.dhbwstuttgart.syntaxtree.type.Type;
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.typeinference.ConstraintsSet;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
import de.dhbwstuttgart.typeinference.exceptions.NotImplementedException;
// 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<50>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 <20>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.
}
}
// ino.end