public class IfStmt extends Statement
Modifier and Type | Field and Description |
---|---|
Statement |
else_block |
Expr |
expr |
boolean |
hamaDebug |
Statement |
then_block |
Constructor and Description |
---|
IfStmt(int offset,
int variableLength) |
Modifier and Type | Method and Description |
---|---|
boolean |
addOffsetsToStatement(CTypeAssumption localAssumption,
java.lang.String NameVariable,
boolean isMemberVariable) |
void |
codegen(ClassFile classfile,
CodeAttribute code,
de.dhbwstuttgart.typeinference.Menge paralist) |
int |
getTypeLineNumber()
Gibt die Zeilennummer zur�ck, in der eine
TypePlaceholder
angelegt worden ist. |
void |
if_codegen(ClassFile classfile,
CodeAttribute code,
boolean not,
de.dhbwstuttgart.typeinference.Menge paralist) |
java.lang.String |
printJavaCode(ResultSet resultSet) |
void |
replaceType(CReplaceTypeEvent e)
Tauscht einen Typ gegen einen anderen aus.
|
void |
set_Else_block(Statement blk) |
void |
set_Expr(Expr exp) |
void |
set_Then_block(Statement blk) |
CTripleSet |
TRStatement(CSubstitutionSet sigma,
CTypeAssumptionSet V,
CSupportData supportData)
Implementierung des Algorithmus 5.21 von Martin Pl�micke
Achtung Workaround: RefType "Boolean" durch BaseType \code{BooleanType} ersetzen. |
ConstraintsSet |
TYPEStmt(TypeAssumptions assumptions) |
void |
wandleRefTypeAttributes2GenericAttributes(de.dhbwstuttgart.typeinference.Menge<Type> paralist,
de.dhbwstuttgart.typeinference.Menge<GenericTypeVar> genericMethodParameters) |
getOffset, getTypeInformation, getTypeVariable, getVariableLength, setType, setTypeVariable
public boolean hamaDebug
public Expr expr
public Statement then_block
public Statement else_block
public void set_Expr(Expr exp)
public void set_Then_block(Statement blk)
public void set_Else_block(Statement blk)
public void codegen(ClassFile classfile, CodeAttribute code, de.dhbwstuttgart.typeinference.Menge paralist) throws JVMCodeException
codegen
in class Statement
JVMCodeException
public void if_codegen(ClassFile classfile, CodeAttribute code, boolean not, de.dhbwstuttgart.typeinference.Menge paralist) throws JVMCodeException
JVMCodeException
public CTripleSet TRStatement(CSubstitutionSet sigma, CTypeAssumptionSet V, CSupportData supportData) throws CTypeReconstructionException
TRStatement
in class Statement
sigma
- V
- supportData
- CTypeReconstructionException
public void wandleRefTypeAttributes2GenericAttributes(de.dhbwstuttgart.typeinference.Menge<Type> paralist, de.dhbwstuttgart.typeinference.Menge<GenericTypeVar> genericMethodParameters)
wandleRefTypeAttributes2GenericAttributes
in class Statement
public boolean addOffsetsToStatement(CTypeAssumption localAssumption, java.lang.String NameVariable, boolean isMemberVariable)
addOffsetsToStatement
in class Statement
public ConstraintsSet TYPEStmt(TypeAssumptions assumptions)
public void replaceType(CReplaceTypeEvent e)
ITypeReplacementListener
replaceType
in interface ITypeReplacementListener
replaceType
in class Statement
e
- Das Event mit dem neuen Typpublic int getTypeLineNumber()
ITypeReplacementListener
TypePlaceholder
angelegt worden ist.
public java.lang.String printJavaCode(ResultSet resultSet)
printJavaCode
in class Statement