diff options
Diffstat (limited to 'javaparser-core/src/main/javacc-support/com/github/javaparser/RangedList.java')
-rw-r--r-- | javaparser-core/src/main/javacc-support/com/github/javaparser/RangedList.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/javaparser-core/src/main/javacc-support/com/github/javaparser/RangedList.java b/javaparser-core/src/main/javacc-support/com/github/javaparser/RangedList.java new file mode 100644 index 000000000..328ec50fb --- /dev/null +++ b/javaparser-core/src/main/javacc-support/com/github/javaparser/RangedList.java @@ -0,0 +1,33 @@ +package com.github.javaparser; + +import com.github.javaparser.ast.Node; +import com.github.javaparser.ast.NodeList; + +/** + * Helper class for {@link GeneratedJavaParser} + */ +class RangedList<T extends Node> { + /* A ranged list MUST be set to a begin and end, + or these temporary values will leak out */ + TokenRange range = new TokenRange(JavaToken.INVALID, JavaToken.INVALID); + NodeList<T> list; + + RangedList(NodeList<T> list) { + this.list = list; + } + + void beginAt(JavaToken begin) { + range = range.withBegin(begin); + } + + void endAt(JavaToken end) { + range = range.withEnd(end); + } + + void add(T t) { + if (list == null) { + list = new NodeList<>(); + } + list.add(t); + } +} |