## Uses of Class
de.dhbwstuttgart.typeinference.Pair

Packages that use Pair
de.dhbwstuttgart.core
de.dhbwstuttgart.parser
de.dhbwstuttgart.syntaxtree
de.dhbwstuttgart.syntaxtree.type
de.dhbwstuttgart.typeinference
de.dhbwstuttgart.typeinference.typedeployment
de.dhbwstuttgart.typeinference.unify

### Uses of Pair in de.dhbwstuttgart.core

Fields in de.dhbwstuttgart.core with type parameters of type Pair
`Menge<Pair>` MyCompiler.`testPair`

### Uses of Pair in de.dhbwstuttgart.parser

Fields in de.dhbwstuttgart.parser with type parameters of type Pair
`Menge<Pair>` JavaParser.`testPair`

### Uses of Pair in de.dhbwstuttgart.syntaxtree

Methods in de.dhbwstuttgart.syntaxtree that return Pair
`private Pair` SourceFile.`createPairFromClassAndSuperclass(Class baseClass, Type superclass, Menge classParaOrg, Menge superclassParaOrg, TypeAssumptions ass)` Erstellt ein Typ-Paar, welches im 1.

### Uses of Pair in de.dhbwstuttgart.syntaxtree.type

Fields in de.dhbwstuttgart.syntaxtree.type declared as Pair
`protected Pair` GenericTypeVar.`genericConstraint`

### Uses of Pair in de.dhbwstuttgart.typeinference

Fields in de.dhbwstuttgart.typeinference declared as Pair
`private Pair` ConstraintPair.`p`

Fields in de.dhbwstuttgart.typeinference with type parameters of type Pair
`private Menge<Pair>` TypeinferenceResultSet.`constraints` Alle Constraints vor der Unifizierung.
`(package private) Menge<Pair>` ResultSet.`resultPairs`

Methods in de.dhbwstuttgart.typeinference that return Pair
`Pair` Pair.`clone()` Author: Arne LÃ¼dtke Erzeugt einen Klon des Paares.
`Pair` Pair.`copyPair()`
`Pair` SingleConstraint.`getPair()`
`Pair` ConstraintPair.`getPair()`

Methods in de.dhbwstuttgart.typeinference that return types with arguments of type Pair
`Menge<Pair>` TypeinferenceResultSet.`getConstraints()`
`Menge<Pair>` ResultSet.`getConstraintsFor(Menge<TypePlaceholder> typePlaceholders)` Sammelt alle Constraints, welche mit den Ã¼bergebenen TPH's in Verbindung stehen.
`Menge<Pair>` ResultSet.`getResultSet()`
`java.util.Iterator<Pair>` ResultSet.`iterator()`
`java.util.Iterator<Pair>` UndConstraint.`iterator()`

Methods in de.dhbwstuttgart.typeinference with parameters of type Pair
`boolean` Pair.`Pair_isEquiv(Pair p)`

Method parameters in de.dhbwstuttgart.typeinference with type arguments of type Pair
`void` ConstraintsSet.`add(KomplexeMenge<Pair> constraint)`
`private int` ResultSet.`findPairWithTypeEqualTo(Type type, Menge<Pair> inResultPairs)`
`boolean` Pair.`isInMenge(Menge<Pair> V)`

Constructor parameters in de.dhbwstuttgart.typeinference with type arguments of type Pair
Constructor and Description
`ResultSet(Menge<Pair> resultSet)`
`TypeinferenceResultSet(Class inferedClass, Menge<Pair> constraints, ResultSet unifiedConstraints)`

### Uses of Pair in de.dhbwstuttgart.typeinference.typedeployment

Fields in de.dhbwstuttgart.typeinference.typedeployment declared as Pair
`private Pair` GenericVarExtendsDeclarationPatch.`genericPair`

Methods in de.dhbwstuttgart.typeinference.typedeployment with parameters of type Pair
`void` GenericVarPatch.`add(Pair p)` FÃ¼gt eine generische Variable in Form eines Pairs an.

Method parameters in de.dhbwstuttgart.typeinference.typedeployment with type arguments of type Pair
`void` GenericVarPatch.`addPairs(Menge<Pair> pairs)`
`private boolean` TypeInsertSet.`pairsDeclareTPH(Menge<Pair> ps, TypePlaceholder tph)`

Constructors in de.dhbwstuttgart.typeinference.typedeployment with parameters of type Pair
Constructor and Description
`GenericVarExtendsDeclarationPatch(Pair p)`

### Uses of Pair in de.dhbwstuttgart.typeinference.unify

Fields in de.dhbwstuttgart.typeinference.unify with type parameters of type Pair
`(package private) Menge<Pair>` FC_TTO.`FC`
`(package private) Menge<Pair>` MUB.`generateGenerics`

Methods in de.dhbwstuttgart.typeinference.unify that return Pair
`static Pair` Unify.`isInFC(RefType R1, RefType R2, Menge<Pair> FC)`
`private static Pair` Unify.`isInFClinks(RefType RT1, RefType RT2, Menge<Pair> FC)`
`static Pair` Unify.`isInFCrechtsUnify(RefType RT1, RefType RT2, FC_TTO fc_tto)`

Methods in de.dhbwstuttgart.typeinference.unify that return types with arguments of type Pair
`Menge<Menge<Pair>>` Unifier.`apply(Menge<Pair> E)`
`private static Menge<Menge<Pair>>` Unify.`cartProductPair(Menge<Menge<Pair>> vec)` Ãberladung der Funktion cartProductPair, damit der Programmierer beim ersten Aufruf nicht den 2.
`private static Menge<Menge<Pair>>` Unify.`cartProductPair(Menge<Menge<Pair>> vec, int index)` Erzeugt das Kartesische Product von mehreren Mengeen von Paaren.
`static Menge<Menge<Pair>>` Unify.`copyMengeMengePair(Menge<Menge<Pair>> vp)`
`static Menge<Pair>` Unify.`copyMengePair(Menge<Pair> vp)`
`private static Menge<Menge<Pair>>` Unify.`generateSetOfSetOfPair(Type TA1, Menge<? extends Type> otherPairTypes)` Diese Methode generiert einen Menge<Menge<Pair>> wobei immer der Ã¼bergebene TA1 vorne steht, und jeder Typ aus otherPairTypes hinten.
`Menge<Pair>` FC_TTO.`getFC()`
`Menge<Pair>` MUB.`getUnifier()`
`static Menge<Menge<Pair>>` Unify.`instanceSmaller(Pair P, FC_TTO fc_tto)`
`static Menge<Pair>` Unify.`sub_unify(Menge<Pair> E, FC_TTO fc_tto)`
`static Menge<Pair>` Unify.`sub_unify(Menge<Pair> E, FC_TTO fc_tto, boolean useSubst)`
`static Menge<Pair>` Unify.`SubstHashtable2MengePair(java.util.Hashtable<JavaClassName,Type> ht)`
`static Menge<Menge<Pair>>` Unify.`unify(Menge<Pair> E, FC_TTO fc_tto)` Einstieg in die Unifizierung mit Wildcards
`static Menge<Menge<Pair>>` Unify.`unify(Type ty1, Type ty2, FC_TTO fc_tto)` Unifiziert ein Pair mit den Elementen ty1 und ty2 -> (ty1 < ty2)
`static Menge<Menge<Pair>>` Unify.`unifyFiltered(Menge<Pair> E, FC_TTO fc_tto, boolean filter)`
`static Menge<Menge<Pair>>` Unify.`unifyWC(Pair P, FC_TTO fc_tto)` Einstieg in die Unifizierung mit Wildcards
`static Menge<Menge<Pair>>` Unify.`unifyWC(Type ty1, Type ty2, FC_TTO fc_tto)` Einstieg in die Unifizierung mit Wildcards

Methods in de.dhbwstuttgart.typeinference.unify with parameters of type Pair
`private static void` Unify.`adapt(Menge<Pair> H, Pair PFC, RefType TA1, RefType TA2, FC_TTO fc_tto)` Implementiert die adapt Regel des sub_unify
`private static void` Unify.`adaptExt(Menge<Pair> H, Pair PFC, RefType TA1, RefType TA2, FC_TTO fc_tto)` Implementiert die adaptExt Regel des sub_unify
`private static void` Unify.`adaptSup(Menge<Pair> H, Pair PFC, RefType TA1, RefType TA2, FC_TTO fc_tto)` Implementiert die adaptSup Regel des sub_unify
`static Menge<Menge<Pair>>` Unify.`instanceSmaller(Pair P, FC_TTO fc_tto)`
`static boolean` Unify.`Subst(Pair P, int nTypnrInPair, TypePlaceholder a, Type o, boolean bMitVorbedingung)`
`static Menge<Menge<Pair>>` Unify.`unifyWC(Pair P, FC_TTO fc_tto)` Einstieg in die Unifizierung mit Wildcards

Method parameters in de.dhbwstuttgart.typeinference.unify with type arguments of type Pair
`private static void` Unify.`adapt(Menge<Pair> H, Pair PFC, RefType TA1, RefType TA2, FC_TTO fc_tto)` Implementiert die adapt Regel des sub_unify
`private static void` Unify.`adaptExt(Menge<Pair> H, Pair PFC, RefType TA1, RefType TA2, FC_TTO fc_tto)` Implementiert die adaptExt Regel des sub_unify
`private static void` Unify.`adaptSup(Menge<Pair> H, Pair PFC, RefType TA1, RefType TA2, FC_TTO fc_tto)` Implementiert die adaptSup Regel des sub_unify
`static Menge<RefType>` Unify.`allGreater(RefType ty, Menge<Pair> FC)`
`static Menge<RefType>` Unify.`allSmaller(RefType ty, Menge<Pair> FC)`
`Menge<Menge<Pair>>` Unifier.`apply(Menge<Pair> E)`
`private static Menge<Menge<Pair>>` Unify.`cartProductPair(Menge<Menge<Pair>> vec)` Ãberladung der Funktion cartProductPair, damit der Programmierer beim ersten Aufruf nicht den 2.
`private static Menge<Menge<Pair>>` Unify.`cartProductPair(Menge<Menge<Pair>> vec, int index)` Erzeugt das Kartesische Product von mehreren Mengeen von Paaren.
`static Menge<Menge<Pair>>` Unify.`copyMengeMengePair(Menge<Menge<Pair>> vp)`
`static Menge<Pair>` Unify.`copyMengePair(Menge<Pair> vp)`
`static boolean` Unify.`hasSolvedForm(Menge<Pair> E)`
`static Pair` Unify.`isInFC(RefType R1, RefType R2, Menge<Pair> FC)`
`private static Pair` Unify.`isInFClinks(RefType RT1, RefType RT2, Menge<Pair> FC)`
`static java.util.Hashtable<JavaClassName,Type>` Unify.`MengePair2SubstHashtableMengePair(Menge<Pair> v)`
`private UnifyResult` ParallelUnify.`parallelUnify(Menge<Pair> pairs, FC_TTO fc)`
`static void` Unify.`printMenge(java.lang.String strMenge, Menge<Pair> E, int nDebug)`
`static void` Unify.`printMengeUnifier(java.lang.String strMenge, Menge<Menge<Pair>> Uni, int nDebug)`
`private static void` Unify.`reduce1(Menge<Pair> H, RefType TA1, RefType TA2, Menge TTO)` Implementiert die reduce1 Regel des sub_unify
`private static void` Unify.`reduce2(Menge<Pair> H, RefType TA1, RefType TA2, Menge TTO)` Implementiert die reduce2 Regel des sub_unify
`private static void` Unify.`reduceEq(Menge<Pair> H, RefType TA1, RefType TA2, Menge TTO)` Implementiert die reduceEq Regel des sub_unify Da in reduce2 unnÃ¶tigerweise pi verwendet wird (siehe Kommentar in reduce2), kann reduceEq einfach an reduce2 deligieren.
`private static void` Unify.`reduceExt(Menge<Pair> H, RefType TA1, RefType TA2, Menge TTO)` Implementiert die reduceExt Regel des sub_unify
`private static void` Unify.`reduceSup(Menge<Pair> H, RefType TA1, RefType TA2, Menge TTO)` Implementiert die reduceSup Regel des sub_unify
`static Menge<Pair>` Unify.`sub_unify(Menge<Pair> E, FC_TTO fc_tto)`
`static Menge<Pair>` Unify.`sub_unify(Menge<Pair> E, FC_TTO fc_tto, boolean useSubst)`
`private static void` Unify.`testUnifyErg(Menge<Menge<Pair>> unifyErgs, RefType test)` Diese Methode wird verwendet, um Zuordnungen z.B.
`static Menge<Menge<Pair>>` Unify.`unify(Menge<Pair> E, FC_TTO fc_tto)` Einstieg in die Unifizierung mit Wildcards
`static Menge<Menge<Pair>>` Unify.`unifyFiltered(Menge<Pair> E, FC_TTO fc_tto, boolean filter)`

Constructors in de.dhbwstuttgart.typeinference.unify with parameters of type Pair
Constructor and Description
`CSubstitution(Pair unifier)`

Constructor parameters in de.dhbwstuttgart.typeinference.unify with type arguments of type Pair
Constructor and Description
`CSubstitutionSet(Menge<Pair> unifiers)`
`FC_TTO(Menge<Pair> fc, Menge tto, Menge<Class> classv)`
`MUB(Menge<? extends Type> M, Menge<Pair> s)`