Search in sources :

Example 1 with RootBuilder

use of com.google.classyshark.silverghost.methodscounter.RootBuilder in project android-classyshark by google.

the class SilverGhostFacade method inspectPackages.

public static void inspectPackages(List<String> args) {
    String fileName = args.get(1);
    File file = new File(fileName);
    if (!file.exists()) {
        System.err.printf("File '%s' does not exist", fileName);
        return;
    }
    RootBuilder rootBuilder = new RootBuilder();
    MethodCountExporter methodCountExporter = new TreeMethodCountExporter(new PrintWriter(System.out));
    if (args.size() > 2) {
        for (int i = 2; i < args.size(); i++) {
            if (args.get(i).equals("-flat")) {
                methodCountExporter = new FlatMethodCountExporter(new PrintWriter(System.out));
            }
        }
    }
    ClassNode rootNode = rootBuilder.fillClassesWithMethods(fileName);
    methodCountExporter.exportMethodCounts(rootNode);
}
Also used : ClassNode(com.google.classyshark.silverghost.methodscounter.ClassNode) RootBuilder(com.google.classyshark.silverghost.methodscounter.RootBuilder) TreeMethodCountExporter(com.google.classyshark.silverghost.exporter.TreeMethodCountExporter) FlatMethodCountExporter(com.google.classyshark.silverghost.exporter.FlatMethodCountExporter) TreeMethodCountExporter(com.google.classyshark.silverghost.exporter.TreeMethodCountExporter) MethodCountExporter(com.google.classyshark.silverghost.exporter.MethodCountExporter) File(java.io.File) FlatMethodCountExporter(com.google.classyshark.silverghost.exporter.FlatMethodCountExporter) PrintWriter(java.io.PrintWriter)

Example 2 with RootBuilder

use of com.google.classyshark.silverghost.methodscounter.RootBuilder in project android-classyshark by google.

the class Exporter method writeMethodCounts.

public static void writeMethodCounts(File archive) {
    File outputFile = new File("method_counts.txt");
    System.out.println(outputFile.toString());
    try (PrintWriter pw = new PrintWriter(outputFile)) {
        RootBuilder rootBuilder = new RootBuilder();
        ClassNode classNode = rootBuilder.fillClassesWithMethods(archive);
        MethodCountExporter methodCountExporter = new TreeMethodCountExporter(pw);
        methodCountExporter.exportMethodCounts(classNode);
    } catch (IOException ex) {
        ex.printStackTrace(System.err);
    }
}
Also used : ClassNode(com.google.classyshark.silverghost.methodscounter.ClassNode) RootBuilder(com.google.classyshark.silverghost.methodscounter.RootBuilder) IOException(java.io.IOException) RandomAccessFile(java.io.RandomAccessFile) File(java.io.File) PrintWriter(java.io.PrintWriter)

Aggregations

ClassNode (com.google.classyshark.silverghost.methodscounter.ClassNode)2 RootBuilder (com.google.classyshark.silverghost.methodscounter.RootBuilder)2 File (java.io.File)2 PrintWriter (java.io.PrintWriter)2 FlatMethodCountExporter (com.google.classyshark.silverghost.exporter.FlatMethodCountExporter)1 MethodCountExporter (com.google.classyshark.silverghost.exporter.MethodCountExporter)1 TreeMethodCountExporter (com.google.classyshark.silverghost.exporter.TreeMethodCountExporter)1 IOException (java.io.IOException)1 RandomAccessFile (java.io.RandomAccessFile)1