Analyzer class
分析器引擎。 若要取得靜態分析器結果。
- Extends
-
AbstractParseTreeVisitor<AnalyzerResult>
建構函式
Analyzer(Templates, Evaluation |
建立 Analyzer 類別的新實例。 |
屬性
templates | 範本。 |
方法
analyze |
分析範本以取得靜態分析器結果。 |
visit |
請流覽由 LGTemplateParser.body 中標示為替代的 ifElseBody 所產生的剖析樹狀結構。 |
visit |
流覽 LGTemplateParser.body 中 normalBody 標記替代專案所產生的剖析樹狀結構。 |
visit |
流覽 LGTemplateParser.normalTemplateBody 所產生的剖析樹狀結構。 |
visit |
流覽 LGTemplateParser.normalTemplateString 所產生的剖析樹狀結構。 |
visit |
流覽 LGTemplateParser.structuredTemplateBody 所產生的剖析樹狀結構。 |
visit |
流覽 LGTemplateParser.structuredValue 所產生的剖析樹狀結構。 |
visit |
請流覽 LGTemplateParser.body 中 switchCaseBody 標記替代專案所產生的剖析樹狀結構。 |
繼承的方法
visit(Parse |
{@inheritDoc}默認實作會在指定的樹狀結構上呼叫 <xref:ParseTree%23accept>。 |
visit |
{@inheritDoc}預設實作會將匯總結果初始化為 defaultResult()。 訪問每個子系之前,它會呼叫 shouldVisitNextChild;如果結果 在修改樹狀結構之訪客中,默認實作不安全。 修改樹狀結構的訪客應該覆寫此方法,以針對使用中的特定演算法正確運作。 |
visit |
{@inheritDoc}默認實作會傳回 defaultResult |
visit |
{@inheritDoc}默認實作會傳回 defaultResult |
建構函式詳細資料
Analyzer(Templates, EvaluationOptions, AnalyzerOptions)
建立 Analyzer 類別的新實例。
new Analyzer(templates: Templates, opt?: EvaluationOptions, analyzerOptions?: AnalyzerOptions)
參數
- templates
- Templates
範本。
LG 的選項。
- analyzerOptions
- AnalyzerOptions
分析器的選項。
屬性詳細資料
templates
方法詳細資料
analyzeTemplate(string)
分析範本以取得靜態分析器結果。
function analyzeTemplate(templateName: string): AnalyzerResult
參數
- templateName
-
string
範本名稱。
傳回
分析結果,包括變數和範本參考。
visitIfElseBody(IfElseBodyContext)
請流覽由 LGTemplateParser.body 中標示為替代的 ifElseBody 所產生的剖析樹狀結構。
function visitIfElseBody(ctx: IfElseBodyContext): AnalyzerResult
參數
剖析樹狀結構。
傳回
AnalyzerResult 實例。
visitNormalBody(NormalBodyContext)
流覽 LGTemplateParser.body 中 normalBody 標記替代專案所產生的剖析樹狀結構。
function visitNormalBody(ctx: NormalBodyContext): AnalyzerResult
參數
剖析樹狀結構。
傳回
AnalyzerResult 實例。
visitNormalTemplateBody(NormalTemplateBodyContext)
流覽 LGTemplateParser.normalTemplateBody 所產生的剖析樹狀結構。
function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): AnalyzerResult
參數
剖析樹狀結構。
傳回
AnalyzerResult 實例。
visitNormalTemplateString(NormalTemplateStringContext)
流覽 LGTemplateParser.normalTemplateString 所產生的剖析樹狀結構。
function visitNormalTemplateString(ctx: NormalTemplateStringContext): AnalyzerResult
參數
剖析樹狀結構。
傳回
AnalyzerResult 實例。
visitStructuredTemplateBody(StructuredTemplateBodyContext)
流覽 LGTemplateParser.structuredTemplateBody 所產生的剖析樹狀結構。
function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): AnalyzerResult
參數
剖析樹狀結構。
傳回
AnalyzerResult 實例。
visitStructureValue(KeyValueStructureLineContext)
流覽 LGTemplateParser.structuredValue 所產生的剖析樹狀結構。
function visitStructureValue(ctx: KeyValueStructureLineContext): AnalyzerResult
參數
剖析樹狀結構。
傳回
AnalyzerResult 實例。
visitSwitchCaseBody(SwitchCaseBodyContext)
請流覽 LGTemplateParser.body 中 switchCaseBody 標記替代專案所產生的剖析樹狀結構。
function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): AnalyzerResult
參數
剖析樹狀結構。
傳回
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