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

Schablonen.

Methoden

analyzeTemplate(string)

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

visitIfElseBody(IfElseBodyContext)

Besuchen Sie einen Parsebaum, der von der ifElseBody-Alternative in LGTemplateParser.body erstellt wurde.

visitNormalBody(NormalBodyContext)

Besuchen Sie einen Parsebaum, der von der normalBody-Alternative in LGTemplateParser.body produziert wird.

visitNormalTemplateBody(NormalTemplateBodyContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.normalTemplateBody produziert wird.

visitNormalTemplateString(NormalTemplateStringContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.normalTemplateString produziert wird.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.structuredTemplateBody produziert wird.

visitStructureValue(KeyValueStructureLineContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.structuredValue produziert wird.

visitSwitchCaseBody(SwitchCaseBodyContext)

Besuchen Sie einen Parsebaum, der von der switchCaseBody-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 defaultResult(). Bevor sie jedes Kind besuchen, ruft es sollteVisitNextChild; wenn das Ergebnis false keine weiteren Untergeordneten besucht werden und das aktuelle Aggregatergebnis zurückgegeben wird. Nach dem Besuch eines Kindes wird das Aggregatergebnis aktualisiert, indem aggregateResult mit dem vorherigen Aggregatergebnis und dem Ergebnis des Besuchs des Kindes aufgerufen wird.

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

visitErrorNode(ErrorNode)

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

visitTerminal(TerminalNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis 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

Schablonen.

opt
EvaluationOptions

Optionen für LG.

analyzerOptions
AnalyzerOptions

Optionen für die Analyse.

Details zur Eigenschaft

templates

Schablonen.

templates: Templates

Eigenschaftswert

Details zur Methode

analyzeTemplate(string)

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

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 einen Parsebaum, der von der ifElseBody-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 einen Parsebaum, der von der normalBody-Alternative in LGTemplateParser.body produziert wird.

function visitNormalBody(ctx: NormalBodyContext): AnalyzerResult

Parameter

ctx
NormalBodyContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult Instanz.

visitNormalTemplateBody(NormalTemplateBodyContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.normalTemplateBody produziert wird.

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): AnalyzerResult

Parameter

ctx
NormalTemplateBodyContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult Instanz.

visitNormalTemplateString(NormalTemplateStringContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.normalTemplateString produziert wird.

function visitNormalTemplateString(ctx: NormalTemplateStringContext): AnalyzerResult

Parameter

ctx
NormalTemplateStringContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult Instanz.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.structuredTemplateBody produziert wird.

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): AnalyzerResult

Parameter

ctx
StructuredTemplateBodyContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult Instanz.

visitStructureValue(KeyValueStructureLineContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.structuredValue produziert wird.

function visitStructureValue(ctx: KeyValueStructureLineContext): AnalyzerResult

Parameter

ctx
KeyValueStructureLineContext

Die Analysestruktur.

Gibt zurück

Die AnalyzerResult Instanz.

visitSwitchCaseBody(SwitchCaseBodyContext)

Besuchen Sie einen Parsebaum, der von der switchCaseBody-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 defaultResult(). Bevor sie jedes Kind besuchen, ruft es sollteVisitNextChild; wenn das Ergebnis false keine weiteren Untergeordneten besucht werden und das aktuelle Aggregatergebnis zurückgegeben wird. Nach dem Besuch eines Kindes wird das Aggregatergebnis aktualisiert, indem aggregateResult mit dem vorherigen Aggregatergebnis und dem Ergebnis des Besuchs des Kindes aufgerufen wird.

Die Standardimplementierung ist für Besucher, die die Struktur ändern, nicht sicher. Besucher, die den Baum ändern, sollten diese Methode überschreiben, um sich im Hinblick 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 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 defaultResult-zurück.

function visitTerminal(node: TerminalNode): AnalyzerResult

Parameter

node

TerminalNode

Gibt zurück

geerbt von AbstractParseTreeVisitor.visitTerminal