Compartilhar via


Evaluator class

Mecanismo de runtime de avaliação

Extends

AbstractParseTreeVisitor<unknown>

Construtores

Evaluator(Templates, EvaluationOptions)

Cria uma nova instância da classe avaliador de .

Propriedades

activityAttachmentFunctionName
expandTextFunctionName
expressionParser

Analisador de expressão.

fromFileFunctionName
isTemplateFunctionName
LGType
ReExecuteSuffix
templateFunctionName
templateMap

TemplateMap.

templates

Modelos.

Métodos

checkExpressionResult(string, string, unknown, string, string, string)

Verifica um resultado de expressão e lança o erro correspondente.

concatErrorMsg(string, string)

Concatena duas mensagens de erro.

constructScope(string, unknown[], Template[])

Constrói o escopo para mapear os valores dos argumentos para os parâmetros do modelo. Gerará erros se determinados erros detectados TemplateErrors.

evaluateTemplate(string, unknown)

Avalie um modelo com determinado nome e escopo.

visitIfElseBody(IfElseBodyContext)

Visite uma árvore de análise produzida pela alternativa rotulada ifElseBody 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.

visitSwitchCaseBody(SwitchCaseBodyContext)

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

wrappedEvalTextContainsExpression(string, RegExp)

Substitui uma expressão contida no texto.

Métodos herdados

visit(ParseTree)

{@inheritDoc} As chamadas de implementação padrão <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 for false nenhuma outra criança for visitada e o resultado da agregação atual for retornado. Depois de visitar um filho, o resultado da agregação é 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 da á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

Evaluator(Templates, EvaluationOptions)

Cria uma nova instância da classe avaliador de .

new Evaluator(templates: Templates, opt?: EvaluationOptions)

Parâmetros

templates
Templates

Modelos.

opt
EvaluationOptions

Opções para LG.

Detalhes da propriedade

activityAttachmentFunctionName

static activityAttachmentFunctionName: "ActivityAttachment" = "ActivityAttachment"

Valor da propriedade

"ActivityAttachment"

expandTextFunctionName

static expandTextFunctionName: "expandText" = "expandText"

Valor da propriedade

"expandText"

expressionParser

Analisador de expressão.

expressionParser: ExpressionParser

Valor da propriedade

ExpressionParser

fromFileFunctionName

static fromFileFunctionName: "fromFile" = "fromFile"

Valor da propriedade

"fromFile"

isTemplateFunctionName

static isTemplateFunctionName: "isTemplate" = "isTemplate"

Valor da propriedade

"isTemplate"

LGType

static LGType: "lgType" = "lgType"

Valor da propriedade

"lgType"

ReExecuteSuffix

static ReExecuteSuffix: "!" = "!"

Valor da propriedade

"!"

templateFunctionName

static templateFunctionName: "template" = "template"

Valor da propriedade

"template"

templateMap

TemplateMap.

templateMap: [key: string]: Template

Valor da propriedade

[key: string]: Template

templates

Modelos.

templates: Templates

Valor da propriedade

Detalhes do método

checkExpressionResult(string, string, unknown, string, string, string)

Verifica um resultado de expressão e lança o erro correspondente.

static function checkExpressionResult(exp: string, error: string, result: unknown, templateName: string, inlineContent: string, errorPrefix: string)

Parâmetros

exp

string

Texto de expressão.

error

string

Mensagem de erro.

result

unknown

Resultado.

templateName

string

Nome do modelo.

inlineContent

string

Opcional. Conteúdo de linha.

errorPrefix

string

Opcional. Prefixo de erro.

concatErrorMsg(string, string)

Concatena duas mensagens de erro.

static function concatErrorMsg(firstError: string, secondError: string): string

Parâmetros

firstError

string

Primeira mensagem de erro a ser concatenada.

secondError

string

Segunda mensagem de erro a ser concatenada.

Retornos

string

As mensagens de erro concatenadas.

constructScope(string, unknown[], Template[])

Constrói o escopo para mapear os valores dos argumentos para os parâmetros do modelo. Gerará erros se determinados erros detectados TemplateErrors.

function constructScope(inputTemplateName: string, args: unknown[], allTemplates: Template[]): MemoryInterface

Parâmetros

inputTemplateName

string

Nome do modelo a ser avaliado.

args

unknown[]

Argumentos a serem mapeados para os parâmetros de modelo.

allTemplates

Template[]

Todos os modelos.

Retornos

MemoryInterface

O escopo atual se o número de argumentos for 0, caso contrário, retornará um CustomedMemory com o mapeamento do nome do parâmetro para o valor de argumento adicionado ao escopo.

evaluateTemplate(string, unknown)

Avalie um modelo com determinado nome e escopo.

function evaluateTemplate(inputTemplateName: string, scope: unknown): unknown

Parâmetros

inputTemplateName

string

Nome do modelo.

scope

unknown

Âmbito.

Retornos

unknown

Avaliar o resultado.

visitIfElseBody(IfElseBodyContext)

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

function visitIfElseBody(ctx: IfElseBodyContext): unknown

Parâmetros

ctx
IfElseBodyContext

A árvore de análise.

Retornos

unknown

O resultado do visitante.

visitNormalBody(NormalBodyContext)

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

function visitNormalBody(ctx: NormalBodyContext): unknown

Parâmetros

ctx
NormalBodyContext

A árvore de análise.

Retornos

unknown

O resultado de visitar o corpo normal.

visitNormalTemplateBody(NormalTemplateBodyContext)

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

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): unknown

Parâmetros

ctx
NormalTemplateBodyContext

A árvore de análise.

Retornos

unknown

O resultado da visita ao corpo normal do modelo.

visitNormalTemplateString(NormalTemplateStringContext)

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

function visitNormalTemplateString(ctx: NormalTemplateStringContext): unknown

Parâmetros

ctx
NormalTemplateStringContext

A árvore de análise.

Retornos

unknown

O resultado da cadeia de caracteres de visitar a cadeia de caracteres de modelo normal.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

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

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): unknown

Parâmetros

ctx
StructuredTemplateBodyContext

A árvore de análise.

Retornos

unknown

O resultado da visita ao corpo do modelo estruturado.

visitSwitchCaseBody(SwitchCaseBodyContext)

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

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown

Parâmetros

ctx
SwitchCaseBodyContext

A árvore de análise.

Retornos

unknown

O resultado da cadeia de caracteres de visitar o corpo da caixa do comutador.

wrappedEvalTextContainsExpression(string, RegExp)

Substitui uma expressão contida no texto.

function wrappedEvalTextContainsExpression(exp: string, regex: RegExp): string

Parâmetros

exp

string

Texto da expressão.

regex

RegExp

Regex para selecionar o texto a ser substituído.

Retornos

string

Texto com expressão substituída.

Detalhes do método herdado

visit(ParseTree)

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

function visit(tree: ParseTree): unknown

Parâmetros

tree

ParseTree

Retornos

unknown

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 for false nenhuma outra criança for visitada e o resultado da agregação atual for retornado. Depois de visitar um filho, o resultado da agregação é 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 da á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): unknown

Parâmetros

node

RuleNode

Retornos

unknown

Herdado de AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

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

function visitErrorNode(node: ErrorNode): unknown

Parâmetros

node

ErrorNode

Retornos

unknown

Herdado de AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

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

function visitTerminal(node: TerminalNode): unknown

Parâmetros

node

TerminalNode

Retornos

unknown

Herdado de AbstractParseTreeVisitor.visitTerminal