public class LambdaExpression extends Expr
Constructor and Description |
---|
LambdaExpression(int offset,
int variableLength) |
Modifier and Type | Method and Description |
---|---|
void |
addOffsetsToExpression(CTypeAssumption localAssumption,
java.lang.String NameVariable,
boolean isMemberVariable) |
boolean |
addOffsetsToStatement(CTypeAssumption localAssumption,
java.lang.String NameVariable,
boolean isMemberVariable) |
void |
codegen(ClassFile classfile,
CodeAttribute code,
de.dhbwstuttgart.typeinference.Menge paralist) |
java.lang.String |
get_Name() |
java.lang.String |
getTypeInformation() |
java.lang.String |
printJavaCode(ResultSet resultSet) |
void |
sc_check(de.dhbwstuttgart.typeinference.Menge<Class> classlist,
java.util.Hashtable ch,
java.util.Hashtable<java.lang.String,java.lang.String> bh,
boolean ext,
java.util.Hashtable parach,
java.util.Hashtable<java.lang.String,java.util.Hashtable> parabh) |
void |
setBody(Block block) |
void |
setExpr(Expr expression) |
void |
setParameterList(ParameterList params) |
java.lang.String |
toString() |
CTripleSet |
TRExp(CSubstitutionSet sigma,
CTypeAssumptionSet V,
CSupportData supportData) |
CTripleSet |
TRStatement(CSubstitutionSet sigma,
CTypeAssumptionSet V,
CSupportData supportData) |
ConstraintsSet |
TYPEExpr(TypeAssumptions assumptions)
Spezifikation:
TYPEExpr( Ass, Lambda( (x1 , . . . , xN ), expr|stmt ) ) =
let
AssArgs = { xi : ai | ai fresh type variables }
(exprt : rty, ConS) = TYPEExpr( Ass ∪ AssArgs, expr )
| (stmtt : rty, ConS) = TYPEStmt( Ass u AssArgs, stmt )
in
(Lambda( (x1 : a1 , . . . , xN : aN ), exprt : rty|stmtt : rty ) : a,
ConS ∪ { (FunN
|
ConstraintsSet |
TYPEStmt(TypeAssumptions ass) |
void |
wandleRefTypeAttributes2GenericAttributes(de.dhbwstuttgart.typeinference.Menge<Type> paralist,
de.dhbwstuttgart.typeinference.Menge<GenericTypeVar> genericMethodParameters) |
get_Name_Menge, get_Type_Menge, get_UsedId, set_Type, set_UsedId, TRMultiply, TRTuple
getType, getTypeLineNumber, getTypeName
getOffset, getTypeVariable, getVariableLength, replaceType, setType, setTypeVariable
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
replaceType
public void setBody(Block block)
public void setExpr(Expr expression)
public void setParameterList(ParameterList params)
public void sc_check(de.dhbwstuttgart.typeinference.Menge<Class> classlist, java.util.Hashtable ch, java.util.Hashtable<java.lang.String,java.lang.String> bh, boolean ext, java.util.Hashtable parach, java.util.Hashtable<java.lang.String,java.util.Hashtable> parabh) throws SCStatementException
sc_check
in class Expr
SCStatementException
public void codegen(ClassFile classfile, CodeAttribute code, de.dhbwstuttgart.typeinference.Menge paralist) throws JVMCodeException
codegen
in class Statement
JVMCodeException
public CTripleSet TRStatement(CSubstitutionSet sigma, CTypeAssumptionSet V, CSupportData supportData) throws CTypeReconstructionException
TRStatement
in class Statement
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 Expr
public CTripleSet TRExp(CSubstitutionSet sigma, CTypeAssumptionSet V, CSupportData supportData) throws CTypeReconstructionException
TRExp
in class Expr
CTypeReconstructionException
public void addOffsetsToExpression(CTypeAssumption localAssumption, java.lang.String NameVariable, boolean isMemberVariable)
addOffsetsToExpression
in class Expr
public ConstraintsSet TYPEExpr(TypeAssumptions assumptions)
public ConstraintsSet TYPEStmt(TypeAssumptions ass)
public java.lang.String getTypeInformation()
getTypeInformation
in class Statement
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String printJavaCode(ResultSet resultSet)
printJavaCode
in class Statement