| | | 1 | | using Microsoft.CodeAnalysis; |
| | | 2 | | |
| | | 3 | | namespace NexusLabs.Needlr.Generators.Models; |
| | | 4 | | |
| | | 5 | | /// <summary> |
| | | 6 | | /// Analyzer-only information for one constructor guard occurrence on a field or |
| | | 7 | | /// property. |
| | | 8 | | /// </summary> |
| | | 9 | | internal readonly struct ConstructorGuardOccurrence |
| | | 10 | | { |
| | | 11 | | public ConstructorGuardOccurrence( |
| | | 12 | | ISymbol member, |
| | | 13 | | ITypeSymbol memberType, |
| | | 14 | | string memberKind, |
| | | 15 | | AttributeData attribute, |
| | | 16 | | ConstructorGuardOccurrenceKind kind, |
| | | 17 | | string? ineligibilityReason, |
| | | 18 | | ITypeSymbol? guardType, |
| | | 19 | | string? methodName, |
| | | 20 | | bool methodNameExplicit, |
| | | 21 | | bool guardTypeUsageIsInSourceAlias) |
| | | 22 | | { |
| | 95 | 23 | | Member = member; |
| | 95 | 24 | | MemberType = memberType; |
| | 95 | 25 | | MemberKind = memberKind; |
| | 95 | 26 | | Attribute = attribute; |
| | 95 | 27 | | Kind = kind; |
| | 95 | 28 | | IneligibilityReason = ineligibilityReason; |
| | 95 | 29 | | GuardType = guardType; |
| | 95 | 30 | | MethodName = methodName; |
| | 95 | 31 | | MethodNameExplicit = methodNameExplicit; |
| | 95 | 32 | | GuardTypeUsageIsInSourceAlias = guardTypeUsageIsInSourceAlias; |
| | 95 | 33 | | } |
| | | 34 | | |
| | 68 | 35 | | public ISymbol Member { get; } |
| | | 36 | | |
| | 108 | 37 | | public ITypeSymbol MemberType { get; } |
| | | 38 | | |
| | 61 | 39 | | public string MemberKind { get; } |
| | | 40 | | |
| | 136 | 41 | | public AttributeData Attribute { get; } |
| | | 42 | | |
| | 221 | 43 | | public ConstructorGuardOccurrenceKind Kind { get; } |
| | | 44 | | |
| | 84 | 45 | | public string? IneligibilityReason { get; } |
| | | 46 | | |
| | 129 | 47 | | public ITypeSymbol? GuardType { get; } |
| | | 48 | | |
| | 83 | 49 | | public string? MethodName { get; } |
| | | 50 | | |
| | 31 | 51 | | public bool MethodNameExplicit { get; } |
| | | 52 | | |
| | 24 | 53 | | public bool GuardTypeUsageIsInSourceAlias { get; } |
| | | 54 | | } |