使用scala编译器进行类文件优化

时间:2012-05-07 10:57:08

标签: scala compiler-construction

我在jar里面有一些类文件。现在我正在寻找一种使用scala编译器的一些组件(最值得注意的是Inliners)来优化该类文件的方法。
我的想法是:

  1. 使用ICodeReader从类文件

  2. 中发出ICode
  3. 使用Inliner类的实例以实现所需的优化

  4. 我不知道这是否是正确的方法

    问题在于

    1. 如何使用ICodeReader读取类文件并生成所需的ICode。 ICodeReader继承自ClassfileParser。对我来说更可能使用的唯一方法是parse(文件:AbstractFile,root:Symbol),但问题是root参数。
    2. 欢迎任何帮助

1 个答案:

答案 0 :(得分:0)

Scala编译器对源代码和中间步骤的结果起作用以产生字节码,并且如果启用,将尝试应用多个优化。

在你的情况下,如果我理解正确,你没有源代码,而是编译的类,我不希望你能够在编译的类上使用Scala编译器的功能。

根据我的理解,您应该关注的是字节码优化器,例如ProGuard,它能够获取现有字节码并对其进行优化而无需访问源代码

http://proguard.sourceforge.net/#FAQ.html