Freigeben über


Analyzer class

Analyzer-Engine. So erhalten Sie die Ergebnisse der statischen Analyse.

Extends

AbstractParseTreeVisitor<AnalyzerResult>

Konstruktoren

Analyzer(Templates, EvaluationOptions, AnalyzerOptions)

Erstellt eine neue Instanz der Analyzer-Klasse .

Eigenschaften

templates

Vorlagen.

Methoden

analyzeTemplate(string)

Analysieren Sie eine Vorlage, um die Ergebnisse der statischen Analyse zu erhalten.

visitIfElseBody(IfElseBodyContext)

Besuchen Sie eine Analysestruktur, die von ifElseBody mit der Bezeichnung alternative in LGTemplateParser.body erstellt wurde.

visitNormalBody(NormalBodyContext)

Besuchen Sie eine Analysestruktur, die von der normalBody-Alternative in LGTemplateParser.body erstellt wurde.

visitNormalTemplateBody(NormalTemplateBodyContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.normalTemplateBody erstellt wurde.

visitNormalTemplateString(NormalTemplateStringContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.normalTemplateString erstellt wurde.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.structuredTemplateBody erstellt wurde.

visitStructureValue(KeyValueStructureLineContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.structuredValue erstellt wurde.

visitSwitchCaseBody(SwitchCaseBodyContext)

Besuchen Sie eine Analysestruktur, die von switchCaseBody mit der Bezeichnung alternative in LGTemplateParser.body erstellt wurde.

Geerbte Methoden

visit(ParseTree)

{@inheritDoc} Die Standardimplementierung ruft <xref:ParseTree%23accept> für die angegebene Struktur auf.

visitChildren(RuleNode)

{@inheritDoc} Die Standardimplementierung initialisiert das Aggregatergebnis in defaultResult().. Vor dem Besuch jedes Kindes ruft es sollteVisitNextChild; , wenn das Ergebnis ist false , dass keine untergeordneten Elemente mehr besucht werden und das aktuelle Aggregatergebnis zurückgegeben wird. Nach dem Besuch eines untergeordneten Elements wird das Aggregatergebnis aktualisiert, indem aggregateResult mit dem vorherigen Aggregatergebnis und dem Ergebnis des Besuchs des untergeordneten Elements aufgerufen wird.

Die Standardimplementierung ist für die Verwendung in Besuchern, die die Struktur ändern, nicht sicher. Besucher, die die Struktur ändern, sollten diese Methode überschreiben, um sich in Bezug auf den verwendeten Algorithmus ordnungsgemäß zu verhalten.

visitErrorNode(ErrorNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis von defaultResult zurück.

visitTerminal(TerminalNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis von defaultResult zurück.

Details zum Konstruktor

Analyzer(Templates, EvaluationOptions, AnalyzerOptions)

Erstellt eine neue Instanz der Analyzer-Klasse .

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

Parameter

templates
Templates

Vorlagen.

opt
EvaluationOptions

Optionen für LG.

analyzerOptions
AnalyzerOptions

Optionen für das Analysetool.

Details zur Eigenschaft

templates

Vorlagen.

templates: Templates

Eigenschaftswert

Details zur Methode

analyzeTemplate(string)

Analysieren Sie eine Vorlage, um die Ergebnisse der statischen Analyse zu erhalten.

function analyzeTemplate(templateName: string): AnalyzerResult

Parameter

templateName

string

Vorlagenname

Gibt zurück

Analysieren Sie das Ergebnis, einschließlich Variablen und Vorlagenverweise.

visitIfElseBody(IfElseBodyContext)

Besuchen Sie eine Analysestruktur, die von ifElseBody mit der Bezeichnung alternative in LGTemplateParser.body erstellt wurde.

function visitIfElseBody(ctx: IfElseBodyContext): AnalyzerResult

Parameter

ctx
IfElseBodyContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult-Instanz .

visitNormalBody(NormalBodyContext)

Besuchen Sie eine Analysestruktur, die von der normalBody-Alternative in LGTemplateParser.body erstellt wurde.

function visitNormalBody(ctx: NormalBodyContext): AnalyzerResult

Parameter

ctx
NormalBodyContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult-Instanz .

visitNormalTemplateBody(NormalTemplateBodyContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.normalTemplateBody erstellt wurde.

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): AnalyzerResult

Parameter

ctx
NormalTemplateBodyContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult-Instanz .

visitNormalTemplateString(NormalTemplateStringContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.normalTemplateString erstellt wurde.

function visitNormalTemplateString(ctx: NormalTemplateStringContext): AnalyzerResult

Parameter

ctx
NormalTemplateStringContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult-Instanz .

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.structuredTemplateBody erstellt wurde.

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): AnalyzerResult

Parameter

ctx
StructuredTemplateBodyContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult-Instanz .

visitStructureValue(KeyValueStructureLineContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.structuredValue erstellt wurde.

function visitStructureValue(ctx: KeyValueStructureLineContext): AnalyzerResult

Parameter

ctx
KeyValueStructureLineContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult-Instanz .

visitSwitchCaseBody(SwitchCaseBodyContext)

Besuchen Sie eine Analysestruktur, die von switchCaseBody mit der Bezeichnung alternative in LGTemplateParser.body erstellt wurde.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): AnalyzerResult

Parameter

ctx
SwitchCaseBodyContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult-Instanz .

Details zur geerbten Methode

visit(ParseTree)

{@inheritDoc} Die Standardimplementierung ruft <xref:ParseTree%23accept> für die angegebene Struktur auf.

function visit(tree: ParseTree): AnalyzerResult

Parameter

tree

ParseTree

Gibt zurück

Geerbt von AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} Die Standardimplementierung initialisiert das Aggregatergebnis in defaultResult().. Vor dem Besuch jedes Kindes ruft es sollteVisitNextChild; , wenn das Ergebnis ist false , dass keine untergeordneten Elemente mehr besucht werden und das aktuelle Aggregatergebnis zurückgegeben wird. Nach dem Besuch eines untergeordneten Elements wird das Aggregatergebnis aktualisiert, indem aggregateResult mit dem vorherigen Aggregatergebnis und dem Ergebnis des Besuchs des untergeordneten Elements aufgerufen wird.

Die Standardimplementierung ist für die Verwendung in Besuchern, die die Struktur ändern, nicht sicher. Besucher, die die Struktur ändern, sollten diese Methode überschreiben, um sich in Bezug auf den verwendeten Algorithmus ordnungsgemäß zu verhalten.

function visitChildren(node: RuleNode): AnalyzerResult

Parameter

node

RuleNode

Gibt zurück

Geerbt von AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis von defaultResult zurück.

function visitErrorNode(node: ErrorNode): AnalyzerResult

Parameter

node

ErrorNode

Gibt zurück

Geerbt von AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis von defaultResult zurück.

function visitTerminal(node: TerminalNode): AnalyzerResult

Parameter

node

TerminalNode

Gibt zurück

Geerbt von AbstractParseTreeVisitor.visitTerminal