共用方式為


Analyzer class

分析器引擎。 若要取得靜態分析器結果。

Extends

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

參數

ctx
StructuredTemplateBodyContext

剖析樹狀結構。

傳回

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