package de.dhbwstuttgart.syntaxtree; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.ListIterator; import de.dhbwstuttgart.typeinference.Menge; import de.dhbwstuttgart.parser.GenericVarDeclarationList; import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar; /** * Stellt eine Deklarations-Liste von Generischen Variablen dar. * Kann vor Methoden und Klassen auftauchen. (<....>) * @author janulrich * */ public class GenericDeclarationList extends SyntaxTreeNode implements Iterable{ private int offsetOfLastElement; private List gtvs = new Menge<>(); <<<<<<< HEAD public GenericDeclarationList(List values, int endOffset) { super(endOffset); gtvs = values; ======= public GenericDeclarationList(){ this(new Menge(), -1); } public GenericDeclarationList(Menge values, int endOffset) { this.addAll(values); >>>>>>> refactoring this.offsetOfLastElement = endOffset; } public int getEndOffset(){ return offsetOfLastElement; } @Override public int getOffset() { return getEndOffset(); } @Override public int getVariableLength() { return 0; } @Override public Iterator iterator() { return this.gtvs.iterator(); } @Override public Menge getChildren() { Menge 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); } public List getGTVList() { return this.gtvs; } }