public class GenericTypeVar extends ObjectType
| Modifier and Type | Field and Description |
|---|---|
protected Pair |
genericConstraint |
private static java.util.HashMap<java.lang.String,TypePlaceholder> |
tph
Eine Registry f�r alle Generic-Instanzen, die vor der Bytecode-Generierung durch
Ihre Superklasse ersetzt werden m�ssen.
|
parent| Constructor and Description |
|---|
GenericTypeVar(java.lang.String s,
SyntaxTreeNode parentClass,
int offset) |
| Modifier and Type | Method and Description |
|---|---|
GenericTypeVar |
clone()
Author: J�rg B�uerle |
TypeAssumptions |
createAssumptions() |
boolean |
equals(java.lang.Object obj)
Author: J�rg B�uerle |
java.lang.String |
get_codegen_Type(Menge paralist)
hoti 4.5.06
Generische Typen werden im Bytecode
aus Abwaertskompatiblitaet wie Object dargestellt
|
java.lang.String |
get_Name() |
GTVDeclarationContext |
getDeclarationContext() |
int |
getEndOffset() |
JavaClassName |
getName() |
java.lang.String |
getSignatureType(Menge paralist) |
TypePlaceholder |
getTypePlaceHolder(SyntaxTreeNode environment) |
int |
hashCode() |
void |
parserPostProcessing(SyntaxTreeNode parent)
Wird nach dem Parsen aufgerufen.
|
JavaCodeResult |
printJavaCode(ResultSet resultSet) |
java.lang.String |
toString()
Author: J�rg B�uerle |
ConstraintsSet |
TYPE(TypeAssumptions ass)
Die Type Methode auf generische Variablen angewandt sorgt für deren Eintragung in die TypeAssumptions.
|
ConstraintType |
TYPE(TypeAssumptions ass,
SyntaxTreeNode parent)
Prüft ob der Typ in den Assumptions ass vorhanden ist.
|
applyResultSet, checkTYPE, get_UsedId, getChildren, getInvolvedTypePlaceholder, getOffset, getSimpleName, getSuperWildcardTypes, getUnresolvedTPH, getVariableLength, involves, set_UsedId, setOffset, Type2Key, Type2StringaddTypeInsertPoints, getDescription, getGTVDeclarationContext, getMatchingParentNode, getParent, getParentClass, seesTypeprotected Pair genericConstraint
private static java.util.HashMap<java.lang.String,TypePlaceholder> tph
public GenericTypeVar(java.lang.String s,
SyntaxTreeNode parentClass,
int offset)
genericTypeVarExtendsVar - public GenericTypeVar(Pair genericTypeVarExtendsVar, int offset){
super(offset);
genericTypeVar = genericTypeVarExtendsVar.TA1;
if(genericTypeVarExtendsVar.TA2!=null)this.extendVars.add(genericTypeVarExtendsVar.TA2);
else{
this.genericConstraint = genericTypeVarExtendsVar;
}
this.name = genericTypeVar.toString();
}public GenericTypeVar clone()
clone in class ObjectTypepublic boolean equals(java.lang.Object obj)
public java.lang.String toString()
Typepublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String get_codegen_Type(Menge paralist)
public java.lang.String getSignatureType(Menge paralist)
public JavaCodeResult printJavaCode(ResultSet resultSet)
printJavaCode in class Typepublic TypePlaceholder getTypePlaceHolder(SyntaxTreeNode environment)
public JavaClassName getName()
public TypeAssumptions createAssumptions()
public ConstraintsSet TYPE(TypeAssumptions ass)
ass - public 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 int getEndOffset()
public void parserPostProcessing(SyntaxTreeNode parent)
SyntaxTreeNodeparserPostProcessing in class SyntaxTreeNodepublic GTVDeclarationContext getDeclarationContext()