Compartilhar via


Analyzer class

Mecanismo do analisador. Para obter os resultados do analisador estático.

Extends

AbstractParseTreeVisitor<AnalyzerResult>

Construtores

Analyzer(Templates, EvaluationOptions, AnalyzerOptions)

Cria uma nova instância da classe Analyzer .

Propriedades

templates

Modelos.

Métodos

analyzeTemplate(string)

Analise um modelo para obter os resultados do analisador estático.

visitIfElseBody(IfElseBodyContext)

Visite uma árvore de análise produzida pela alternativa ifElseBody rotulada em LGTemplateParser.body.

visitNormalBody(NormalBodyContext)

Visite uma árvore de análise produzida pela alternativa normalBody rotulada em LGTemplateParser.body.

visitNormalTemplateBody(NormalTemplateBodyContext)

Visite uma árvore de análise produzida por LGTemplateParser.normalTemplateBody.

visitNormalTemplateString(NormalTemplateStringContext)

Visite uma árvore de análise produzida por LGTemplateParser.normalTemplateString.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Visite uma árvore de análise produzida por LGTemplateParser.structuredTemplateBody.

visitStructureValue(KeyValueStructureLineContext)

Visite uma árvore de análise produzida por LGTemplateParser.structuredValue.

visitSwitchCaseBody(SwitchCaseBodyContext)

Visite uma árvore de análise produzida pela alternativa com rótulo switchCaseBody em LGTemplateParser.body.

Métodos herdados

visit(ParseTree)

{@inheritDoc} A implementação padrão chama <xref:ParseTree%23accept> na árvore especificada.

visitChildren(RuleNode)

{@inheritDoc} A implementação padrão inicializa o resultado de agregação para defaultResult(). Antes de visitar cada filho, ele chama shouldVisitNextChild; se o resultado não for false mais filhos forem visitados e o resultado de agregação atual for retornado. Depois de visitar um filho, o resultado agregado é atualizado chamando aggregateResult com o resultado agregado anterior e o resultado da visita ao filho.

A implementação padrão não é segura para uso em visitantes que modificam a estrutura de árvore. Os visitantes que modificam a árvore devem substituir esse método para se comportarem corretamente em relação ao algoritmo específico em uso.

visitErrorNode(ErrorNode)

{@inheritDoc} A implementação padrão retorna o resultado de defaultResult.

visitTerminal(TerminalNode)

{@inheritDoc} A implementação padrão retorna o resultado de defaultResult.

Detalhes do construtor

Analyzer(Templates, EvaluationOptions, AnalyzerOptions)

Cria uma nova instância da classe Analyzer .

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

Parâmetros

templates
Templates

Modelos.

opt
EvaluationOptions

Opções para LG.

analyzerOptions
AnalyzerOptions

Opções para o analisador.

Detalhes da propriedade

templates

Modelos.

templates: Templates

Valor da propriedade

Detalhes do método

analyzeTemplate(string)

Analise um modelo para obter os resultados do analisador estático.

function analyzeTemplate(templateName: string): AnalyzerResult

Parâmetros

templateName

string

Nome do modelo.

Retornos

Analise o resultado, incluindo variáveis e referências de modelo.

visitIfElseBody(IfElseBodyContext)

Visite uma árvore de análise produzida pela alternativa ifElseBody rotulada em LGTemplateParser.body.

function visitIfElseBody(ctx: IfElseBodyContext): AnalyzerResult

Parâmetros

ctx
IfElseBodyContext

A árvore de análise.

Retornos

A instância AnalyzerResult .

visitNormalBody(NormalBodyContext)

Visite uma árvore de análise produzida pela alternativa normalBody rotulada em LGTemplateParser.body.

function visitNormalBody(ctx: NormalBodyContext): AnalyzerResult

Parâmetros

ctx
NormalBodyContext

A árvore de análise.

Retornos

A instância AnalyzerResult .

visitNormalTemplateBody(NormalTemplateBodyContext)

Visite uma árvore de análise produzida por LGTemplateParser.normalTemplateBody.

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): AnalyzerResult

Parâmetros

ctx
NormalTemplateBodyContext

A árvore de análise.

Retornos

A instância AnalyzerResult .

visitNormalTemplateString(NormalTemplateStringContext)

Visite uma árvore de análise produzida por LGTemplateParser.normalTemplateString.

function visitNormalTemplateString(ctx: NormalTemplateStringContext): AnalyzerResult

Parâmetros

ctx
NormalTemplateStringContext

A árvore de análise.

Retornos

A instância AnalyzerResult .

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Visite uma árvore de análise produzida por LGTemplateParser.structuredTemplateBody.

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): AnalyzerResult

Parâmetros

ctx
StructuredTemplateBodyContext

A árvore de análise.

Retornos

A instância AnalyzerResult .

visitStructureValue(KeyValueStructureLineContext)

Visite uma árvore de análise produzida por LGTemplateParser.structuredValue.

function visitStructureValue(ctx: KeyValueStructureLineContext): AnalyzerResult

Parâmetros

ctx
KeyValueStructureLineContext

A árvore de análise.

Retornos

A instância AnalyzerResult .

visitSwitchCaseBody(SwitchCaseBodyContext)

Visite uma árvore de análise produzida pela alternativa com rótulo switchCaseBody em LGTemplateParser.body.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): AnalyzerResult

Parâmetros

ctx
SwitchCaseBodyContext

A árvore de análise.

Retornos

A instância AnalyzerResult .

Detalhes do método herdado

visit(ParseTree)

{@inheritDoc} A implementação padrão chama <xref:ParseTree%23accept> na árvore especificada.

function visit(tree: ParseTree): AnalyzerResult

Parâmetros

tree

ParseTree

Retornos

Herdado de AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} A implementação padrão inicializa o resultado de agregação para defaultResult(). Antes de visitar cada filho, ele chama shouldVisitNextChild; se o resultado não for false mais filhos forem visitados e o resultado de agregação atual for retornado. Depois de visitar um filho, o resultado agregado é atualizado chamando aggregateResult com o resultado agregado anterior e o resultado da visita ao filho.

A implementação padrão não é segura para uso em visitantes que modificam a estrutura de árvore. Os visitantes que modificam a árvore devem substituir esse método para se comportarem corretamente em relação ao algoritmo específico em uso.

function visitChildren(node: RuleNode): AnalyzerResult

Parâmetros

node

RuleNode

Retornos

Herdado de AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc} A implementação padrão retorna o resultado de defaultResult.

function visitErrorNode(node: ErrorNode): AnalyzerResult

Parâmetros

node

ErrorNode

Retornos

Herdado de AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc} A implementação padrão retorna o resultado de defaultResult.

function visitTerminal(node: TerminalNode): AnalyzerResult

Parâmetros

node

TerminalNode

Retornos

Herdado de AbstractParseTreeVisitor.visitTerminal