44 references to AccessorKind
Microsoft.CodeAnalysis.CSharp (44)
Binder\Binder.ValueChecks.cs (11)
156Debug.Assert(indexerAccess.AccessorKind != AccessorKind.Set); 306Debug.Assert(propertyAccess.AutoPropertyAccessorKind != AccessorKind.Set); 606private static AccessorKind GetIndexerAccessorKind(BoundIndexerAccess indexerAccess, BindValueKind valueKind) 610return AccessorKind.Get; 616private static AccessorKind GetAccessorKind(BindValueKind valueKind) 621BindValueKind.CompoundAssignment => AccessorKind.Both, 622BindValueKind.Assignable => AccessorKind.Set, 623_ => AccessorKind.Get, 630AccessorKind accessorKind = GetIndexerAccessorKind(indexerAccess, valueKind); 802var kind = GetIndexerAccessorKind(indexerAccess, valueKind); 2039if (!AccessingAutoPropertyFromConstructor(receiver, propertySymbol, containing, AccessorKind.Set)
Binder\Binder_Attributes.cs (1)
589lvalue = new BoundPropertyAccess(nameSyntax, receiverOpt: null, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, propertySymbol, autoPropertyAccessorKind: AccessorKind.Unknown, resultKind, namedArgumentType);
Binder\Binder_Expressions.cs (4)
6083AccessorKind accessorKind = AccessorKind.Unknown; 10003return new BoundPropertyAccess(node, receiver, initialBindingReceiverIsSubjectToCloning: ReceiverIsSubjectToCloning(receiver, propertySymbol), propertySymbol, autoPropertyAccessorKind: AccessorKind.Unknown, lookupResult, propertySymbol.Type, hasErrors: (hasErrors || hasError)); 11244AccessorKind.Unknown,
Binder\Binder_Invocation.cs (2)
2451Debug.Assert(indexerAccess.AccessorKind == AccessorKind.Unknown); 2452if (indexerAccess.AccessorKind == AccessorKind.Unknown)
Binder\Binder_Statements.cs (2)
1805private static bool AccessingAutoPropertyFromConstructor(BoundExpression? receiver, PropertySymbol propertySymbol, Symbol fromMember, AccessorKind accessorKind) 1815sourceProperty.CanUseBackingFieldDirectlyInConstructor(useAsLvalue: accessorKind != AccessorKind.Get) &&
Binder\RefSafetyAnalysis.cs (4)
1068Debug.Assert(node.AccessorKind is not AccessorKind.Unknown); 1069if (node.AccessorKind is AccessorKind.Set) 1076Debug.Assert(node.AccessorKind is AccessorKind.Get or AccessorKind.Both);
BoundTree\BoundExpression.cs (1)
363public BoundIndexerAccess Update(AccessorKind accessorKind)
BoundTree\Constructors.cs (3)
290accessorKind: AccessorKind.Unknown, 306AccessorKind accessorKind, 321AccessorKind accessorKind,
Generated\BoundNodes.xml.Generated.cs (9)
6859public BoundObjectInitializerMember(SyntaxNode syntax, Symbol? memberSymbol, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, AccessorKind accessorKind, TypeSymbol receiverType, TypeSymbol type, bool hasErrors = false) 6888public AccessorKind AccessorKind { get; } 6894public BoundObjectInitializerMember Update(Symbol? memberSymbol, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, AccessorKind accessorKind, TypeSymbol receiverType, TypeSymbol type) 7453public BoundPropertyAccess(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind, LookupResultKind resultKind, TypeSymbol type, bool hasErrors = false) 7471public AccessorKind AutoPropertyAccessorKind { get; } 7477public BoundPropertyAccess Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind, LookupResultKind resultKind, TypeSymbol type) 7527public BoundIndexerAccess(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol indexer, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, AccessorKind accessorKind, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ImmutableArray<PropertySymbol> originalIndexersOpt, TypeSymbol type, bool hasErrors = false) 7556public AccessorKind AccessorKind { get; } 7564public BoundIndexerAccess Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol indexer, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, AccessorKind accessorKind, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ImmutableArray<PropertySymbol> originalIndexersOpt, TypeSymbol type)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (3)
70Debug.Assert(node.AccessorKind != AccessorKind.Unknown); 81Debug.Assert(node.AccessorKind != AccessorKind.Unknown); 82Debug.Assert(isLeftOfAssignment || (node.AccessorKind != AccessorKind.Set));
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (4)
58oldNodeOpt.Update(rewrittenReceiverOpt, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, propertySymbol, autoPropertyAccessorKind: AccessorKind.Unknown, resultKind, type) : 59new BoundPropertyAccess(syntax, rewrittenReceiverOpt, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, propertySymbol, autoPropertyAccessorKind: AccessorKind.Unknown, resultKind, type); 86oldNodeOpt.Update(rewrittenReceiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, property, autoPropertyAccessorKind: AccessorKind.Unknown, LookupResultKind.Viable, property.Type) : 87new BoundPropertyAccess(syntax, rewrittenReceiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, property, autoPropertyAccessorKind: AccessorKind.Unknown, LookupResultKind.Viable, property.Type);