Поделиться через


Analyzer class

Подсистема анализатора. Получение результатов статического анализатора.

Extends

AbstractParseTreeVisitor<AnalyzerResult>

Конструкторы

Analyzer(Templates, EvaluationOptions, AnalyzerOptions)

Создает новый экземпляр класса анализатора .

Свойства

templates

Шаблоны.

Методы

analyzeTemplate(string)

Анализ шаблона для получения результатов статического анализатора.

visitIfElseBody(IfElseBodyContext)

Посетите дерево синтаксического анализа, созданное ifElseBody, помеченное альтернативой в LGTemplateParser.body.

visitNormalBody(NormalBodyContext)

Посетите дерево синтаксического анализа, созданное обычным Телом, помеченным альтернативой в LGTemplateParser.body.

visitNormalTemplateBody(NormalTemplateBodyContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.normalTemplateBody.

visitNormalTemplateString(NormalTemplateStringContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.normalTemplateString.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.structuredTemplateBody.

visitStructureValue(KeyValueStructureLineContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.structuredValue.

visitSwitchCaseBody(SwitchCaseBodyContext)

Посетите дерево синтаксического анализа, созданное параметром SwitchCaseBody, помеченным альтернативой в LGTemplateParser.body.

Наследуемые методы

visit(ParseTree)

{@inheritDoc} Реализация по умолчанию вызывает <xref:ParseTree%23accept> в указанном дереве.

visitChildren(RuleNode)

{@inheritDoc} Реализация по умолчанию инициализирует статистический результат defaultResult(). Перед посещением каждого ребенка он вызывает долженvisitNextChild; Если результат false больше не посещаются дочерние объекты и возвращается текущий статистический результат. После посещения дочернего объекта агрегатный результат обновляется путем вызова агрегированияResult с предыдущим статистическим результатом и результатом посещения ребенка.

Реализация по умолчанию не безопасна для использования в посетителей, изменяющих структуру дерева. Посетители, изменяющие дерево, должны переопределить этот метод для правильного поведения в отношении конкретного алгоритма, используемого.

visitErrorNode(ErrorNode)

{@inheritDoc} Реализация по умолчанию возвращает результат defaultResult.

visitTerminal(TerminalNode)

{@inheritDoc} Реализация по умолчанию возвращает результат defaultResult.

Сведения о конструкторе

Analyzer(Templates, EvaluationOptions, AnalyzerOptions)

Создает новый экземпляр класса анализатора .

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

Параметры

templates
Templates

Шаблоны.

opt
EvaluationOptions

Параметры LG.

analyzerOptions
AnalyzerOptions

Параметры анализатора.

Сведения о свойстве

templates

Шаблоны.

templates: Templates

Значение свойства

Сведения о методе

analyzeTemplate(string)

Анализ шаблона для получения результатов статического анализатора.

function analyzeTemplate(templateName: string): AnalyzerResult

Параметры

templateName

string

Имя шаблона.

Возвращаемое значение

Анализ результатов, включая переменные и ссылки на шаблон.

visitIfElseBody(IfElseBodyContext)

Посетите дерево синтаксического анализа, созданное ifElseBody, помеченное альтернативой в LGTemplateParser.body.

function visitIfElseBody(ctx: IfElseBodyContext): AnalyzerResult

Параметры

ctx
IfElseBodyContext

Дерево синтаксического анализа.

Возвращаемое значение

Экземпляр AnalyzerResult.

visitNormalBody(NormalBodyContext)

Посетите дерево синтаксического анализа, созданное обычным Телом, помеченным альтернативой в LGTemplateParser.body.

function visitNormalBody(ctx: NormalBodyContext): AnalyzerResult

Параметры

ctx
NormalBodyContext

Дерево синтаксического анализа.

Возвращаемое значение

Экземпляр AnalyzerResult.

visitNormalTemplateBody(NormalTemplateBodyContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.normalTemplateBody.

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): AnalyzerResult

Параметры

ctx
NormalTemplateBodyContext

Дерево синтаксического анализа.

Возвращаемое значение

Экземпляр AnalyzerResult.

visitNormalTemplateString(NormalTemplateStringContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.normalTemplateString.

function visitNormalTemplateString(ctx: NormalTemplateStringContext): AnalyzerResult

Параметры

ctx
NormalTemplateStringContext

Дерево синтаксического анализа.

Возвращаемое значение

Экземпляр AnalyzerResult.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.structuredTemplateBody.

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): AnalyzerResult

Параметры

ctx
StructuredTemplateBodyContext

Дерево синтаксического анализа.

Возвращаемое значение

Экземпляр AnalyzerResult.

visitStructureValue(KeyValueStructureLineContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.structuredValue.

function visitStructureValue(ctx: KeyValueStructureLineContext): AnalyzerResult

Параметры

ctx
KeyValueStructureLineContext

Дерево синтаксического анализа.

Возвращаемое значение

Экземпляр AnalyzerResult.

visitSwitchCaseBody(SwitchCaseBodyContext)

Посетите дерево синтаксического анализа, созданное параметром SwitchCaseBody, помеченным альтернативой в LGTemplateParser.body.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): AnalyzerResult

Параметры

ctx
SwitchCaseBodyContext

Дерево синтаксического анализа.

Возвращаемое значение

Экземпляр AnalyzerResult.

Сведения о наследуемом методе

visit(ParseTree)

{@inheritDoc} Реализация по умолчанию вызывает <xref:ParseTree%23accept> в указанном дереве.

function visit(tree: ParseTree): AnalyzerResult

Параметры

tree

ParseTree

Возвращаемое значение

Наследуется от AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} Реализация по умолчанию инициализирует статистический результат defaultResult(). Перед посещением каждого ребенка он вызывает долженvisitNextChild; Если результат false больше не посещаются дочерние объекты и возвращается текущий статистический результат. После посещения дочернего объекта агрегатный результат обновляется путем вызова агрегированияResult с предыдущим статистическим результатом и результатом посещения ребенка.

Реализация по умолчанию не безопасна для использования в посетителей, изменяющих структуру дерева. Посетители, изменяющие дерево, должны переопределить этот метод для правильного поведения в отношении конкретного алгоритма, используемого.

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