当前位置: 首页> 教育> 就业 > 网站建设咨询什么_长沙制作网站软件_seo引擎优化工具_深圳seo优化服务

网站建设咨询什么_长沙制作网站软件_seo引擎优化工具_深圳seo优化服务

时间:2025/8/26 22:48:32来源:https://blog.csdn.net/oscar999/article/details/144007246 浏览次数:0次
网站建设咨询什么_长沙制作网站软件_seo引擎优化工具_深圳seo优化服务

JavaParser 为了支持Java 10,进行了一些重构,在下面的“pre 3.5.14”部分可以看到旧的方法。

JavaParser 在实现上使用了一个后处理器,将抽象语法树(AST)转换为所需Java版本的AST,并选择一个验证器来查找AST中的问题。
在开发上,可以通过ParserConfiguration中的一个简单设置来完成:

JavaParser.getStaticConfiguration().setLanguageLevel(ParserConfiguration.LanguageLevel.JAVA_9);

使用静态导入来简化代码:

import static com.github.javaparser.ParserConfiguration.LanguageLevel.*;
JavaParser.getStaticConfiguration().setLanguageLevel(JAVA_9);

从3.5.15版本开始,JavaParser还提供了一些伪语言级别:

  • POPULAR:发布时最流行的Java版本。
  • LATEST:JavaParser支持的最新版本。
  • RAW : 跳过后处理和验证,以获得一定的速度提升。

Pre 3.5.14(旧版内容)

当在3.1.4版本中添加对Java 9文件的解析支持时,并没有默认启用它。默认语言级别设置为8,打算在JDK 9发布时将其设置为9。那么,如何获得支持呢?通过更改对AST的验证。这些验证在哪里设置?在ParserConfiguration中。

简易模式

简易API使用静态方法,因此它使用的配置也是静态的:

Java9Validator java9Validator = new Java9Validator();
ParserConfiguration configuration = JavaParser.getStaticConfiguration();
configuration.setValidator(java9Validator);
JavaParser.parse("module x {}");

或者,作为一行代码:

JavaParser.getStaticConfiguration().setValidator(new Java9Validator());

专业模式

专业API使用JavaParser的实例,配置放入构造函数中:

Java9Validator java9Validator = new Java9Validator();
ParserConfiguration configuration = new ParserConfiguration();
configuration.setValidator(java9Validator);
JavaParser javaParser = new JavaParser(configuration);
javaParser.parse(ParseStart.COMPILATION_UNIT, Providers.provider("module x {}"));

或者,作为一行代码:

JavaParser javaParser = new JavaParser(new ParserConfiguration().setValidator(new Java9Validator()));

下面适用于每个主要的Java版本:


JavaParser javaParser = new JavaParser(new ParserConfiguration().setValidator(new Java1_0Validator()));


关键字:网站建设咨询什么_长沙制作网站软件_seo引擎优化工具_深圳seo优化服务

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: