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

73 lines
1.5 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;
2014-06-25 15:31:04 +00:00
import java.util.Vector;
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;
private Vector<GenericTypeVar> gtvs = new Vector<>();
public GenericDeclarationList(Vector<GenericTypeVar> values, int endOffset) {
2014-07-09 13:07:40 +00:00
this.addAll(values);
this.offsetOfLastElement = endOffset;
2014-06-25 15:31:04 +00:00
}
private void addAll(Vector<GenericTypeVar> values) {
this.gtvs.addAll(values);
}
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 Vector<SyntaxTreeNode> getChildren() {
Vector<SyntaxTreeNode> ret = new Vector<>();
for(GenericTypeVar gtv : gtvs){
ret.add(gtv);
}
return ret;
}
public int size() {
return gtvs.size();
}
public Vector<GenericTypeVar> getVector() {
return this.gtvs;
}
public void add(GenericTypeVar t) {
this.gtvs.add(t);
}
2014-06-25 15:31:04 +00:00
}