Analyzer class

分析器引擎。 获取静态分析器结果。

扩展

AbstractParseTreeVisitor<AnalyzerResult>

构造函数

Analyzer(Templates, EvaluationOptions, AnalyzerOptions)

创建 Analyzer 类的新实例。

属性

templates

模板。

方法

analyzeTemplate(string)

分析模板以获取静态分析器结果。

visitIfElseBody(IfElseBodyContext)

访问 LGTemplateParser.body 中标记为替代项 ifElseBody 生成的分析树。

visitNormalBody(NormalBodyContext)

访问 LGTemplateParser.body 中 normalBody 标记的替代项生成的分析树。

visitNormalTemplateBody(NormalTemplateBodyContext)

访问 LGTemplateParser.normalTemplateBody 生成的分析树。

visitNormalTemplateString(NormalTemplateStringContext)

访问 LGTemplateParser.normalTemplateString 生成的分析树。

visitStructuredTemplateBody(StructuredTemplateBodyContext)

访问 LGTemplateParser.structuredTemplateBody 生成的分析树。

visitStructureValue(KeyValueStructureLineContext)

访问 LGTemplateParser.structuredValue 生成的分析树。

visitSwitchCaseBody(SwitchCaseBodyContext)

访问 LGTemplateParser.body 中 switchCaseBody 标记的替代项生成的分析树。

继承的方法

visit(ParseTree)

{@inheritDoc}默认实现调用 <xref:ParseTree%23accept> 指定树。

visitChildren(RuleNode)

{@inheritDoc}默认实现将聚合结果初始化为 defaultResult()。 访问每个孩子之前,它调用 shouldVisitNextChild;如果结果 false 不再访问子级,并且返回当前聚合结果。 访问子级后,通过调用 aggregateResult 以及访问子项的结果来更新聚合结果。

在修改树结构的访问者中,默认实现不安全。 修改树的访问者应重写此方法,使其在所使用的特定算法方面行为正确。

visitErrorNode(ErrorNode)

{@inheritDoc}默认实现返回 defaultResult的结果。

visitTerminal(TerminalNode)

{@inheritDoc}默认实现返回 defaultResult的结果。

构造函数详细信息

Analyzer(Templates, EvaluationOptions, AnalyzerOptions)

创建 Analyzer 类的新实例。

new Analyzer(templates: Templates, opt?: EvaluationOptions, analyzerOptions?: AnalyzerOptions)

参数

templates
Templates

模板。

opt
EvaluationOptions

LG 的选项。

analyzerOptions
AnalyzerOptions

分析器的选项。

属性详细信息

templates

模板。

templates: Templates

属性值

方法详细信息

analyzeTemplate(string)

分析模板以获取静态分析器结果。

function analyzeTemplate(templateName: string): AnalyzerResult

参数

templateName

string

模板名称。

返回

分析结果,包括变量和模板引用。

visitIfElseBody(IfElseBodyContext)

访问 LGTemplateParser.body 中标记为替代项 ifElseBody 生成的分析树。

function visitIfElseBody(ctx: IfElseBodyContext): AnalyzerResult

参数

ctx
IfElseBodyContext

分析树。

返回

AnalyzerResult 实例。

visitNormalBody(NormalBodyContext)

访问 LGTemplateParser.body 中 normalBody 标记的替代项生成的分析树。

function visitNormalBody(ctx: NormalBodyContext): AnalyzerResult

参数

ctx
NormalBodyContext

分析树。

返回

AnalyzerResult 实例。

visitNormalTemplateBody(NormalTemplateBodyContext)

访问 LGTemplateParser.normalTemplateBody 生成的分析树。

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): AnalyzerResult

参数

ctx
NormalTemplateBodyContext

分析树。

返回

AnalyzerResult 实例。

visitNormalTemplateString(NormalTemplateStringContext)

访问 LGTemplateParser.normalTemplateString 生成的分析树。

function visitNormalTemplateString(ctx: NormalTemplateStringContext): AnalyzerResult

参数

ctx
NormalTemplateStringContext

分析树。

返回

AnalyzerResult 实例。

visitStructuredTemplateBody(StructuredTemplateBodyContext)

访问 LGTemplateParser.structuredTemplateBody 生成的分析树。

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): AnalyzerResult

参数

返回

AnalyzerResult 实例。

visitStructureValue(KeyValueStructureLineContext)

访问 LGTemplateParser.structuredValue 生成的分析树。

function visitStructureValue(ctx: KeyValueStructureLineContext): AnalyzerResult

参数

ctx
KeyValueStructureLineContext

分析树。

返回

AnalyzerResult 实例。

visitSwitchCaseBody(SwitchCaseBodyContext)

访问 LGTemplateParser.body 中 switchCaseBody 标记的替代项生成的分析树。

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): AnalyzerResult

参数

ctx
SwitchCaseBodyContext

分析树。

返回

AnalyzerResult 实例。

继承的方法详细信息

visit(ParseTree)

{@inheritDoc}默认实现调用 <xref:ParseTree%23accept> 指定树。

function visit(tree: ParseTree): AnalyzerResult

参数

tree

ParseTree

返回

继承自 AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc}默认实现将聚合结果初始化为 defaultResult()。 访问每个孩子之前,它调用 shouldVisitNextChild;如果结果 false 不再访问子级,并且返回当前聚合结果。 访问子级后,通过调用 aggregateResult 以及访问子项的结果来更新聚合结果。

在修改树结构的访问者中,默认实现不安全。 修改树的访问者应重写此方法,使其在所使用的特定算法方面行为正确。

function visitChildren(node: RuleNode): AnalyzerResult

参数

node

RuleNode

返回

继承自 AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc}默认实现返回 defaultResult的结果。

function visitErrorNode(node: ErrorNode): AnalyzerResult

参数

node

ErrorNode

返回

继承自 AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc}默认实现返回 defaultResult的结果。

function visitTerminal(node: TerminalNode): AnalyzerResult

参数

node

TerminalNode

返回

继承自 AbstractParseTreeVisitor.visitTerminal