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

79 lines
1.6 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-11-11 10:01:55 +00:00
<<<<<<< HEAD
2016-09-13 15:32:22 +00:00
public GenericDeclarationList(List<GenericTypeVar> values, int endOffset) {
2016-09-16 11:25:20 +00:00
super(endOffset);
2016-09-13 15:32:22 +00:00
gtvs = values;
2016-11-11 10:01:55 +00:00
=======
2016-10-28 16:31:42 +00:00
public GenericDeclarationList(){
this(new Menge<GenericTypeVar>(), -1);
}
public GenericDeclarationList(Menge<GenericTypeVar> values, int endOffset) {
2014-07-09 13:07:40 +00:00
this.addAll(values);
2016-11-11 10:01:55 +00:00
>>>>>>> refactoring
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);
}
2016-09-16 11:25:20 +00:00
public List<GenericTypeVar> getGTVList() {
return this.gtvs;
}
2014-06-25 15:31:04 +00:00
}