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(java.lang.Object t)
Test d'égalitéint
hashCode()
Fonction de hashage pour les HashMapabstract Type
substitute(UnknownType v, Type t)
SubstitutionType
substituteAll(java.util.Map<UnknownType,Type> h)
Applique plusieurs substitutionsabstract java.lang.String
toString()
Convertit le type en String.abstract java.util.Map<UnknownType,Type>
unify(Type t)
Unification
-
-
-
Method Detail
-
hashCode
public int hashCode()
Fonction de hashage pour les HashMap- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hash du type
-
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(java.lang.Object t)
Test d'égalité- Overrides:
equals
in classjava.lang.Object
- Parameters:
t
- Object- 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
-
toString
public abstract java.lang.String toString()
Convertit le type en String. Deux types égaux doivent avoir la même String.- Overrides:
toString
in classjava.lang.Object
- Returns:
- String
-
-