|
Dreamine.MVVM.Generators 1.0.13
Dreamine.MVVM.Generators 프로젝트의 API와 구성 요소를 제공합니다.
|
DreamineCommandAttribute가 적용된 메서드를 기반으로 커맨드 프로퍼티와 forwarding 메서드 구현을 생성하는 증분 생성기입니다.
더 자세히 ...


클래스 | |
| class | CommandCandidateModel |
| 생성 대상 메서드 메타데이터를 나타냅니다. 더 자세히 ... | |
Public 멤버 함수 | |
| void | Initialize (IncrementalGeneratorInitializationContext context) |
| 증분 생성기 파이프라인을 초기화합니다. | |
정적 Private 멤버 함수 | |
| static ? CommandCandidateModel | TryCreateCandidate (GeneratorSyntaxContext context, INamedTypeSymbol? attributeSymbol) |
| 구문/시맨틱 정보를 기반으로 생성 후보를 구성합니다. | |
| static void | Emit (SourceProductionContext context, ImmutableArray< CommandCandidateModel > candidates) |
| 수집된 후보를 진단하고 소스를 생성합니다. | |
| static List< Diagnostic > | ValidateCandidate (CommandCandidateModel candidate) |
| 후보의 유효성을 검증합니다. | |
| static bool | IsPartialMethod (MethodDeclarationSyntax methodSyntax) |
| partial 메서드 여부를 확인합니다. | |
| static bool | IsContainingTypePartial (INamedTypeSymbol typeSymbol) |
| containing type이 partial인지 확인합니다. | |
| static bool | IsParameterlessVoidMethod (IMethodSymbol methodSymbol) |
| 메서드가 parameterless void 형식인지 확인합니다. | |
| static bool | HasConflictingMember (INamedTypeSymbol typeSymbol, string memberName) |
| 같은 이름의 멤버가 이미 존재하는지 확인합니다. | |
| static bool | HasValidCanExecuteMethod (INamedTypeSymbol typeSymbol, string methodName) |
| static string | BuildCommandPropertyName (string methodName, string? commandNameOverride) |
| 생성할 커맨드 프로퍼티 이름을 결정합니다. | |
| static string | BuildFileName (CommandCandidateModel candidate) |
| 생성 파일 이름을 만듭니다. | |
| static string | BuildSource (CommandCandidateModel candidate) |
| 생성 코드를 만듭니다. | |
| static string | GetMethodSignatureWithoutAttributes (MethodDeclarationSyntax methodSyntax) |
| 원본 메서드에서 Attribute와 본문을 제거한 시그니처를 만듭니다. | |
| static ? string | GetConstructorStringArgument (AttributeData attribute, int index) |
| 생성자 문자열 인자를 가져옵니다. | |
| static ? string | GetNamedStringArgument (AttributeData attribute, string name) |
| named argument 문자열 값을 가져옵니다. | |
| static string | NormalizeInvocation (string targetMethod) |
| TargetMethod 문자열을 호출 형태로 정규화합니다. | |
| static List< INamedTypeSymbol > | GetContainingTypeChain (INamedTypeSymbol innerMostType) |
| 바깥 타입부터 안쪽 타입까지의 체인을 반환합니다. | |
| static string | GetTypeDeclarationHeader (INamedTypeSymbol typeSymbol) |
| partial 타입 선언 헤더를 생성합니다. | |
| static string | Sanitize (string name) |
| 파일명에 안전한 형태로 문자열을 정리합니다. | |
| static string | ToCamel (string name) |
| PascalCase 문자열을 camelCase로 변환합니다. | |
정적 Private 속성 | |
| const string | DreamineCommandAttributeMetadataName = "Dreamine.MVVM.Attributes.DreamineCommandAttribute" |
| static readonly DiagnosticDescriptor | MethodMustBePartialDescriptor |
| static readonly DiagnosticDescriptor | ContainingTypeMustBePartialDescriptor |
| static readonly DiagnosticDescriptor | MethodMustBeParameterlessVoidDescriptor |
| static readonly DiagnosticDescriptor | CommandNameConflictDescriptor |
| static readonly DiagnosticDescriptor | CanExecuteMethodNotFoundDescriptor |
DreamineCommandAttribute가 적용된 메서드를 기반으로 커맨드 프로퍼티와 forwarding 메서드 구현을 생성하는 증분 생성기입니다.
DreamineCommandSourceGenerator.cs 파일의 18 번째 라인에서 정의되었습니다.
|
inlinestaticprivate |
생성할 커맨드 프로퍼티 이름을 결정합니다.
| methodName | 원본 메서드 이름입니다. |
| commandNameOverride | 명시적으로 지정한 커맨드 이름입니다. |
DreamineCommandSourceGenerator.cs 파일의 297 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : TryCreateCandidate().

|
inlinestaticprivate |
생성 파일 이름을 만듭니다.
| candidate | 대상 후보입니다. |
DreamineCommandSourceGenerator.cs 파일의 312 번째 라인에서 정의되었습니다.
다음을 참조함 : GetContainingTypeChain(), Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.MethodSymbol, Sanitize().
다음에 의해서 참조됨 : Emit().


|
inlinestaticprivate |
생성 코드를 만듭니다.
| candidate | 생성 대상 후보입니다. |
DreamineCommandSourceGenerator.cs 파일의 329 번째 라인에서 정의되었습니다.
다음을 참조함 : Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.BindTo, Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.CanExecuteMethod, Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.CommandPropertyName, GetContainingTypeChain(), GetMethodSignatureWithoutAttributes(), GetTypeDeclarationHeader(), Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.MethodSymbol, Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.MethodSyntax, NormalizeInvocation(), Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.TargetMethod, ToCamel().
다음에 의해서 참조됨 : Emit().


|
inlinestaticprivate |
수집된 후보를 진단하고 소스를 생성합니다.
| context | 소스 출력 컨텍스트입니다. |
| candidates | 수집된 후보 목록입니다. |
DreamineCommandSourceGenerator.cs 파일의 144 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildFileName(), BuildSource(), ValidateCandidate().
다음에 의해서 참조됨 : Initialize().


|
inlinestaticprivate |
생성자 문자열 인자를 가져옵니다.
| attribute | 검사할 Attribute 데이터입니다. |
| index | 가져올 생성자 인덱스입니다. |
null을 반환합니다.DreamineCommandSourceGenerator.cs 파일의 468 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : TryCreateCandidate().

|
inlinestaticprivate |
바깥 타입부터 안쪽 타입까지의 체인을 반환합니다.
| innerMostType | 가장 안쪽 타입입니다. |
DreamineCommandSourceGenerator.cs 파일의 514 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildFileName(), BuildSource().

|
inlinestaticprivate |
원본 메서드에서 Attribute와 본문을 제거한 시그니처를 만듭니다.
| methodSyntax | 원본 메서드 구문입니다. |
DreamineCommandSourceGenerator.cs 파일의 451 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildSource().

|
inlinestaticprivate |
named argument 문자열 값을 가져옵니다.
| attribute | 검사할 Attribute 데이터입니다. |
| name | 찾을 인자 이름입니다. |
null을 반환합니다.DreamineCommandSourceGenerator.cs 파일의 484 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : TryCreateCandidate().

|
inlinestaticprivate |
partial 타입 선언 헤더를 생성합니다.
| typeSymbol | 대상 타입 심볼입니다. |
DreamineCommandSourceGenerator.cs 파일의 533 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildSource().

|
inlinestaticprivate |
같은 이름의 멤버가 이미 존재하는지 확인합니다.
| typeSymbol | 검사할 타입입니다. |
| memberName | 검사할 멤버 이름입니다. |
true이고, 아니면 false입니다.DreamineCommandSourceGenerator.cs 파일의 277 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().

|
inlinestaticprivate |
DreamineCommandSourceGenerator.cs 파일의 282 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().

|
inline |
증분 생성기 파이프라인을 초기화합니다.
| context | 생성기 초기화 컨텍스트입니다. |
DreamineCommandSourceGenerator.cs 파일의 66 번째 라인에서 정의되었습니다.
다음을 참조함 : DreamineCommandAttributeMetadataName, Emit(), TryCreateCandidate().

|
inlinestaticprivate |
containing type이 partial인지 확인합니다.
| typeSymbol | 검사할 타입 심볼입니다. |
true이고, 아니면 false입니다.DreamineCommandSourceGenerator.cs 파일의 245 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().

|
inlinestaticprivate |
메서드가 parameterless void 형식인지 확인합니다.
| methodSymbol | 검사할 메서드 심볼입니다. |
true이고, 아니면 false입니다.DreamineCommandSourceGenerator.cs 파일의 264 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().

|
inlinestaticprivate |
partial 메서드 여부를 확인합니다.
| methodSyntax | 검사할 메서드 구문입니다. |
true이고, 아니면 false입니다.DreamineCommandSourceGenerator.cs 파일의 235 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().

|
inlinestaticprivate |
TargetMethod 문자열을 호출 형태로 정규화합니다.
| targetMethod | 원본 대상 메서드 문자열입니다. |
DreamineCommandSourceGenerator.cs 파일의 497 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildSource().

|
inlinestaticprivate |
파일명에 안전한 형태로 문자열을 정리합니다.
| name | 원본 문자열입니다. |
DreamineCommandSourceGenerator.cs 파일의 567 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildFileName().

|
inlinestaticprivate |
PascalCase 문자열을 camelCase로 변환합니다.
| name | 변환할 문자열입니다. |
DreamineCommandSourceGenerator.cs 파일의 577 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildSource().

|
inlinestaticprivate |
구문/시맨틱 정보를 기반으로 생성 후보를 구성합니다.
| context | 구문 분석 컨텍스트입니다. |
| attributeSymbol | DreamineCommandAttribute 심볼입니다. |
null을 반환합니다.DreamineCommandSourceGenerator.cs 파일의 95 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildCommandPropertyName(), GetConstructorStringArgument(), GetNamedStringArgument().
다음에 의해서 참조됨 : Initialize().


|
inlinestaticprivate |
후보의 유효성을 검증합니다.
| candidate | 검사할 후보입니다. |
DreamineCommandSourceGenerator.cs 파일의 178 번째 라인에서 정의되었습니다.
다음을 참조함 : Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.CanExecuteMethod, CanExecuteMethodNotFoundDescriptor, CommandNameConflictDescriptor, Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.CommandPropertyName, ContainingTypeMustBePartialDescriptor, HasConflictingMember(), HasValidCanExecuteMethod(), IsContainingTypePartial(), IsParameterlessVoidMethod(), IsPartialMethod(), MethodMustBeParameterlessVoidDescriptor, MethodMustBePartialDescriptor, Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.MethodSymbol, Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.MethodSyntax, Dreamine.MVVM.Generators.DreamineCommandSourceGenerator.CommandCandidateModel.TargetMethod.
다음에 의해서 참조됨 : Emit().


|
staticprivate |
DreamineCommandSourceGenerator.cs 파일의 54 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().
|
staticprivate |
DreamineCommandSourceGenerator.cs 파일의 46 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().
|
staticprivate |
DreamineCommandSourceGenerator.cs 파일의 30 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().
|
staticprivate |
DreamineCommandSourceGenerator.cs 파일의 20 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : Initialize().
|
staticprivate |
DreamineCommandSourceGenerator.cs 파일의 38 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().
|
staticprivate |
DreamineCommandSourceGenerator.cs 파일의 22 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ValidateCandidate().