| Modifier and Type | Method and Description |
|---|---|
TypeInsertPoint |
FormalParameter.createTypeInsertPoint(TypePlaceholder tph,
ResultSet resultSet) |
TypeInsertPoint |
Field.createTypeInsertPoint(TypePlaceholder tph,
ResultSet resultSet) |
| Modifier and Type | Method and Description |
|---|---|
TypeInsertPoint |
LambdaParameter.createTypeInsertPoint(TypePlaceholder tph,
ResultSet resultSet) |
TypeInsertPoint |
LocalVarDecl.createTypeInsertPoint(TypePlaceholder tph,
ResultSet resultSet) |
| Modifier and Type | Field and Description |
|---|---|
private static java.util.Hashtable<JavaClassName,TypePlaceholder> |
TypePlaceholder.m_TypePlaceholdersRegistry |
private static java.util.HashMap<java.lang.String,TypePlaceholder> |
GenericTypeVar.tph
Eine Registry f�r alle Generic-Instanzen, die vor der Bytecode-Generierung durch
Ihre Superklasse ersetzt werden m�ssen.
|
| Modifier and Type | Method and Description |
|---|---|
static TypePlaceholder |
TypePlaceholder.backdoorCreate(java.lang.String name)
Backdoor-Hilfsfunktion, die f�r
makeFC() und unify()
ben�tigt wird, zum Erzeugen eines TypePlaceholders, der nicht in
der zentralen Registry eingetragen wird. |
static TypePlaceholder |
TypePlaceholder.backdoorFresh()
Backdoor-Hilfsfunktion, die f�r
makeFC() und unify()
ben�tigt wird, um neue TypePlaceholders zu erzeugen. |
TypePlaceholder |
TypePlaceholder.clone()
Diese Methode sollte nur sehr sparsam und mit Vorsicht verwendet werden, da die
Registrierung neuer Listener �ber die zentrale Instanz in der Registry laufen
muss.
|
static TypePlaceholder |
TypePlaceholder.fresh(java.lang.String name,
SyntaxTreeNode parent)
Generiert einen neuen TPH mit einem bestimmten Namen.
|
static TypePlaceholder |
TypePlaceholder.fresh(SyntaxTreeNode parent) |
static TypePlaceholder |
TypePlaceholder.getInstance(java.lang.String name)
Statische Methode, um einen TypePlaceholder aus der Registry zu holen.
|
TypePlaceholder |
GenericTypeVar.getTypePlaceHolder(SyntaxTreeNode environment) |
| Modifier and Type | Method and Description |
|---|---|
Menge<TypePlaceholder> |
ExtendsWildcardType.getInvolvedTypePlaceholder() |
Menge<TypePlaceholder> |
TypePlaceholder.getInvolvedTypePlaceholder() |
Menge<TypePlaceholder> |
SuperWildcardType.getInvolvedTypePlaceholder() |
Menge<TypePlaceholder> |
Type.getInvolvedTypePlaceholder()
Sammelt alle TypePlaceholder, welche in diesem Typ vorkommen.
|
Menge<TypePlaceholder> |
RefType.getInvolvedTypePlaceholder() |
Menge<TypePlaceholder> |
TypePlaceholder.getUnresolvedTPH(ResultSet resultSet) |
Menge<TypePlaceholder> |
Type.getUnresolvedTPH(ResultSet resultSet)
Sucht nach TPHs in diesem Typ, denen das resultSet keinen Typ zuordnen kann.
|
Menge<TypePlaceholder> |
RefType.getUnresolvedTPH(ResultSet resultSet) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
Type.involves(TypePlaceholder tph)
Prüft ob der Typ von dem übergebenen TypPlaceholder abhängt.
|
| Modifier and Type | Field and Description |
|---|---|
private Menge<TypePlaceholder> |
JavaCodeResult.unresolvedTPHs |
| Modifier and Type | Method and Description |
|---|---|
Menge<TypePlaceholder> |
Pair.getTypePlaceholder()
Gibt eine Liste aller TypePlaceholder die in diesem Pair enthalten sind zurück.
|
Menge<TypePlaceholder> |
JavaCodeResult.getUnresolvedTPH()
Liefert alle TPHs, welche in diesem JavaCodeResult nicht zu einem Typ aufgelöst wurden.
|
| Modifier and Type | Method and Description |
|---|---|
void |
JavaCodeResult.addUnresolvedTPH(TypePlaceholder typePlaceholder) |
TypeInsertPoint |
TypeInsertable.createTypeInsertPoint(TypePlaceholder tph,
ResultSet resultSet)
Errechnet den TypeInsertPoint für das TypeInsertable.
|
TypeInsertPoint |
FunNMethod.createTypeInsertPoint(TypePlaceholder tph,
ResultSet resultSet) |
Type |
TypeinferenceResultSet.getTypeOfPlaceholder(TypePlaceholder tph)
Ermittelt den in diesem ResultSet für den TypePlaceholder tph zugewiesenen Wert.
|
| Modifier and Type | Method and Description |
|---|---|
Menge<Pair> |
ResultSet.getConstraintsFor(Menge<TypePlaceholder> typePlaceholders)
Sammelt alle Constraints, welche mit den übergebenen TPH's in Verbindung stehen.
|
Menge<Type> |
ResultSet.getTypesInvolving(Menge<TypePlaceholder> unresolvedTPH)
Durchsucht das ResultSet nach Typen, die die übergebenen unresolvedTPHs als generische Variablen einbinden.
|
| Constructor and Description |
|---|
ConstraintType(TypePlaceholder t) |
| Constructor and Description |
|---|
TIPConstraints(Menge<TypePlaceholder> involvedTPHs) |
| Modifier and Type | Field and Description |
|---|---|
(package private) TypePlaceholder |
GenericVarDeclarationPatch.genericVar |
| Modifier and Type | Field and Description |
|---|---|
private Menge<TypePlaceholder> |
GenericVarPatch.usedTPHs |
| Modifier and Type | Method and Description |
|---|---|
void |
GenericVarPatch.add(TypePlaceholder tph) |
boolean |
GenericVarExtendsDeclarationPatch.definesGenericVar(TypePlaceholder tph)
Kontrolliert ob der T1 mit tph übereinstimmt im Constraint: T1 extends T2
|
private boolean |
TypeInsertSet.pairsDeclareTPH(Menge<Pair> ps,
TypePlaceholder tph) |
| Modifier and Type | Method and Description |
|---|---|
void |
GenericVarPatch.addTPHs(Menge<TypePlaceholder> TPHs) |
void |
GenericVarPatch.removeUnusedTPHs(Menge<TypePlaceholder> usedTPHs) |
| Constructor and Description |
|---|
GenericVarDeclarationPatch(TypePlaceholder p) |
| Modifier and Type | Field and Description |
|---|---|
private TypePlaceholder |
CSubstitution.m_TypeVar |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
Unify.isTVinRefType(TypePlaceholder TV,
RefType RT) |
void |
CSubstitution.setTypeVar(TypePlaceholder typeVar)
Author: J�rg B�uerle
|
static boolean |
Unify.Subst(Pair P,
int nTypnrInPair,
TypePlaceholder a,
Type o,
boolean bMitVorbedingung) |
| Modifier and Type | Method and Description |
|---|---|
static Menge<Menge<java.lang.Integer>> |
Unify.schnitt(Menge<Menge<TypePlaceholder>> vars)
Bildet Schnittmengen der Mengen von Typeplaceholders
Rueckgabe ist die Menge der Menge von Indizies die Schnittmengen sind.
|
(package private) static Menge<java.lang.Integer> |
Unify.schnitt1(Menge<TypePlaceholder> var,
Menge<Menge<TypePlaceholder>> vars,
Menge<java.lang.Integer> indexe)
PL 2014-10-25
schnitt1 checkt ob die Typeplaceholders aus in den Elemeneten aus vars enthalten sind
Rückgabe ist die Menge der Indizies von vars der Schnittmengen mit var nicht leer sind.
|
(package private) static Menge<java.lang.Integer> |
Unify.schnitt1(Menge<TypePlaceholder> var,
Menge<Menge<TypePlaceholder>> vars,
Menge<java.lang.Integer> indexe)
PL 2014-10-25
schnitt1 checkt ob die Typeplaceholders aus in den Elemeneten aus vars enthalten sind
Rückgabe ist die Menge der Indizies von vars der Schnittmengen mit var nicht leer sind.
|
| Constructor and Description |
|---|
CSubstitution(TypePlaceholder typeVar,
Type type) |