다음을 통해 공유


CompilationStartAnalysisContext 클래스

정의

컴파일 시작 작업의 컨텍스트입니다. 컴파일 시작 작업은 를 CompilationStartAnalysisContext 사용하여 다음 중에서 실행할 작업을 등록할 수 있습니다.

  • 컴파일 끝,
  • 코드 문서 구문 분석 완료
  • 코드 문서의 의미 체계 분석 완료
  • 기호의 의미 체계 분석 완료
  • 메서드 본문 또는 메서드 본문 외부에 나타나는 식의 의미 체계 분석 시작
  • 메서드 본문 또는 메서드 본문 외부에 표시되는 식의 의미 체계 분석 완료 또는
  • 구문 노드의 의미 체계 분석 완료
public ref class CompilationStartAnalysisContext abstract
public abstract class CompilationStartAnalysisContext
type CompilationStartAnalysisContext = class
Public MustInherit Class CompilationStartAnalysisContext
상속
CompilationStartAnalysisContext

생성자

CompilationStartAnalysisContext(Compilation, AnalyzerOptions, CancellationToken)

컴파일 시작 작업의 컨텍스트입니다. 컴파일 시작 작업은 를 CompilationStartAnalysisContext 사용하여 다음 중에서 실행할 작업을 등록할 수 있습니다.

  • 컴파일 끝,
  • 코드 문서 구문 분석 완료
  • 코드 문서의 의미 체계 분석 완료
  • 기호의 의미 체계 분석 완료
  • 메서드 본문 또는 메서드 본문 외부에 나타나는 식의 의미 체계 분석 시작
  • 메서드 본문 또는 메서드 본문 외부에 표시되는 식의 의미 체계 분석 완료 또는
  • 구문 노드의 의미 체계 분석 완료

속성

CancellationToken

요청된 분석 취소에 대한 검사 토큰입니다.

Compilation

Compilation 분석의 주체입니다.

Options

분석에 지정된 옵션입니다.

메서드

RegisterAdditionalFileAction(Action<AdditionalFileAnalysisContext>)

코드가 아닌 각 문서에 대해 실행할 작업을 등록합니다. 추가 파일 작업은 문서의 에 AdditionalText 대해 보고Diagnostic합니다.

RegisterCodeBlockAction(Action<CodeBlockAnalysisContext>)

메서드 본문 또는 메서드 본문 외부에 나타나는 식의 의미 체계 분석이 끝날 때 실행할 작업을 등록합니다. 코드 블록 작업은 코드 블록에 대해 를 보고 Diagnostic합니다.

RegisterCodeBlockStartAction<TLanguageKindEnum>(Action<CodeBlockStartAnalysisContext<TLanguageKindEnum>>)

메서드 본문 또는 메서드 본문 외부에 나타나는 식의 의미 체계 분석을 시작할 때 실행할 작업을 등록합니다. 코드 블록 시작 작업은 다른 작업을 등록하거나 진단 분석에 사용할 상태 정보를 수집할 수 있지만 자체 보고 Diagnostic할 수는 없습니다.

RegisterCompilationEndAction(Action<CompilationAnalysisContext>)

컴파일 종료 시 실행할 작업을 등록합니다. 컴파일 종료 작업은 에 대해 를 보고 Diagnostic합니다 Compilation.

RegisterOperationAction(Action<OperationAnalysisContext>, ImmutableArray<OperationKind>)

적절한 Kind를 사용하여 의 의미 체계 분석을 IOperation 완료할 때 실행할 작업을 등록합니다. 작업 작업은 의 정보를 IOperation보고Diagnostic할 수 있으며 다른 작업 작업 또는 코드 블록 끝 작업에서 사용할 상태 정보를 수집할 수도 있습니다.

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

적절한 Kind를 사용하여 의 의미 체계 분석을 IOperation 완료할 때 실행할 작업을 등록합니다. 작업 작업은 의 정보를 IOperation보고Diagnostic할 수 있으며 다른 작업 작업 또는 코드 블록 끝 작업에서 사용할 상태 정보를 수집할 수도 있습니다.

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

메서드 본문 또는 메서드 본문 외부에 나타나는 식의 의미 체계 분석 후에 실행할 작업을 등록합니다. 작업 블록 작업은 작업 블록에 대한 를 보고 Diagnostic합니다.

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

메서드 본문 또는 메서드 본문 외부에 나타나는 식의 의미 체계 분석을 시작할 때 실행할 작업을 등록합니다. 작업 블록 시작 작업은 다른 작업을 등록하거나 진단 분석에 사용할 상태 정보를 수집할 수 있지만 자체 보고 Diagnostic할 수는 없습니다.

RegisterSemanticModelAction(Action<SemanticModelAnalysisContext>)

문서의 의미 체계 분석이 완료될 때 실행할 작업을 등록합니다. 이 작업은 문서의 에서 SemanticModel 작동합니다. 의미 체계 모델 작업은 모델에 대한 를 보고 Diagnostic합니다.

RegisterSymbolAction(Action<SymbolAnalysisContext>, ImmutableArray<SymbolKind>)

적절한 Kind를 사용하여 의 의미 체계 분석을 ISymbol 완료할 때 실행할 작업을 등록합니다. 기호 작업은 의 정보를 ISymbol보고Diagnostic합니다.

RegisterSymbolAction(Action<SymbolAnalysisContext>, SymbolKind[])

적절한 Kind를 사용하여 의 의미 체계 분석을 ISymbol 완료할 때 실행할 작업을 등록합니다. 기호 작업은 의 정보를 ISymbol보고Diagnostic합니다.

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

적절한 Kind를 사용하여 및 해당 멤버의 의미 체계 분석을 ISymbol 시작할 때 실행할 작업을 등록합니다.

RegisterSyntaxNodeAction<TLanguageKindEnum>(Action<SyntaxNodeAnalysisContext>, ImmutableArray<TLanguageKindEnum>)

적절한 Kind를 사용하여 의 의미 체계 분석을 완료할 때 실행할 작업을 등록합니다 SyntaxNode . 구문 노드 작업은 에 대한 SyntaxNode를 보고Diagnostic할 수 있으며 다른 구문 노드 작업 또는 코드 블록 끝 작업에서 사용할 상태 정보를 수집할 수도 있습니다.

RegisterSyntaxNodeAction<TLanguageKindEnum>(Action<SyntaxNodeAnalysisContext>, TLanguageKindEnum[])

적절한 Kind를 사용하여 의 의미 체계 분석을 완료할 때 실행할 작업을 등록합니다 SyntaxNode . 구문 노드 작업은 에 대한 SyntaxNode를 보고Diagnostic할 수 있으며 다른 구문 노드 작업 또는 코드 블록 끝 작업에서 사용할 상태 정보를 수집할 수도 있습니다.

RegisterSyntaxTreeAction(Action<SyntaxTreeAnalysisContext>)

코드 문서 구문 분석이 완료될 때 실행할 작업을 등록합니다. 구문 트리 작업은 문서의 에 대한 SyntaxTree 을 보고Diagnostic합니다.

TryGetValue<TValue>(AdditionalText, AdditionalTextValueProvider<TValue>, TValue)

지정된 text에 대해 지정된 valueProvider 에서 제공하는 캐시된 값을 계산하거나 가져옵니다. {valueProvider, text} 쌍이 키 역할을 합니다. 분석기 작업 및/또는 분석기 인스턴스에서 동일한 valueProvider instance 다시 사용하면 값의 재계산을 방지하여 전체 분석기 성능을 향상시킬 수 있습니다.

TryGetValue<TValue>(SourceText, SourceTextValueProvider<TValue>, TValue)

지정된 text에 대해 지정된 valueProvider 에서 제공하는 캐시된 값을 계산하거나 가져옵니다. {valueProvider, text} 쌍이 키 역할을 합니다. 분석기 작업 및/또는 분석기 인스턴스에서 동일한 valueProvider instance 다시 사용하면 값의 재계산을 방지하여 전체 분석기 성능을 향상시킬 수 있습니다.

TryGetValue<TValue>(SyntaxTree, SyntaxTreeValueProvider<TValue>, TValue)

지정된 tree에 대해 지정된 valueProvider 에서 제공하는 캐시된 값을 계산하거나 가져옵니다. {valueProvider, tree} 쌍이 키 역할을 합니다. 분석기 작업 및/또는 분석기 인스턴스에서 동일한 valueProvider instance 다시 사용하면 값의 재계산을 방지하여 전체 분석기 성능을 향상시킬 수 있습니다.

적용 대상