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 Menge gtvs = new Menge<>(); public GenericDeclarationList(Menge values, int endOffset) { this.addAll(values); this.offsetOfLastElement = endOffset; } private void addAll(Menge values) { this.gtvs.addAll(values); } 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 Menge getMenge() { return this.gtvs; } public void add(GenericTypeVar t) { this.gtvs.add(t); } }