-
public interface Parser
代表nashorn ECMAScript解析器实例。- 从以下版本开始:
- 9
-
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 Default Methods Modifier and Type 方法 描述 static Parser
create(String... options)
Factory方法创建一个新的Parser实例。CompilationUnitTree
parse(File file, DiagnosticListener listener)
解析源文件并返回编译单元树CompilationUnitTree
parse(String name, Reader reader, DiagnosticListener listener)
解读读者并返回编译单元树CompilationUnitTree
parse(String name, String code, DiagnosticListener listener)
解析字符串源并返回编译单元树CompilationUnitTree
parse(URL url, DiagnosticListener listener)
解析源URL并返回编译单元树CompilationUnitTree
parse(Path path, DiagnosticListener listener)
解析源路径并返回编译单元树CompilationUnitTree
parse(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
- 不支持的选项值。
-
-