Package Type
Class Type
- java.lang.Object
-
- Type.Type
-
- Direct Known Subclasses:
ArrayType
,FunctionType
,PrimitiveType
,UnknownType
public abstract class Type extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Type.Base
-
Constructor Summary
Constructors Constructor Description Type()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract boolean
contains(UnknownType v)
Test si le type dépend du type variable vabstract boolean
equals(Type t)
Test d'égalitéabstract Type
substitute(UnknownType v, Type t)
SubstitutionType
substituteAll(java.util.Map<UnknownType,Type> h)
Applique plusieurs substitutionsabstract java.util.Map<UnknownType,Type>
unify(Type t)
Unification
-
-
-
Method Detail
-
unify
public abstract java.util.Map<UnknownType,Type> unify(Type t)
Unification- Parameters:
t
- type à unifier- Returns:
- la liste des substitutions à effectuer (null si pas unifiable)
-
equals
public abstract boolean equals(Type t)
Test d'égalité- Parameters:
t
- type- Returns:
- boolean
-
substitute
public abstract Type substitute(UnknownType v, Type t)
Substitution- Parameters:
v
- type variable à substituert
- type par lequel remplacer v- Returns:
- Type obtenu en remplaçant v par t
-
substituteAll
public Type substituteAll(java.util.Map<UnknownType,Type> h)
Applique plusieurs substitutions- Parameters:
h
- liste de substitutions- Returns:
- Type obtenu en appliquant toutes les substitutions de h
-
contains
public abstract boolean contains(UnknownType v)
Test si le type dépend du type variable v- Parameters:
v
- type variable- Returns:
- boolean
-
-