JavaPatternMatching/src/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java

65 lines
1.3 KiB
Java
Raw Normal View History

2014-09-02 08:33:54 +00:00
package de.dhbwstuttgart.syntaxtree;
2014-06-25 15:31:04 +00:00
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import de.dhbwstuttgart.typeinference.Menge;
2014-06-25 15:31:04 +00:00
import de.dhbwstuttgart.parser.GenericVarDeclarationList;
2014-09-02 08:33:54 +00:00
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
2014-06-25 15:31:04 +00:00
/**
* Stellt eine Deklarations-Liste von Generischen Variablen dar.
* Kann vor Methoden und Klassen auftauchen. (<....>)
* @author janulrich
*
*/
public class GenericDeclarationList extends SyntaxTreeNode implements Iterable<GenericTypeVar>{
2014-06-25 15:31:04 +00:00
2014-07-09 13:07:40 +00:00
private int offsetOfLastElement;
2016-09-13 15:32:22 +00:00
private List<GenericTypeVar> gtvs = new Menge<>();
2016-09-13 15:32:22 +00:00
public GenericDeclarationList(List<GenericTypeVar> values, int endOffset) {
gtvs = values;
this.offsetOfLastElement = endOffset;
2014-06-25 15:31:04 +00:00
}
public int getEndOffset(){
2014-07-09 13:07:40 +00:00
return offsetOfLastElement;
}
@Override
public int getOffset() {
return getEndOffset();
}
@Override
public int getVariableLength() {
return 0;
}
@Override
public Iterator<GenericTypeVar> iterator() {
return this.gtvs.iterator();
}
@Override
public Menge<SyntaxTreeNode> getChildren() {
Menge<SyntaxTreeNode> ret = new Menge<>();
for(GenericTypeVar gtv : gtvs){
ret.add(gtv);
}
return ret;
}
public int size() {
return gtvs.size();
}
public void add(GenericTypeVar t) {
this.gtvs.add(t);
}
2014-06-25 15:31:04 +00:00
}