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 classType.Base
-
Constructor Summary
Constructors Constructor Description Type()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract booleancontains(UnknownType v)Test si le type dépend du type variable vabstract booleanequals(Type t)Test d'égalitéabstract Typesubstitute(UnknownType v, Type t)SubstitutionTypesubstituteAll(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
-
-