OSDN Git Service

63bd3052e72a4462a26bad2994c6afd7e4240ca6
[jcfa/jcfa.git] / jcfa / src / jp / igapyon / jcfa / JavaClassFileAnalyzer.java
1 package jp.igapyon.jcfa;\r
2 \r
3 import java.io.File;\r
4 import java.io.IOException;\r
5 \r
6 import jp.igapyon.jcfa.util.JcfaWriteUtil;\r
7 import jp.igapyon.jcfa.vo.JcfaUnit;\r
8 \r
9 public class JavaClassFileAnalyzer {\r
10         /**\r
11          * JavaClassFileAnalyzer: entry point.\r
12          * \r
13          * @param args\r
14          * @throws IOException\r
15          */\r
16         public static final void main(final String[] args) throws IOException {\r
17                 System.err.println("JavaClassFileAnalyzer ("\r
18                                 + JcfaVersionConstants.getVersion() + ")");\r
19 \r
20                 new JavaClassFileAnalyzer().parseDir(new File("./bin/test"));\r
21                 new JavaClassFileAnalyzer().parseDir(new File(\r
22                                 "./bin/jp/igapyon/jcfa/vo"));\r
23 \r
24                 System.err.println("JavaClassFileAnalyzer: done.");\r
25         }\r
26 \r
27         private void parseDir(final File dir) throws IOException {\r
28                 final File[] files = dir.listFiles();\r
29                 if (files == null) {\r
30                         return;\r
31                 }\r
32                 for (File file : files) {\r
33                         if (file.isDirectory()) {\r
34                                 parseDir(file);\r
35                         }\r
36                         if (file.isFile()) {\r
37                                 if (file.getName().endsWith(".class")) {\r
38                                         new JavaClassFileAnalyzer().process(file, new File(\r
39                                                         "./testJavaClass/output"));\r
40                                 }\r
41                         }\r
42                 }\r
43         }\r
44 \r
45         private final void process(final File inputFile, final File outputDir)\r
46                         throws IOException {\r
47                 final JcfaUnit jcfaUnit = new JcfaParser().parseUnit(inputFile,\r
48                                 outputDir);\r
49 \r
50                 JcfaWriteUtil.writeToFile(jcfaUnit);\r
51         }\r
52 }