public class RefType extends ObjectType implements IMatchable
| Modifier and Type | Field and Description |
|---|---|
private boolean |
IsArray
Ist IsArray auf true, muss beim Codegen ein Zeichen [ gesetzt werden
Bsp.: 15| tag = CONSTANT_Utf8, length = 22, ([Ljava/lang/String;)V
Ist IsArray auf false, muss beim Codegen ein Zeichen [ gesetzt werden
Bsp.: 9| tag = CONSTANT_Utf8, length = 21, (Ljava/lang/String;)V
|
private Menge<Type> |
parameter |
private boolean |
primitiveFlag
Ist primitiveFlag auf true, muss beim Codegen dieser Reftype durch
den primitiven Datentyp ersetzt werden
Bsp: java.lang.Integer mit Flag wird dann zu [int]
|
parent| Modifier | Constructor and Description |
|---|---|
|
RefType(JavaClassName jName,
SyntaxTreeNode parent,
int offset) |
|
RefType(RefType R,
SyntaxTreeNode parent,
int offset) |
|
RefType(java.lang.String fullyQualifiedName,
Menge parameter,
SyntaxTreeNode parent,
int offset) |
|
RefType(java.lang.String fullyQualifiedName,
SyntaxTreeNode parent,
int offset) |
protected |
RefType(SyntaxTreeNode parent,
int offset) |
|
RefType(Type baseType)
Erstellt einen Referenztyp aus dem übergebenen Type.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add_Parameter(Type o) |
Type |
applyResultSet(ResultSet result) |
Type |
checkTYPE(TypeAssumptions ass,
SyntaxTreeNode method) |
RefType |
clone()
Author: J�rg B�uerle |
boolean |
equals(java.lang.Object obj)
Author: Jrg Buerle
|
boolean |
Equiv2Equal(RefType ty2,
java.util.Hashtable<JavaClassName,Type> ht) |
GenericTypeVar |
findGenericType(Menge<Type> paralist,
Menge<GenericTypeVar> methodParaList)
HOTI
Diese Methode sucht in der Klassendefinition nach einen GTV, die
so heiÃt wie die im RefType definierte Variable.
|
CSubstitutionSet |
GenericTypeVar2TypePlaceholder()
Wandelt die Parameter des RefTypes in TPHs um, sofern es sich um Generische Variablen handelt.
|
java.lang.String |
get_Name() |
Menge<Type> |
get_ParaList() |
Menge<SyntaxTreeNode> |
getChildren() |
Menge<TypePlaceholder> |
getInvolvedTypePlaceholder()
Sammelt alle TypePlaceholder, welche in diesem Typ vorkommen.
|
Type |
getMatchType()
Author: Arne Lüdtke
Gibt den Typen zurück, der bei einem match im Unify verwendet werden soll. |
JavaClassName |
getName() |
Menge<Type> |
getParaList() |
java.lang.String |
getParaN(int n) |
boolean |
getPrimitiveFlag() |
java.lang.String |
getSimpleName()
HOTI
Liefert bei Klassen die fullyQualified angegeben wurden
nur den schlussendlichen Bezeichner
p.ex. de.dhbwstuttgart.typeinference.Menge => Menge
|
java.util.ArrayList<SuperWildcardType> |
getSuperWildcardTypes()
Liefert alle SuperWildcardTypes, die in diesem Typ enthalten sind.
|
java.lang.String |
getTypeName() |
Menge<TypePlaceholder> |
getUnresolvedTPH(ResultSet resultSet)
Sucht nach TPHs in diesem Typ, denen das resultSet keinen Typ zuordnen kann.
|
void |
GTV2TPH(SyntaxTreeNode environment)
Wandelt die Parameter des RefTypes in TPHs um, sofern es sich um Generische Variablen handelt.
|
int |
hashCode() |
boolean |
is_Equiv(RefType ty2,
java.util.Hashtable<JavaClassName,Type> ht) |
boolean |
IsArray()
Author: Daniel Feinler
Handelt ab, ob der Typ eines Objekts ein Array ist, wenn true dann wird im Bytecode ein flag gesetzt wenn nicht, dann halt nicht. |
boolean |
isTV(int n) |
void |
parserPostProcessing(SyntaxTreeNode parent)
Wird nach dem Parsen aufgerufen.
|
JavaCodeResult |
printJavaCode(ResultSet resultSet) |
void |
set_ParaList(Menge<Type> v)
Fügt eine Parameterliste an und tauscht zuvor alle GenerictTypeVars durch TPH aus.
|
void |
setArray(boolean IsArray)
Author: Daniel Feinler
Handelt ab, ob der Typ eines Objekts ein Array ist, wenn true dann wird im Bytecode ein flag gesetzt wenn nicht, dann halt nicht. |
void |
setName(JavaClassName name) |
void |
setName(java.lang.String name) |
void |
setPrimitiveFlag(boolean b) |
java.lang.String |
toString()
Author: J�rg B�uerle |
ConstraintType |
TYPE(TypeAssumptions ass,
SyntaxTreeNode parent)
Prüft ob der Typ in den Assumptions ass vorhanden ist.
|
java.lang.String |
Type2Key() |
java.lang.String |
Type2String() |
get_UsedId, getOffset, getVariableLength, involves, set_UsedId, setOffsetaddTypeInsertPoints, getDescription, getGTVDeclarationContext, getMatchingParentNode, getParent, getParentClass, seesTypeprivate boolean IsArray
private boolean primitiveFlag
protected RefType(SyntaxTreeNode parent, int offset)
public RefType(java.lang.String fullyQualifiedName,
SyntaxTreeNode parent,
int offset)
public RefType(java.lang.String fullyQualifiedName,
Menge parameter,
SyntaxTreeNode parent,
int offset)
public RefType(RefType R, SyntaxTreeNode parent, int offset)
public RefType(Type baseType)
baseType - public RefType(JavaClassName jName, SyntaxTreeNode parent, int offset)
public int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String Type2String()
Type2String in class Typepublic CSubstitutionSet GenericTypeVar2TypePlaceholder()
public void GTV2TPH(SyntaxTreeNode environment)
public GenericTypeVar findGenericType(Menge<Type> paralist, Menge<GenericTypeVar> methodParaList)
type - public void setName(java.lang.String name)
public void setName(JavaClassName name)
public JavaClassName getName()
public void set_ParaList(Menge<Type> v)
v - public Menge<Type> get_ParaList()
public void add_Parameter(Type o)
public java.lang.String getTypeName()
public java.lang.String getParaN(int n)
throws SCException
SCExceptionpublic boolean isTV(int n)
public boolean is_Equiv(RefType ty2, java.util.Hashtable<JavaClassName,Type> ht)
public boolean Equiv2Equal(RefType ty2, java.util.Hashtable<JavaClassName,Type> ht)
public boolean equals(java.lang.Object obj)
public RefType clone()
Typeclone in class ObjectTypepublic java.lang.String toString()
Typepublic java.lang.String getSimpleName()
getSimpleName in class Typepublic void setPrimitiveFlag(boolean b)
public boolean getPrimitiveFlag()
public boolean IsArray()
public void setArray(boolean IsArray)
IsArray - the IsArray to setpublic Type getMatchType()
getMatchType in interface IMatchablepublic JavaCodeResult printJavaCode(ResultSet resultSet)
printJavaCode in class Typepublic Type applyResultSet(ResultSet result)
applyResultSet in class Typepublic java.util.ArrayList<SuperWildcardType> getSuperWildcardTypes()
getSuperWildcardTypes in class Typepublic Menge<TypePlaceholder> getUnresolvedTPH(ResultSet resultSet)
TypegetUnresolvedTPH in class Typepublic Menge<TypePlaceholder> getInvolvedTypePlaceholder()
TypegetInvolvedTypePlaceholder in class Typepublic ConstraintType TYPE(TypeAssumptions ass, SyntaxTreeNode parent)
TypeTYPE in class Typeass - - Die Assumptions für den jeweiligen Kontext in dem sich der Typ befindet.
public ConstraintType checkType(TypeAssumptions ass, SyntaxTreeNode parent){
ConstraintType t = ass.getTypeFor(this, this);
if(t==null)
throw new TypeinferenceException("Der Typ "+this.getName()+" ist nicht korrekt", parent);
return t;
}public Menge<SyntaxTreeNode> getChildren()
getChildren in class Typepublic Type checkTYPE(TypeAssumptions ass, SyntaxTreeNode method)
public void parserPostProcessing(SyntaxTreeNode parent)
SyntaxTreeNodeparserPostProcessing in class SyntaxTreeNode