| Modifier and Type | Method and Description |
|---|---|
ConstraintsSet |
Constructor.TYPE(TypeAssumptions ass) |
ConstraintsSet |
FieldDeclaration.TYPE(TypeAssumptions publicAssumptions) |
ConstraintsSet |
Method.TYPE(TypeAssumptions ass) |
abstract ConstraintsSet |
Field.TYPE(TypeAssumptions publicAssumptions) |
ConstraintsSet |
Class.typeReconstruction(FC_TTO supportData,
TypeAssumptions globalAssumptions)
Ausgangspunkt f�r den Typrekonstruktionsalgorithmus.
|
| Modifier and Type | Method and Description |
|---|---|
ConstraintsSet |
ConstructorCall.overloading(TypeAssumptions assumptions) |
| Modifier and Type | Method and Description |
|---|---|
ConstraintsSet |
MethodCall.overloading(TypeAssumptions assumptions)
Erstellt die Constraints für den eigentlichen Methodenaufruf.
|
ConstraintsSet |
NegativeExpr.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
Assign.TYPEExpr(TypeAssumptions assumptions) |
abstract ConstraintsSet |
Expr.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
IntLiteral.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
PositivExpr.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
LambdaExpression.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 |
LocalOrFieldVar.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
DoubleLiteral.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
StringLiteral.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
CastExpr.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
This.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
MethodCall.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
Binary.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
InstVar.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
UnaryExpr.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
NewArray.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
NewClass.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
Null.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
BoolLiteral.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
CharLiteral.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
SuperCall.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
InstanceOf.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
ThisCall.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
LongLiteral.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
FloatLiteral.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
NotExpr.TYPEExpr(TypeAssumptions assumptions) |
ConstraintsSet |
Assign.TYPEStmt(TypeAssumptions assumptions)
Spezifikation:
TYPEStmt( Ass, stmt ) =
let (stmt : rty, ConS) = TYPEExpr( Ass, stmt )
in (stmt : Void, ConS)
|
ConstraintsSet |
Expr.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
LambdaExpression.TYPEStmt(TypeAssumptions ass) |
abstract ConstraintsSet |
Statement.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
Return.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
This.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
MethodCall.TYPEStmt(TypeAssumptions assumptions)
Spezifikation:
TYPEStmt( Ass, stmt ) =
let (stmt : rty, ConS) = TYPEExpr( Ass, stmt )
in (stmt : Void, ConS)
|
ConstraintsSet |
UnaryExpr.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
Block.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
ForStmt.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
NewClass.TYPEStmt(TypeAssumptions assumptions)
Spezifikation:
TYPEStmt( Ass, stmt ) =
let (stmt : rty, ConS) = TYPEExpr( Ass, stmt )
in (stmt : Void, ConS)
|
ConstraintsSet |
SuperCall.TYPEStmt(TypeAssumptions assumptions)
This kann auch als Konstruktoraufruf in einem Konstruktor-Block vorkommen.
|
ConstraintsSet |
IfStmt.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
WhileStmt.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
ThisCall.TYPEStmt(TypeAssumptions assumptions)
This kann auch als Konstruktoraufruf in einem Konstruktor-Block vorkommen.
|
ConstraintsSet |
EmptyStmt.TYPEStmt(TypeAssumptions assumptions) |
ConstraintsSet |
LocalVarDecl.TYPEStmt(TypeAssumptions assumptions) |
| Modifier and Type | Method and Description |
|---|---|
ConstraintsSet |
GenericTypeVar.TYPE(TypeAssumptions ass)
Die Type Methode auf generische Variablen angewandt sorgt für deren Eintragung in die TypeAssumptions.
|
ConstraintsSet |
BoundedGenericTypeVar.TYPE(TypeAssumptions ass) |
| Modifier and Type | Method and Description |
|---|---|
void |
ConstraintsSet.add(ConstraintsSet CSet) |
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
ParallelConstraintSet |
| Constructor and Description |
|---|
ParallelUnify(ConstraintsSet constraints) |