Fehler in parserPostProcessing behoben

This commit is contained in:
JanUlrich 2015-01-23 16:49:09 +01:00
parent 99d3ecf030
commit 6e6908d460
7 changed files with 34 additions and 3 deletions

View File

@ -675,6 +675,15 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable
//Bei dem Elterntyp der Methode darf es sich nur um eine Klasse handeln, daher Cast ohne Prüfung:
Class parentClass = (Class)parent;
if(this.returntype == null)this.returntype = TypePlaceholder.fresh(this);
this.returntype.parserPostProcessing(this);
if(this.parameterlist != null){
for(FormalParameter fp : this.parameterlist){
fp.parserPostProcessing(this);
}
}
for(GenericTypeVar gtv : this.getGenericParameter()){
gtv.parserPostProcessing(this);
}
}
@Override

View File

@ -142,4 +142,10 @@ public class ExtendsWildcardType extends WildcardType implements ITypeContainer,
return ret;
}
@Override
public void parserPostProcessing(SyntaxTreeNode parent) {
super.parserPostProcessing(parent);
this.extendsType.parserPostProcessing(this);
}
}

View File

@ -831,6 +831,14 @@ public class RefType extends Type implements IMatchable
return t;
}
@Override
public void parserPostProcessing(SyntaxTreeNode parent) {
super.parserPostProcessing(parent);
if(this.parameter != null)for(Type param : this.parameter){
param.parserPostProcessing(this);
}
}
}
// ino.end

View File

@ -138,4 +138,10 @@ public class SuperWildcardType extends WildcardType implements ITypeContainer, I
ret.addAll(this.superType.getInvolvedTypePlaceholder());
return ret;
}
@Override
public void parserPostProcessing(SyntaxTreeNode parent) {
super.parserPostProcessing(parent);
this.superType.parserPostProcessing(this);
}
}

View File

@ -90,4 +90,6 @@ public class WildcardType extends Type{
}
}
}

View File

@ -33,7 +33,7 @@ public class FunNMethod extends Method{
}
pl.formalparameter = fpList;
this.parameterlist = pl;
this.parent = new Class("Fun"+paralist.size(), 0);
this.parserPostProcessing(new Class("Fun"+paralist.size(), 0));
}
public FunNMethod(int N){
@ -51,7 +51,7 @@ public class FunNMethod extends Method{
}
pl.formalparameter = fpList;
this.parameterlist = pl;
this.parent = new Class("Fun"+N, 0);
this.parserPostProcessing(new Class("Fun"+N, 0));
}
@Override