1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.sql.parser.core;
19
20 import lombok.RequiredArgsConstructor;
21 import org.antlr.v4.runtime.CommonTokenStream;
22 import org.antlr.v4.runtime.Token;
23 import org.antlr.v4.runtime.tree.ParseTree;
24 import org.apache.shardingsphere.sql.parser.api.ASTNode;
25
26 import java.util.Collection;
27 import java.util.LinkedList;
28
29
30
31
32 @RequiredArgsConstructor
33 public final class ParseASTNode implements ASTNode {
34
35 private final ParseTree parseTree;
36
37 private final CommonTokenStream tokenStream;
38
39
40
41
42
43
44 public ParseTree getRootNode() {
45 return parseTree.getChild(0);
46 }
47
48
49
50
51
52
53 public Collection<Token> getHiddenTokens() {
54 Collection<Token> result = new LinkedList<>();
55 for (Token each : tokenStream.getTokens()) {
56 if (Token.HIDDEN_CHANNEL == each.getChannel()) {
57 result.add(each);
58 }
59 }
60 return result;
61 }
62 }