Skip to content

Commit 4d42df5

Browse files
committed
Refactor StringTokenScanner to its file.
1 parent f5ec0f9 commit 4d42df5

3 files changed

Lines changed: 707 additions & 626 deletions

File tree

src/main/java/com/hubspot/jinjava/tree/TreeParser.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@
3232
import com.hubspot.jinjava.lib.tag.FlexibleTag;
3333
import com.hubspot.jinjava.lib.tag.Tag;
3434
import com.hubspot.jinjava.tree.parse.ExpressionToken;
35+
import com.hubspot.jinjava.tree.parse.StringTokenScanner;
3536
import com.hubspot.jinjava.tree.parse.TagToken;
3637
import com.hubspot.jinjava.tree.parse.TextToken;
3738
import com.hubspot.jinjava.tree.parse.Token;
3839
import com.hubspot.jinjava.tree.parse.TokenScanner;
3940
import com.hubspot.jinjava.tree.parse.TokenScannerSymbols;
4041
import com.hubspot.jinjava.tree.parse.UnclosedToken;
4142
import com.hubspot.jinjava.tree.parse.WhitespaceControlParser;
43+
import java.util.Iterator;
4244
import org.apache.commons.lang3.StringUtils;
4345

4446
public class TreeParser {
@@ -52,7 +54,7 @@ public class TreeParser {
5254

5355
public TreeParser(JinjavaInterpreter interpreter, String input) {
5456
this.scanner =
55-
Iterators.peekingIterator(new TokenScanner(input, interpreter.getConfig()));
57+
Iterators.peekingIterator(createScanner(input, interpreter.getConfig()));
5658
this.interpreter = interpreter;
5759
this.symbols = interpreter.getConfig().getTokenScannerSymbols();
5860
this.whitespaceControlParser =
@@ -104,6 +106,13 @@ public Node buildTree() {
104106
return root;
105107
}
106108

109+
private static Iterator<Token> createScanner(String input, JinjavaConfig config) {
110+
if (config.getTokenScannerSymbols().isStringBased()) {
111+
return new StringTokenScanner(input, config);
112+
}
113+
return new TokenScanner(input, config);
114+
}
115+
107116
/**
108117
* @return null if EOF or error
109118
*/

0 commit comments

Comments
 (0)