-
public interface Parser代表nashorn ECMAScript解析器实例。- 从以下版本开始:
- 9
-
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 Default Methods Modifier and Type 方法 描述 static Parsercreate(String... options)Factory方法创建一个新的Parser实例。CompilationUnitTreeparse(File file, DiagnosticListener listener)解析源文件并返回编译单元树CompilationUnitTreeparse(String name, Reader reader, DiagnosticListener listener)解读读者并返回编译单元树CompilationUnitTreeparse(String name, String code, DiagnosticListener listener)解析字符串源并返回编译单元树CompilationUnitTreeparse(URL url, DiagnosticListener listener)解析源URL并返回编译单元树CompilationUnitTreeparse(Path path, DiagnosticListener listener)解析源路径并返回编译单元树CompilationUnitTreeparse(ScriptObjectMirror scriptObj, DiagnosticListener listener)从脚本对象解析源并返回编译单元树
-
-
-
方法详细信息
-
parse
CompilationUnitTree parse(File file, DiagnosticListener listener) throws IOException, NashornException
解析源文件并返回编译单元树- 参数
-
file- 要解析的源文件 -
listener- 从解析器接收诊断消息。 这可以是null。 如果传递null,则会在第一个解析错误中抛出NashornException异常。 - 结果
- 编译单位树
- 异常
-
NullPointerException- 如果文件为空 -
IOException- 如果解析源读取失败 -
NashornException- 如果没有提供侦听器并且解析器遇到错误,则抛出该错误
-
parse
CompilationUnitTree parse(Path path, DiagnosticListener listener) throws IOException, NashornException
解析源路径并返回编译单元树- 参数
-
path- source解析路径 -
listener- 从解析器接收诊断消息。 这可以是null。 如果传递null,则会在第一个解析错误中抛出NashornException异常。 - 结果
- 编译单位树
- 异常
-
NullPointerException- 如果path为null -
IOException- 如果解析源读取失败 -
NashornException- 如果没有提供监听器并且解析器遇到错误,则抛出
-
parse
CompilationUnitTree parse(URL url, DiagnosticListener listener) throws IOException, NashornException
解析源URL并返回编译单元树- 参数
-
url- 要解析的源文件 -
listener- 从解析器接收诊断消息。 这可以是null。 如果传递null,则会在第一个解析错误中抛出NashornException异常。 - 结果
- 编译单位树
- 异常
-
NullPointerException- 如果url为空 -
IOException- 如果解析源读取失败 -
如果没有提供监听器并且解析器遇到错误,则抛出
NashornException
-
parse
CompilationUnitTree parse(String name, Reader reader, DiagnosticListener listener) throws IOException, NashornException
解读读者并返回编译单元树- 参数
-
name- 要解析的源文件的名称 -
reader- 从哪个源读取 -
listener- 从解析器接收诊断消息。 这可以是null。 如果传递null,则会在第一个解析错误中抛出NashornException异常。 - 结果
- 编译单位树
- 异常
-
NullPointerException- 如果名称或读者为空 -
IOException- 如果解析源读取失败 -
如果没有提供监听器并且解析器遇到错误,则抛出
NashornException
-
parse
CompilationUnitTree parse(String name, String code, DiagnosticListener listener) throws NashornException
解析字符串源并返回编译单元树- 参数
-
name- 的来源 -
code- 字符串源 -
listener- 从解析器接收诊断消息。 这可以是null。 如果传递null,则会在第一个解析错误中抛出NashornException异常。 - 结果
- 编译单位树
- 异常
-
NullPointerException- 如果名称或代码为空 -
NashornException- 如果没有提供监听器并且解析器遇到错误,则抛出
-
parse
CompilationUnitTree parse(ScriptObjectMirror scriptObj, DiagnosticListener listener) throws NashornException
从脚本对象解析源并返回编译单元树- 参数
-
scriptObj- 脚本对象,其脚本和名称属性用于脚本源 -
listener- 从解析器接收诊断消息。 这可以是null。 如果传递null,则会在第一个解析错误中抛出NashornException异常。 - 结果
- 编译单位树
- 异常
-
NullPointerException- 如果scriptObj为空 -
如果没有提供侦听器并且解析器遇到错误,则抛出
NashornException
-
create
static Parser create(String... options) throws IllegalArgumentException
Factory方法创建一个新的Parser实例。- 参数
-
options- 初始化解析器的配置选项。 目前支持以下选项:- “--const-AS-VAR”
- 将“const”声明视为“var”
- “-dump-on-error”或“-doe”
- 转储堆栈跟踪错误
- “--empty语句”
- 包括空语句节点
- “--no-syntax-extensions”或“-nse”
- 禁用ECMAScript语法扩展
- “-scripting”
- 启用脚本模式扩展
- “-严格”
- 启用ECMAScript严格模式
- “--language = ES6”
- 启用ECMAScript 6解析模式
- “--es6模块”
- 启用ECMAScript 6模块解析模式。 此选项意味着--language = es6
- 结果
- 一个新的Parser实例。
- 异常
-
NullPointerException- 如果选项数组或其任何元素为空 -
IllegalArgumentException- 不支持的选项值。
-
-