烟尘-无法获取具有lambda表达式的java方法的烟尘cfg

烟尘-无法获取具有lambda表达式的java方法的烟尘cfg,lambda,static-analysis,soot,control-flow-graph,Lambda,Static Analysis,Soot,Control Flow Graph,我试图得到我的代码的方法的控制流图。它适用于所有方法,直到我要求它分析一个具有lambda表达式的方法,如下所示 public void test() { List<String> test = new ArrayList<String>(); test.forEach((action)->{ System.out.println(action); }); } 我使用的烟灰版

我试图得到我的代码的方法的控制流图。它适用于所有方法,直到我要求它分析一个具有lambda表达式的方法,如下所示

public void test()
    {
        List<String> test = new ArrayList<String>();
        test.forEach((action)->{
            System.out.println(action);
        });

    }
我使用的烟灰版本是

compile group:'ca.mcgill.sable', name: 'soot' , version:'3.3.0'

这看起来像煤烟里的虫子。你能试试最新版本的烟灰吗?如果bug仍然出现,如果您可以在Github上提交bug报告,那就太好了。

找到了解决方案。Java库类未按Some进行分析

在设置类路径之前,在我调用“Options.v().set_prepend_classpath(true);”之后,它就会工作

compile group:'ca.mcgill.sable', name: 'soot' , version:'3.3.0'