X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fmethods%2FJavaFile.java;h=d517537e94817988a4729a3a8db02cfb5c96d6e8;hb=176eff8b9757d8097c5df58782bb4ba8be56b2a5;hp=65cf3bb6bea351f51715ca171cf8d07dcdee07f7;hpb=0fc4b3a771bbe7c985a223d3ced81e49e499ed91;p=javainspect.git 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 65cf3bb..d517537 100644 --- a/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java +++ b/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java @@ -1,17 +1,83 @@ package eu.svjatoslav.inspector.java.methods; +import java.io.BufferedReader; import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import eu.svjatoslav.inspector.tokenizer.Tokenizer; +import eu.svjatoslav.inspector.tokenizer.TokenizerMatch; public class JavaFile { + private final List imports = new ArrayList(); + private final File file; - public JavaFile(final File file) { + StringBuffer contents = new StringBuffer(); + + public JavaFile(final File file) throws IOException { this.file = file; + parse(); + } + + public void parse() throws IOException { + System.out.println("java file: " + file); + + readFile(); + + final Tokenizer tokenizer = new Tokenizer(contents.toString()); + tokenizer.addTerminator(" ", true); + tokenizer.addTerminator("\t", true); + tokenizer.addTerminator("\n", true); + + tokenizer.addTerminator(";", false); + + while (true) { + final TokenizerMatch match = tokenizer.getToken(); + if (match == null) + break; + + if (match.token.equals("import")) + parseImport(tokenizer); + } + + } + + private void parseImport(final Tokenizer tokenizer) { + final Import imp = new Import(); + + final TokenizerMatch match = tokenizer.getToken(); + + if (match.token.equals("static")) { + imp.isStatic = true; + imp.path = tokenizer.getToken().token; + } else + imp.path = match.token; + + imports.add(imp); } - public void parse() { + private void readFile() throws FileNotFoundException, IOException { + final FileReader fileReader = new FileReader(file); + + final BufferedReader bufferedReader = new BufferedReader(fileReader); + + while (true) { + final String line = bufferedReader.readLine(); + + if (line == null) + break; + + contents.append(line); + contents.append("\n"); + } + bufferedReader.close(); + fileReader.close(); } }