다음을 통해 공유


Analyzer class

분석기 엔진. 정적 분석기 결과를 가져옵니다.

Extends

AbstractParseTreeVisitor<AnalyzerResult>

생성자

Analyzer(Templates, EvaluationOptions, AnalyzerOptions)

분석기 클래스의 새 인스턴스를 만듭니다.

속성

templates

템플릿입니다.

메서드

analyzeTemplate(string)

템플릿을 분석하여 정적 분석기 결과를 가져옵니다.

visitIfElseBody(IfElseBodyContext)

LGTemplateParser.body에서 ifElseBody 레이블이 지정된 대체 항목으로 생성된 구문 분석 트리를 방문합니다.

visitNormalBody(NormalBodyContext)

LGTemplateParser.body에서 normalBody 레이블이 지정된 대체 항목으로 생성된 구문 분석 트리를 방문합니다.

visitNormalTemplateBody(NormalTemplateBodyContext)

LGTemplateParser.normalTemplateBody에서 생성된 구문 분석 트리를 방문합니다.

visitNormalTemplateString(NormalTemplateStringContext)

LGTemplateParser.normalTemplateString에서 생성된 구문 분석 트리를 방문합니다.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

LGTemplateParser.structuredTemplateBody에서 생성된 구문 분석 트리를 방문합니다.

visitStructureValue(KeyValueStructureLineContext)

LGTemplateParser.structuredValue에서 생성된 구문 분석 트리를 방문합니다.

visitSwitchCaseBody(SwitchCaseBodyContext)

LGTemplateParser.body에서 switchCaseBody 레이블이 지정된 대체 항목으로 생성된 구문 분석 트리를 방문합니다.

상속된 메서드

visit(ParseTree)

{@inheritDoc} 기본 구현은 지정된 트리에서 를 호출 <xref:ParseTree%23accept> 합니다.

visitChildren(RuleNode)

{@inheritDoc} 기본 구현은 집계 결과를 defaultResult()로 초기화합니다. 각 자식을 방문하기 전에 는 shouldVisitNextChild를 호출합니다. 결과가 false 더 이상 자식이 방문되지 않고 현재 집계 결과가 반환되면 입니다. 자식 방문 후 집계 결과는 이전 집계 결과와 자식 방문 결과를 사용하여 aggregateResult 를 호출하여 업데이트됩니다.

기본 구현은 트리 구조를 수정하는 방문자에게 안전하지 않습니다. 트리를 수정하는 방문자는 사용 중인 특정 알고리즘과 관련하여 제대로 작동하도록 이 메서드를 재정의해야 합니다.

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)

LGTemplateParser.body에서 ifElseBody 레이블이 지정된 대체 항목으로 생성된 구문 분석 트리를 방문합니다.

function visitIfElseBody(ctx: IfElseBodyContext): AnalyzerResult

매개 변수

ctx
IfElseBodyContext

구문 분석 트리입니다.

반환

AnalyzerResult 인스턴스입니다.

visitNormalBody(NormalBodyContext)

LGTemplateParser.body에서 normalBody 레이블이 지정된 대체 항목으로 생성된 구문 분석 트리를 방문합니다.

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)

LGTemplateParser.body에서 switchCaseBody 레이블이 지정된 대체 항목으로 생성된 구문 분석 트리를 방문합니다.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): AnalyzerResult

매개 변수

ctx
SwitchCaseBodyContext

구문 분석 트리입니다.

반환

AnalyzerResult 인스턴스입니다.

상속된 메서드 세부 정보

visit(ParseTree)

{@inheritDoc} 기본 구현은 지정된 트리에서 를 호출 <xref:ParseTree%23accept> 합니다.

function visit(tree: ParseTree): AnalyzerResult

매개 변수

tree

ParseTree

반환

상속된 From AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} 기본 구현은 집계 결과를 defaultResult()로 초기화합니다. 각 자식을 방문하기 전에 는 shouldVisitNextChild를 호출합니다. 결과가 false 더 이상 자식이 방문되지 않고 현재 집계 결과가 반환되면 입니다. 자식 방문 후 집계 결과는 이전 집계 결과와 자식 방문 결과를 사용하여 aggregateResult 를 호출하여 업데이트됩니다.

기본 구현은 트리 구조를 수정하는 방문자에게 안전하지 않습니다. 트리를 수정하는 방문자는 사용 중인 특정 알고리즘과 관련하여 제대로 작동하도록 이 메서드를 재정의해야 합니다.

function visitChildren(node: RuleNode): AnalyzerResult

매개 변수

node

RuleNode

반환

상속된 From AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc} 기본 구현은 defaultResult의 결과를 반환합니다.

function visitErrorNode(node: ErrorNode): AnalyzerResult

매개 변수

node

ErrorNode

반환

상속된 From AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc} 기본 구현은 defaultResult의 결과를 반환합니다.

function visitTerminal(node: TerminalNode): AnalyzerResult

매개 변수

node

TerminalNode

반환

상속된 From AbstractParseTreeVisitor.visitTerminal