File: Main.java

package info (click to toggle)
doctorj 5.0.0-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 6,156 kB
  • ctags: 3,454
  • sloc: java: 30,027; xml: 331; makefile: 82; sh: 61
file content (90 lines) | stat: -rw-r--r-- 3,110 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package org.incava.java;

import java.io.*;
import java.util.*;


public class Main
{
    public static void main(String[] args)
    {
        long totalInitTime  = 0;
        long totalParseTime = 0;
        long totalDumpTime  = 0;

        Java13Parser parser = null;
        int i = 0;
        boolean astDump = false;
        
        if (args.length > 0 && args[0].equals("--dump")) {
            astDump = true;
            ++i;
        }

        for (; i < args.length; ++i) {
            String filename = args[i];
            long   initTime;

            // System.out.println("Reading from file " + filename + " . . .");
            try {
                long initStartTime = System.currentTimeMillis();
                if (parser == null) {
                    parser = new Java13Parser(new FileInputStream(filename));
                }
                else {
                    parser.ReInit(new FileInputStream(filename));
                }
                long initStopTime = System.currentTimeMillis();
                initTime = initStopTime - initStartTime;
                totalInitTime  += initTime;
            }
            catch (FileNotFoundException e) {
                System.out.println("File " + filename + " not found.");
                continue;
            }

            try {
                long parseStartTime = System.currentTimeMillis();
                ASTCompilationUnit cu = parser.CompilationUnit();
                
                long parseStopTime  = System.currentTimeMillis();
                long parseTime      = parseStopTime - parseStartTime;

                totalParseTime += parseTime;

                long dumpTime = 0;

                if (astDump) {
                    long dumpStartTime = System.currentTimeMillis();

                    cu.dump();

                    long dumpStopTime = System.currentTimeMillis();
                    dumpTime = dumpStopTime - dumpStartTime;
                    totalDumpTime += dumpTime;
                }

                System.out.println("    " + filename);
                System.out.println("        init time : " + initTime  + " ms.");
                System.out.println("        parse time: " + parseTime + " ms.");
                if (astDump) {
                    System.out.println("        dump time : " + dumpTime  + " ms.");
                }
                System.out.println("        total time: " + (initTime + parseTime) + " ms.");
            }
            catch (ParseException e) {
                System.out.println(e.getMessage());
                System.out.println("Encountered errors during parse.");
            }
        }

        System.out.println("    " + args.length + " files");
        System.out.println("        init time : " + totalInitTime  + " ms.");
        System.out.println("        parse time: " + totalParseTime + " ms.");
        if (astDump) {
            System.out.println("        dump time : " + totalDumpTime  + " ms.");
        }
        System.out.println("        total time: " + (totalInitTime + totalParseTime + totalDumpTime) + " ms.");
    }

}