|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectmycompiler.mytype.Type
mycompiler.mytype.TyploseVariable
public class TyploseVariable
Repr�sentiert einen Typparameter f�r einen vom Programmierer nicht angegeben Typ.
Jede TyploseVariable besitzt einen eindeutigen Namen aus einem Namenspool und
ist in einer zentralen Registry, d.h. einer Hashtable abgelegt.
| Field Summary |
|---|
| Fields inherited from class mycompiler.mytype.Type |
|---|
hamaDebug, name, used |
| Method Summary | |
|---|---|
void |
addReplacementListener(ITypeReplacementListener listener)
Author: J�rg B�uerle |
static TyploseVariable |
backdoorCreate(java.lang.String name)
Backdoor-Hilfsfunktion, die f�r makeFC() und unify() ben�tigt wird,
zum Erzeugen einer TyplosenVariable, die nicht in der zentralen Registry eingetragen
wird. |
static TyploseVariable |
backdoorFresh()
Backdoor-Hilfsfunktion, die f�r makeFC() und unify() ben�tigt wird,
um neue typlose Variablen zu erzeugen. |
void |
backdoorSetName(java.lang.String varName)
Backdoor-Hilfsfunktion, die f�r makeFC() und unify() ben�tigt wird,
um den Namen einer typlosen Variablen zu ver�ndern. |
TyploseVariable |
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. |
boolean |
containsListener(ITypeReplacementListener listener)
Author: J�rg B�uerle |
static void |
deleteRegistry()
L�scht die komplette Registry von TyplosenVariablen. |
boolean |
equals(java.lang.Object obj)
Author: J�rg B�uerle |
void |
fireReplaceTypeEvent(CReplaceTypeEvent e)
Author: J�rg B�uerle |
static TyploseVariable |
fresh()
Erzeugt eine neue TyploseVariable mit einem eindeutigen Namen. |
static TyploseVariable |
getInstance(java.lang.String name)
Statische Methode, um einen typlose Variable aus der Registry zu holen. |
de.dhbwstuttgart.typeinference.Menge<java.lang.Integer> |
getLineNumbers()
|
java.util.Iterator<ITypeReplacementListener> |
getReplacementListeners()
Author: J�rg B�uerle |
void |
removeAllReplacementListeners()
Author: J�rg B�uerle |
void |
removeReplacementListener(ITypeReplacementListener listener)
Author: J�rg B�uerle |
void |
replaceWithType(Type newType)
Diese Methode geht alle TypeReplacmentListener durch und tauscht �ber deren Callback-Methode diesen Typ gegen den neuen aus. |
| Methods inherited from class mycompiler.mytype.Type |
|---|
get_codegen_Type, get_Name, get_UsedId, getName, set_UsedId, toString, Type2Key, Type2String |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Method Detail |
|---|
public static TyploseVariable getInstance(java.lang.String name)
name - Der Name der typlosen Variablen
null, falls sie nicht in der Registry
existiertpublic static TyploseVariable fresh()
TyploseVariable mit einem eindeutigen Namen. Die
erzeugte Instanz ist die einzig im Syntaxbaum existierende Instanz dieser Variablen.
TyploseVariablepublic boolean equals(java.lang.Object obj)
equals in class TypeObject -
public void addReplacementListener(ITypeReplacementListener listener)
addReplacementListener in interface IReplaceTypeEventProviderlistener - public boolean containsListener(ITypeReplacementListener listener)
containsListener in interface IReplaceTypeEventProviderlistener -
public void removeReplacementListener(ITypeReplacementListener listener)
removeReplacementListener in interface IReplaceTypeEventProviderlistener - public void removeAllReplacementListeners()
removeAllReplacementListeners in interface IReplaceTypeEventProviderpublic void fireReplaceTypeEvent(CReplaceTypeEvent e)
fireReplaceTypeEvent in interface IReplaceTypeEventProvidere - public java.util.Iterator<ITypeReplacementListener> getReplacementListeners()
getReplacementListeners in interface IReplaceTypeEventProviderpublic void replaceWithType(Type newType)
newType - public de.dhbwstuttgart.typeinference.Menge<java.lang.Integer> getLineNumbers()
public static void deleteRegistry()
MyCompiler.init() aufgerufen werden!!!
public TyploseVariable clone()
clone in class Typepublic static TyploseVariable backdoorFresh()
makeFC() und unify() ben�tigt wird,
um neue typlose Variablen zu erzeugen. Die erzeugten Variablen werden nicht registriert und
sind v�llig losgel�st vom abstrakten Syntaxbaum.
TyploseVariablepublic void backdoorSetName(java.lang.String varName)
makeFC() und unify() ben�tigt wird,
um den Namen einer typlosen Variablen zu ver�ndern.TyploseVariable darf nicht Teil des abstrakten Syntaxbaumes sein!!!
Es muss sicher gestellt werden, dass die betreffende TyploseVariable nicht �ber die Methode
fresh(), sondern �ber backdoorCreate() oder backdoorClone()
erzeugt worden ist.
varName - Der Name der zu erzeugenden TyplosenVariablepublic static TyploseVariable backdoorCreate(java.lang.String name)
makeFC() und unify() ben�tigt wird,
zum Erzeugen einer TyplosenVariable, die nicht in der zentralen Registry eingetragen
wird. Die erzeugte Variablen ist somit v�llig losgel�st vom abstrakten Syntaxbaum.
name -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||