X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=javainspect.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fmethods%2FJavaFile.java;h=9ec86c30748b4fa4a8f340fd6e1a1361399ea2d7;hp=df53ee89301cd331c3691a3e5c7a4cae5a1bee0a;hb=d6b9aa36eec691e17ad10eaa814308b50e44255a;hpb=52abcfeed07d308b2b377985b5cb8a776bb2e375 diff --git a/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java b/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java index df53ee8..9ec86c3 100755 --- a/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java +++ b/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java @@ -17,6 +17,9 @@ import java.io.*; import java.util.ArrayList; import java.util.List; +import static eu.svjatoslav.commons.string.tokenizer.Terminator.TerminationStrategy.DROP; +import static eu.svjatoslav.commons.string.tokenizer.Terminator.TerminationStrategy.PRESERVE; + public class JavaFile { public static final String UTF_8 = "UTF-8"; @@ -39,25 +42,25 @@ public class JavaFile { final Tokenizer tokenizer = new Tokenizer(contents.toString()); // empty space - tokenizer.addTerminator(" ", true); - tokenizer.addTerminator("\t", true); - tokenizer.addTerminator("\n", true); - - tokenizer.addTerminator(";", false); - tokenizer.addTerminator("{", false); - tokenizer.addTerminator("}", false); - tokenizer.addTerminator("(", false); - tokenizer.addTerminator(")", false); - tokenizer.addTerminator("[", false); - tokenizer.addTerminator("]", false); - tokenizer.addTerminator("<", false); - tokenizer.addTerminator(">", false); - tokenizer.addTerminator(",", false); - tokenizer.addTerminator("@", false); + tokenizer.addTerminator(" ", DROP); + tokenizer.addTerminator("\t", DROP); + tokenizer.addTerminator("\n", DROP); + + tokenizer.addTerminator(";", PRESERVE); + tokenizer.addTerminator("{", PRESERVE); + tokenizer.addTerminator("}", PRESERVE); + tokenizer.addTerminator("(", PRESERVE); + tokenizer.addTerminator(")", PRESERVE); + tokenizer.addTerminator("[", PRESERVE); + tokenizer.addTerminator("]", PRESERVE); + tokenizer.addTerminator("<", PRESERVE); + tokenizer.addTerminator(">", PRESERVE); + tokenizer.addTerminator(",", PRESERVE); + tokenizer.addTerminator("@", PRESERVE); // comments - tokenizer.addTerminator("//", "\n", true); - tokenizer.addTerminator("/*", "*/", true); + tokenizer.addTerminator("//", "\n", DROP); + tokenizer.addTerminator("/*", "*/", DROP); final Modifiers modifiers = new Modifiers(); @@ -129,7 +132,7 @@ public class JavaFile { imports.add(imp); - tokenizer.expectNextToken(";"); + tokenizer.expectAndConsumeNextToken(";"); } private void parseInterface(final Tokenizer tokenizer) @@ -148,7 +151,7 @@ public class JavaFile { packageName = match.token; - tokenizer.expectNextToken(";"); + tokenizer.expectAndConsumeNextToken(";"); } private void readFile() throws IOException { @@ -170,7 +173,7 @@ public class JavaFile { inputStream.close(); } - public void skipUntilSemicolon(final Tokenizer tokenizer) { + public void skipUntilSemicolon(final Tokenizer tokenizer) throws InvalidSyntaxException { while (true) { final TokenizerMatch token = tokenizer.getNextToken();