Eclipse JDT AST Parser不解析Java lambda Expression中的类型

我正在使用Eclipse JDT AST Parser(3.10.0)来解析各种源代码文件。

这就是我如何初学解析器:

ASTParser parser = ASTParser.newParser(AST.JLS8); parser.setKind(ASTParser.K_COMPILATION_UNIT); parser.setBindingsRecovery(true); parser.setResolveBindings(true); parser.setStatementsRecovery(true); parser.setSource(source.toCharArray()); parser.setUnitName(filename); parser.setEnvironment(classPath.toArray(new String[classPath.size()]), sources, new String[]{"UTF-8"}, true); final CompilationUnit cu = (CompilationUnit) parser.createAST(null); 

类路径由maven依赖插件创建。

这对大多数表达式都很有效,但它似乎与lambda表达式有问题

 Optional
first = adr.stream().filter( a -> a.getId().longValue() == contactAddress.getAddressId().longValue() ).findFirst();

评估比较的两侧,每种类型都解析为null 。 在没有周围的lambda表达式的情况下解析相同的代码会导致每边都很long

有没有办法解决lambda表达式中的bindngs?