13 types derived from Symbol
Microsoft.CodeAnalysis.CSharp (13)
Symbols\AliasSymbol.cs (1)
48internal abstract class AliasSymbol : Symbol
Symbols\AssemblySymbol.cs (1)
25internal abstract class AssemblySymbol : Symbol, IAssemblySymbolInternal
Symbols\DiscardSymbol.cs (1)
11internal sealed class DiscardSymbol : Symbol
Symbols\EventSymbol.cs (1)
17internal abstract partial class EventSymbol : Symbol
Symbols\FieldSymbol.cs (1)
22internal abstract partial class FieldSymbol : Symbol, IFieldSymbolInternal
Symbols\LabelSymbol.cs (1)
16internal abstract class LabelSymbol : Symbol
Symbols\LocalSymbol.cs (1)
20internal abstract class LocalSymbol : Symbol, ILocalSymbolInternal
Symbols\MethodSymbol.cs (1)
26internal abstract partial class MethodSymbol : Symbol, IMethodSymbolInternal
Symbols\ModuleSymbol.cs (1)
21internal abstract class ModuleSymbol : Symbol, IModuleSymbolInternal
Symbols\NamespaceOrTypeSymbol.cs (1)
21internal abstract class NamespaceOrTypeSymbol : Symbol, INamespaceOrTypeSymbolInternal
Symbols\ParameterSymbol.cs (1)
17internal abstract partial class ParameterSymbol : Symbol, IParameterSymbolInternal
Symbols\PropertySymbol.cs (1)
19internal abstract partial class PropertySymbol : Symbol, IPropertySymbolInternal
Symbols\RangeVariableSymbol.cs (1)
16internal class RangeVariableSymbol : Symbol
4281 references to Symbol
Microsoft.CodeAnalysis.CSharp (3300)
Binder\Binder.CapturedParametersFinder.cs (1)
153foreach (var candidate in lookupResult.Symbols)
Binder\Binder.cs (19)
240internal virtual Symbol? ContainingMemberOrLambda 426var member = this.ContainingMemberOrLambda; 444var containingMember = this.ContainingMemberOrLambda; 592internal void ReportDiagnosticsIfObsolete(DiagnosticBag diagnostics, Symbol symbol, SyntaxNode node, bool hasBaseReceiver) 602internal void ReportDiagnosticsIfObsolete(DiagnosticBag diagnostics, Symbol symbol, SyntaxNodeOrToken node, bool hasBaseReceiver) 616internal void ReportDiagnosticsIfObsolete(BindingDiagnosticBag diagnostics, Symbol symbol, SyntaxNodeOrToken node, bool hasBaseReceiver) 634Symbol symbol, 637Symbol? containingMember, 661Symbol leastOverriddenSymbol = symbol.GetLeastOverriddenMember(containingType); 700Symbol symbol, 703Symbol? containingMember, 713internal static ObsoleteDiagnosticKind ReportDiagnosticsIfObsoleteInternal(DiagnosticBag diagnostics, Symbol symbol, SyntaxNodeOrToken node, Symbol? containingMember, BinderFlags location) 744internal static void ReportDiagnosticsIfObsoleteInternal(BindingDiagnosticBag diagnostics, Symbol symbol, SyntaxNodeOrToken node, Symbol containingMember, BinderFlags location) 785Symbol symbol, 793Symbol symbol, 802Symbol symbol, 930var currentContainer = scope.ContainingMemberOrLambda;
Binder\Binder.IdentifierUsedAsValueFinder.cs (3)
271var members = ArrayBuilder<Symbol>.GetInstance(); 272Symbol symbol = enclosingBinder.GetSymbolOrMethodOrPropertyGroup(lookupResult, memberAccessNode, memberName, targetMemberArity, members, BindingDiagnosticBag.Discarded, wasError: out _, 300var members = ArrayBuilder<Symbol>.GetInstance();
Binder\Binder.NamespaceOrTypeOrAliasSymbolWithAnnotations.cs (4)
17private readonly Symbol _symbol; 28private NamespaceOrTypeOrAliasSymbolWithAnnotations(Symbol symbol, bool isNullableEnabled) 37internal Symbol Symbol => _symbol ?? TypeWithAnnotations.Type; 52internal static NamespaceOrTypeOrAliasSymbolWithAnnotations CreateUnannotated(bool isNullableEnabled, Symbol symbol)
Binder\Binder.ValueChecks.cs (24)
33internal Symbol Symbol { get; } 57private MethodInfo(Symbol symbol, MethodSymbol? method, MethodSymbol? setMethod) 93Symbol symbol = ReferenceEquals(Symbol, Method) && method is not null ? method : Symbol; 842Symbol otherSymbol = null; 877(object)otherSymbol == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(otherSymbol), 1670Symbol containing = this.ContainingMemberOrLambda; 1879private static bool RequiresVariableReceiver(BoundExpression receiver, Symbol symbol) 1983var containing = this.ContainingMemberOrLambda; 2138var containingMember = ContainingMemberOrLambda; 2154private bool IsBadBaseAccess(SyntaxNode node, BoundExpression receiverOpt, Symbol member, BindingDiagnosticBag diagnostics, 2155Symbol propertyOrEventSymbolOpt = null) 2363Symbol? symbol = methodInvocationInfo.MethodInfo.Symbol; 2443BindingDiagnosticBag diagnostics, bool isRefEscape, Symbol symbolForReporting) 2457var symbol = methodInvocationInfo.MethodInfo.Symbol; 2523Symbol symbolForReporting) 2820static bool hasRefLikeReturn(Symbol symbol) 3084Symbol symbol, 3096var symbol = argument switch 3127Symbol symbolForReporting, 3138SafeContext localScopeDepth, BindingDiagnosticBag diagnostics, Symbol symbolForReporting) 3145var symbol = methodInvocationInfo.MethodInfo.Symbol; 3224Symbol symbolForReporting) 3367public override Symbol ContainingSymbol 3601private static void ReportReadOnlyError(Symbol symbol, SyntaxNode node, BindValueKind kind, bool checkingReceiver, BindingDiagnosticBag diagnostics)
Binder\Binder.WithQueryLambdaParametersBinder.cs (1)
88ImmutableArray.Create<Symbol>(receiver.ExpressionSymbol),
Binder\Binder_AnonymousTypes.cs (2)
122foreach (var symbol in anonymousType.GetMembers(field.Name)) 185var member = this.ContainingMemberOrLambda;
Binder\Binder_Attributes.cs (7)
30ImmutableArray<Binder> binders, ImmutableArray<AttributeSyntax> attributesToBind, Symbol ownerSymbol, NamedTypeSymbol[] boundAttributeTypes, 138internal BoundAttribute BindAttribute(AttributeSyntax node, NamedTypeSymbol attributeType, Symbol? attributedMember, BindingDiagnosticBag diagnostics) 155private static BoundAttribute BindAttributeCore(Binder binder, AttributeSyntax node, NamedTypeSymbol attributeType, Symbol? attributedMember, BindingDiagnosticBag diagnostics) 528Symbol namedArgumentNameSymbol = BindNamedAttributeArgumentName(namedArgument, attributeType, diagnostics, out wasError, out resultKind); 592private Symbol BindNamedAttributeArgumentName(AttributeArgumentSyntax namedArgument, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics, out bool wasError, out LookupResultKind resultKind) 601Symbol resultSymbol = this.ResultSymbol(result, name, 0, identifierName, diagnostics, false, out wasError, qualifierOpt: null); 607private TypeSymbol BindNamedAttributeArgumentType(AttributeArgumentSyntax namedArgument, Symbol namedArgumentNameSymbol, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics)
Binder\Binder_Await.cs (3)
154var containingMemberOrLambda = this.ContainingMemberOrLambda; 345foreach (var member in awaitMembers) 398Symbol member,
Binder\Binder_Constraints.cs (3)
25Symbol containingSymbol, 411Symbol containingSymbol = typeParameter.ContainingSymbol; 447Symbol containingSymbol,
Binder\Binder_Conversions.cs (5)
690foreach (var member in members) 1189ImmutableSegmentedDictionary<string, Symbol> requiredMembers = GetMembersRequiringInitialization(method); 1372if (resolution.IsNonMethodExtensionMember(out Symbol? extensionMember)) 1853foreach (var candidate in builderType.GetMembers(methodName)) 2652private bool MemberGroupFinalValidationAccessibilityChecks(BoundExpression? receiverOpt, Symbol memberSymbol, SyntaxNode node, BindingDiagnosticBag diagnostics, bool invokedAsExtensionMethod)
Binder\Binder_Crefs.cs (81)
18internal ImmutableArray<Symbol> BindCref(CrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 20ImmutableArray<Symbol> symbols = BindCrefInternal(syntax, out ambiguityWinner, diagnostics); 26private ImmutableArray<Symbol> BindCrefInternal(CrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 45private ImmutableArray<Symbol> BindTypeCref(TypeCrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 61return ImmutableArray.Create<Symbol>(result); 64private ImmutableArray<Symbol> BindQualifiedCref(QualifiedCrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 100private ImmutableArray<Symbol> BindMemberCref(MemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 111return ImmutableArray<Symbol>.Empty; 114ImmutableArray<Symbol> result; 146private ImmutableArray<Symbol> BindNameMemberCref(NameMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 176return ImmutableArray<Symbol>.Empty; 179ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, memberNameText, arity, syntax.Parameters != null, diagnostics); 184return ImmutableArray<Symbol>.Empty; 197private ImmutableArray<Symbol> BindIndexerMemberCref(IndexerMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 201ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, WellKnownMemberNames.Indexer, memberNameText: WellKnownMemberNames.Indexer, arity, syntax.Parameters != null, diagnostics); 206return ImmutableArray<Symbol>.Empty; 223private ImmutableArray<Symbol> BindExtensionMemberCref(ExtensionMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 230return ImmutableArray<Symbol>.Empty; 254return ImmutableArray<Symbol>.Empty; 259ImmutableArray<Symbol> sortedSymbols = computeSortedAndFilteredCrefExtensionMembers(namedContainer, memberName, extensionArity, arity, extensionTypeArguments, diagnostics, syntax); 271ImmutableArray<Symbol> computeSortedAndFilteredCrefExtensionMembers(NamedTypeSymbol container, string name, int extensionArity, int arity, TypeArgumentListSyntax? extensionTypeArguments, BindingDiagnosticBag diagnostics, ExtensionMemberCrefSyntax syntax) 296ArrayBuilder<Symbol>? sortedSymbolsBuilder = null; 329foreach (var candidate in candidates) 346sortedSymbolsBuilder ??= ArrayBuilder<Symbol>.GetInstance(); 356return ImmutableArray<Symbol>.Empty; 372private ImmutableArray<Symbol> BindOperatorMemberCref(OperatorMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 381return ImmutableArray<Symbol>.Empty; 384ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, memberNameText: memberName, arity, syntax.Parameters != null, diagnostics); 389return ImmutableArray<Symbol>.Empty; 447private ImmutableArray<Symbol> BindConversionOperatorMemberCref(ConversionOperatorMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 460return ImmutableArray<Symbol>.Empty; 474ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, memberNameText: memberName, arity, syntax.Parameters != null, diagnostics); 479return ImmutableArray<Symbol>.Empty; 491return ImmutableArray<Symbol>.Empty; 512private ImmutableArray<Symbol> ComputeSortedCrefMembers(CSharpSyntaxNode syntax, NamespaceOrTypeSymbol? containerOpt, string memberName, string memberNameText, int arity, bool hasParameterList, BindingDiagnosticBag diagnostics) 520private ImmutableArray<Symbol> ComputeSortedCrefMembers(NamespaceOrTypeSymbol? containerOpt, string memberName, string memberNameText, int arity, bool hasParameterList, CSharpSyntaxNode syntax, 525ArrayBuilder<Symbol> builder; 543builder = ArrayBuilder<Symbol>.GetInstance(); 555builder = ArrayBuilder<Symbol>.GetInstance(); 630return ImmutableArray<Symbol>.Empty; 633builder = ArrayBuilder<Symbol>.GetInstance(numInstanceConstructors); 638return ImmutableArray<Symbol>.Empty; 659private ImmutableArray<Symbol> ProcessCrefMemberLookupResults( 660ImmutableArray<Symbol> symbols, 665out Symbol? ambiguityWinner, 675ArrayBuilder<Symbol> candidates = ArrayBuilder<Symbol>.GetInstance(); 679ImmutableArray<Symbol> results = PerformCrefOverloadResolution(candidates, parameterSymbols, arity, memberSyntax, out ambiguityWinner, diagnostics); 810private ImmutableArray<Symbol> ProcessParameterlessCrefMemberLookupResults( 811ImmutableArray<Symbol> symbols, 815out Symbol? ambiguityWinner, 825foreach (Symbol s in symbols) 856Symbol symbol = symbols[0]; 863ArrayBuilder<Symbol> unwrappedSymbols = ArrayBuilder<Symbol>.GetInstance(symbols.Length); 865foreach (Symbol wrapped in symbols) 908return ImmutableArray.Create<Symbol>(ConstructWithCrefTypeParameters(arity, typeArgumentListSyntax, symbol)); 915private void GetCrefOverloadResolutionCandidates(ImmutableArray<Symbol> symbols, int arity, TypeArgumentListSyntax? typeArgumentListSyntax, ArrayBuilder<Symbol> candidates) 917foreach (Symbol candidate in symbols) 919Symbol constructedCandidate = ConstructWithCrefTypeParameters(arity, typeArgumentListSyntax, candidate); 941private static ImmutableArray<Symbol> PerformCrefOverloadResolution(ArrayBuilder<Symbol> candidates, ImmutableArray<ParameterSymbol> parameterSymbols, int arity, MemberCrefSyntax memberSyntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 943ArrayBuilder<Symbol>? viable = null; 945foreach (Symbol candidate in candidates) 953Symbol signatureMember; 1017viable = ArrayBuilder<Symbol>.GetInstance(); 1044return ImmutableArray<Symbol>.Empty; 1064private Symbol ConstructWithCrefTypeParameters(int arity, TypeArgumentListSyntax? typeArgumentListSyntax, Symbol symbol)
Binder\Binder_Deconstruct.cs (1)
639var variableSymbol = variableOpt switch
Binder\Binder_Expressions.cs (88)
37var memberOpt = this.ContainingMemberOrLambda?.ContainingNonLambdaMember(); 113return BadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty); 121return BadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childNode); 129return BadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childNodes); 137return BadExpression(syntax, lookupResultKind, ImmutableArray<Symbol>.Empty); 145return BadExpression(syntax, lookupResultKind, ImmutableArray<Symbol>.Empty, childNode); 151private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols) 164private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols, BoundExpression childNode) 177private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols, ImmutableArray<BoundExpression> childNodes, bool wasCompilerGenerated = false) 219ArrayBuilder<Symbol> symbols = ArrayBuilder<Symbol>.GetInstance(); 320if (op.NoCommonTypeError == ErrorCode.ERR_InvalidQM && trueArg is Symbol trueSymbol && falseArg is Symbol falseSymbol) 861node, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(BindToTypeForErrorRecovery(BindValue(node.Expression, BindingDiagnosticBag.Discarded, BindValueKind.RefersToLocation))), 1048argumentSyntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, 1332Symbol container = this.ContainingMemberOrLambda; 1507internal void ReportFieldContextualKeywordConflictIfAny(Symbol? symbol, SyntaxNode syntax, SyntaxToken identifier, BindingDiagnosticBag diagnostics) 1641var members = ArrayBuilder<Symbol>.GetInstance(); 1642Symbol symbol = GetSymbolOrMethodOrPropertyGroup(lookupResult, node, name, node.Arity, members, diagnostics, out isError, qualifierOpt: null); // reports diagnostics in result. 1767void reportPrimaryConstructorParameterShadowing(SimpleNameSyntax node, Symbol symbol, string name, bool invoked, LookupResult lookupResult, ArrayBuilder<Symbol> members, BindingDiagnosticBag diagnostics) 1879private BoundExpression SynthesizeMethodGroupReceiver(CSharpSyntaxNode syntax, ArrayBuilder<Symbol> members) 1972private bool IsBadLocalOrParameterCapture(Symbol symbol, TypeSymbol type, RefKind refKind) 1989private BoundExpression BindNonMethod(SimpleNameSyntax node, Symbol symbol, BindingDiagnosticBag diagnostics, LookupResultKind resultKind, bool indexed, bool isError) 2275private bool ReportSimpleProgramLocalReferencedOutsideOfTopLevelStatement(SimpleNameSyntax node, Symbol symbol, BindingDiagnosticBag diagnostics) 2292private BoundExpression SynthesizeReceiver(SyntaxNode node, Symbol member, BindingDiagnosticBag diagnostics) 2328var containingMember = ContainingMember(); 2363internal Symbol ContainingMember() 2393var containingMember = this.ContainingMemberOrLambda; 2472var symbol = this.BindNamespaceAliasSymbol(node, diagnostics); 2476private static BoundExpression CreateBoundNamespaceOrTypeExpression(ExpressionSyntax node, Symbol symbol) 3294internal static void CheckRestrictedTypeInAsyncMethod(Symbol containingSymbol, TypeSymbol type, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 3311foreach (Symbol member in ContainingType?.GetMembers(identifier) ?? ImmutableArray<Symbol>.Empty) 3432where TMember : Symbol 4516ImmutableArray<Symbol>.Empty, 4555ImmutableArray<Symbol>.Empty, 4887symbols: ImmutableArray<Symbol>.Empty, 4898symbols: ImmutableArray<Symbol>.Empty, //CONSIDER: we could look for a matching constructor on System.ValueType 4941symbols: ImmutableArray<Symbol>.Empty, //CONSIDER: we could look for a matching constructor on System.ValueType 5260return new BoundBadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType()); 5469return new BoundBadExpression(node, LookupResultKind.NotInvocable, StaticCast<Symbol>.From(type.InstanceConstructors), ImmutableArray.Create(argument), type); 5516return new BoundBadExpression(node, LookupResultKind.OverloadResolutionFailure, StaticCast<Symbol>.From(type.InstanceConstructors), childNodes, type); 5613return new BoundBadExpression(node, LookupResultKind.NotCreatable, ImmutableArray.Create<Symbol?>(type), children.ToImmutableAndFree(), type) { WasCompilerGenerated = wasCompilerGenerated }; 6142private static ImmutableSegmentedDictionary<string, Symbol> GetMembersRequiringInitialization(MethodSymbol constructor) 6147return ImmutableSegmentedDictionary<string, Symbol>.Empty; 6159ImmutableSegmentedDictionary<string, Symbol> requiredMembers = GetMembersRequiringInitialization(constructor); 6181var memberSymbol = assignmentOperator.Left switch 6197if (!requiredMembersBuilder.TryGetValue(memberSymbol.Name, out var requiredMember)) 6219private static void ReportMembersRequiringInitialization(SyntaxNode creationSyntax, ImmutableSegmentedDictionary<string, Symbol>.Builder requiredMembersBuilder, BindingDiagnosticBag diagnostics) 6449return BadExpression(elementInitializer, LookupResultKind.NotInvocable, ImmutableArray<Symbol>.Empty, boundElementInitializerExpressions); 6900ArrayBuilder<Symbol> symbols = ArrayBuilder<Symbol>.GetInstance(); 7080return new BoundBadExpression(node, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol>.Empty, children, interfaceType); 7508Symbol leftSymbol; 7829ArrayBuilder<Symbol> symbols = lookupResult.Symbols; 7834Symbol sym = ResultSymbol(lookupResult, rightName, rightArity, node, diagnostics, false, out wasError, ns, options); 8023if (resolution.IsNonMethodExtensionMember(out Symbol? extensionMember)) 8040private BoundExpression GetExtensionMemberAccess(SyntaxNode syntax, BoundExpression? receiver, Symbol extensionMember, BindingDiagnosticBag diagnostics) 8114var members = ArrayBuilder<Symbol>.GetInstance(); 8212ReportQueryLookupFailed(node, boundLeft, plainName, ImmutableArray<Symbol>.Empty, diagnostics); 8274return this.BindMemberAccessBadResult(syntax, node.Name, node.ReceiverOpt, node.LookupError, StaticCast<Symbol>.From(node.Methods), node.ResultKind); 8285ImmutableArray<Symbol> symbols, 8291foreach (var s in symbols) 8317var symbolOpt = symbols.Length == 1 ? symbols[0] : null; 8321(object)symbolOpt == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(symbolOpt), 8326private TypeSymbol GetNonMethodMemberType(Symbol symbolOpt) 8417var members = ArrayBuilder<Symbol>.GetInstance(); 8420Symbol symbol = GetSymbolOrMethodOrPropertyGroup(lookupResult, right, plainName, arity, members, diagnostics, out wasError, 8805foreach (var member in lookupResult.Symbols) 9033private void CheckReceiverAndRuntimeSupportForSymbolAccess(SyntaxNode node, BoundExpression receiverOpt, Symbol symbol, BindingDiagnosticBag diagnostics) 9085static bool isNotImplementableInstanceMember(Symbol symbol) 9141Symbol symbol, 9189private Symbol GetSymbolOrMethodOrPropertyGroup(LookupResult result, SyntaxNode node, string plainName, int arity, ArrayBuilder<Symbol> methodOrPropertyGroup, BindingDiagnosticBag diagnostics, out bool wasError, NamespaceOrTypeSymbol qualifierOpt) 9199Symbol other = null; // different member type from 'methodOrPropertyGroup' 9204foreach (var symbol in result.Symbols) 9271private static bool IsMethodOrPropertyGroup(ArrayBuilder<Symbol> members) 9275var member = members[0]; 9609return new BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childBoundNodes, CreateErrorType(), hasErrors: true); 9955foreach (Symbol symbol in lookupResult.Symbols) 10372foreach (var candidate in lookupResult.Symbols) 10427foreach (var candidate in lookupResult.Symbols) 10868Symbol extensionMember = singleLookupResult.Symbol; 10971private static bool IsStaticInstanceMismatchForUniqueSignatureFromMethodGroup(BoundExpression receiver, Symbol extensionMember) 11081Symbol extensionMember = singleLookupResult.Symbol; 11316return Symbol.ReportUseSiteDiagnostic(diagnosticInfo, diagnostics, getErrorLocation()); 11423internal static bool MethodOrLambdaRequiresValue(Symbol symbol, CSharpCompilation compilation)
Binder\Binder_Flags.cs (6)
18private readonly Symbol _containingMemberOrLambda; 20internal BinderWithContainingMemberOrLambda(Binder next, Symbol containingMemberOrLambda) 28internal BinderWithContainingMemberOrLambda(Binder next, BinderFlags flags, Symbol containingMemberOrLambda) 36internal override Symbol ContainingMemberOrLambda 78internal Binder WithContainingMemberOrLambda(Symbol containing) 88internal Binder WithAdditionalFlagsAndContainingMemberOrLambda(BinderFlags flags, Symbol containing)
Binder\Binder_Invocation.cs (9)
111Symbol symbol; 686where TMember : Symbol 729if (resolution.IsNonMethodExtensionMember(out Symbol extensionMember)) 879where TMethodOrPropertySymbol : Symbol 998BindingDiagnosticBag diagnostics) where TMethodOrPropertySymbol : Symbol 1538Symbol? attributedMember = null) 1589var containingMember = InAttributeArgument ? attributedMember : ContainingMember() switch 1661BoundExpression bindDefaultArgument(SyntaxNode syntax, ParameterSymbol parameter, Symbol? containingMember, bool enableCallerInfo, BindingDiagnosticBag diagnostics, ArrayBuilder<BoundExpression> argumentsBuilder, int argumentsCount, ImmutableArray<int> argsToParamsOpt) 2273where TMember : Symbol
Binder\Binder_Lookup.cs (57)
217foreach (var candidate in candidates) 376Symbol existingDefinition = submissionSymbols.Symbols.First(); 410Symbol firstSymbol = submissionSymbols.Symbols.First(); 521foreach (Symbol member in members) 574Symbol symbolWithoutSuffix; 580Symbol symbolWithSuffix = null; 640private bool IsAmbiguousResult(LookupResult result, out Symbol resultSymbol) 666private Symbol ResolveMultipleSymbolsInAttributeTypeLookup(ArrayBuilder<Symbol> symbols) 685var srcSymbol = symbols[best.Index]; 686var mdSymbol = symbols[secondBest.Index]; 698private static bool NameAndArityMatchRecursively(Symbol x, Symbol y) 718static bool isRoot(Symbol symbol) => symbol is null || symbol is NamespaceSymbol { IsGlobalNamespace: true }; 721private bool IsSingleViableAttributeType(LookupResult result, out Symbol symbol, ref CompoundUseSiteInfo<AssemblySymbol> attributeTypeViabilityUseSiteInfo) 737private SingleLookupResult GenerateNonViableAttributeTypeResult(Symbol symbol, DiagnosticInfo diagInfo, bool diagnose) 747private bool CheckAttributeTypeViability(Symbol symbol, bool diagnose, ref DiagnosticInfo diagInfo, ref CompoundUseSiteInfo<AssemblySymbol> attributeTypeViabilityUseSiteInfo) 834foreach (Symbol member in members) 904var other = GetNearestOtherSymbol(basesBeingResolved, type); 959var allMembers = new HashSet<Symbol>(comparer); 960var conflictingMembers = new HashSet<Symbol>(comparer); 965foreach (var sym in result.Symbols) 990foreach (var sym in tmp.Symbols) 1004foreach (var sym in result.Symbols) 1013foreach (var sym in allMembers) 1054private static Symbol GetNearestOtherSymbol(ConsList<TypeSymbol> list, TypeSymbol type) 1303var sym = hiddenSymbols[i]; 1309var hidingSym = hidingSymbols[j]; 1354private static bool IsMethodOrIndexer(Symbol symbol) 1359internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, string name, LookupOptions options, Binder originalBinder) 1363return nsOrType.GetTypeMembers(name).Cast<NamedTypeSymbol, Symbol>(); 1371return ImmutableArray<Symbol>.Empty; 1383internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, LookupOptions options, Binder originalBinder) 1387return StaticCast<Symbol>.From(nsOrType.GetTypeMembersUnordered()); 1395return ImmutableArray<Symbol>.Empty; 1403private bool IsInScopeOfAssociatedSyntaxTree(Symbol symbol) 1451internal SingleLookupResult CheckViability(Symbol symbol, int arity, LookupOptions options, TypeSymbol accessThroughType, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null) 1460var unwrappedSymbol = symbol.Kind == SymbolKind.Alias 1511var unwrappedSymbols = ImmutableArray.Create<Symbol>(unwrappedSymbol); 1536diagInfo = new CSDiagnosticInfo(ErrorCode.ERR_BadAccess, new[] { unwrappedSymbol }, ImmutableArray.Create<Symbol>(unwrappedSymbol), additionalLocations: ImmutableArray<Location>.Empty); 1610private CSDiagnosticInfo MakeCallMethodsDirectlyDiagnostic(Symbol symbol) 1647/// Does not consider <see cref="Symbol.CanBeReferencedByName"/> - that is left to the caller. 1649internal bool CanAddLookupSymbolInfo(Symbol symbol, LookupOptions options, LookupSymbolsInfo info, TypeSymbol accessThroughType, AliasSymbol aliasSymbol = null) 1715private bool IsCrefAccessible(Symbol symbol) 1720private static bool IsEffectivelyPrivate(Symbol symbol) 1722for (Symbol s = symbol; (object)s != null; s = s.ContainingSymbol) 1737internal bool IsAccessible(Symbol symbol, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, TypeSymbol accessThroughType = null, ConsList<TypeSymbol> basesBeingResolved = null) 1743internal bool IsAccessible(Symbol symbol, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1756internal bool IsAccessible(Symbol symbol, TypeSymbol accessThroughType, out bool failedThroughTypeCheck, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null) 1768/// Should only be called by <see cref="IsAccessible(Symbol, TypeSymbol, out bool, ref CompoundUseSiteInfo{AssemblySymbol}, ConsList{TypeSymbol})"/>, 1771internal virtual bool IsAccessibleHelper(Symbol symbol, TypeSymbol accessThroughType, out bool failedThroughTypeCheck, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved) 1777internal bool IsNonInvocableMember(Symbol symbol) 1793private bool IsInvocableMember(Symbol symbol) 1818private static bool IsInstance(Symbol symbol) 1835private static bool WrongArity(Symbol symbol, int arity, bool diagnose, LookupOptions options, out DiagnosticInfo diagInfo) 2021foreach (var symbol in candidateMembers) 2033foreach (var symbol in candidateMembers)
Binder\Binder_NameConflicts.cs (4)
18internal bool ValidateDeclarationNameConflictsInScope(Symbol symbol, BindingDiagnosticBag diagnostics) 24private static Location GetLocation(Symbol symbol) 114private bool ValidateNameConflictsInScope(Symbol? symbol, Location location, string name, BindingDiagnosticBag diagnostics) 155var containingMemberOrLambda = this.ContainingMemberOrLambda;
Binder\Binder_Operators.cs (2)
3989internal bool IsMoveableVariable(BoundExpression expr, out Symbol accessedLocalOrParameterOpt) 4703diagnostics.Add(ErrorCode.WRN_IsTypeNamedUnderscore, node.Right.Location, typeExpression.AliasOpt ?? (Symbol)targetType);
Binder\Binder_Patterns.cs (10)
335out Symbol? variableSymbol, out BoundExpression? variableAccess); 371lengthAccess = new BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType(), hasErrors: true) { WasCompilerGenerated = true }; 848hasErrors: ref hasErrors, variableSymbol: out Symbol? variableSymbol, variableAccess: out BoundExpression? variableAccess); 873out Symbol? variableSymbol, 1035ref hasErrors, out Symbol? variableSymbol, out BoundExpression? variableAccess); 1300foreach (var symbol in tupleType.GetMembers(name)) 1332Symbol foundSymbol = BindTypeOrAliasOrKeyword(node.VarKeyword, node, diagnostics, out bool isVar).Symbol; 1362variableSymbol: out Symbol? variableSymbol, variableAccess: out BoundExpression? variableAccess); 1514Symbol? symbol = null; 1540private Symbol? BindPropertyPatternMember(
Binder\Binder_Query.cs (6)
302state.selectOrGroup, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, 736yExpression = new BoundBadExpression(yExpression.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), CreateErrorType()); 742yExpression = new BoundBadExpression(yExpression.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), yExpression.Type); 803field2Value = new BoundBadExpression(field2Value.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(field2Value), field2Value.Type, true); 959receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.NotAValue, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(receiver), CreateErrorType()); 981receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.NotAValue, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(receiver), CreateErrorType());
Binder\Binder_QueryErrors.cs (3)
29ImmutableArray<Symbol> symbols, 164internal static void ReportQueryInferenceFailed(CSharpSyntaxNode queryClause, string methodName, BoundExpression receiver, AnalyzedArguments arguments, ImmutableArray<Symbol> symbols, BindingDiagnosticBag diagnostics) 213private static bool ReportQueryInferenceFailedSelectMany(FromClauseSyntax fromClause, string methodName, BoundExpression receiver, AnalyzedArguments arguments, ImmutableArray<Symbol> symbols, BindingDiagnosticBag diagnostics)
Binder\Binder_Statements.cs (10)
32internal virtual ImmutableHashSet<Symbol> LockedOrDisposedVariables 597Symbol.CheckForBlockAndExpressionBody( 1737internal static Symbol? GetIndexerOrImplicitIndexerSymbol(BoundExpression? e) 1792internal static bool AccessingAutoPropertyFromConstructor(BoundPropertyAccess propertyAccess, Symbol fromMember) 1797private static bool AccessingAutoPropertyFromConstructor(BoundExpression? receiver, PropertySymbol propertySymbol, Symbol fromMember, AccessorKind accessorKind) 1830private static bool IsConstructorOrField(Symbol member, bool isStatic) 2981var symbol = this.ContainingMemberOrLambda; 2987var symbol = this.ContainingMemberOrLambda; 2993var symbol = this.ContainingMemberOrLambda; 3095var container = this.ContainingMemberOrLambda;
Binder\Binder_Symbols.cs (57)
196Symbol symbol = null; 350private NamespaceOrTypeSymbol GetContainingNamespaceOrNonExtensionType(Symbol symbol) 361internal Symbol BindNamespaceAliasSymbol(IdentifierNameSyntax node, BindingDiagnosticBag diagnostics) 376Symbol bindingResult = ResultSymbol(result, plainName, 0, node, diagnostics, false, out wasError, qualifierOpt: null, options: LookupOptions.NamespaceAliasesOnly); 587var bindingResult = BindNamespaceAliasSymbol(node.Alias, diagnostics); 886Symbol bindingResult = null; 964foreach (var s in result.Symbols) 985foreach (var s in result.Symbols) 1059Symbol.ReportUseSiteDiagnostic(info, diagnostics, node.Location); 1092private static Symbol UnwrapAliasNoDiagnostics(Symbol symbol, ConsList<TypeSymbol> basesBeingResolved = null) 1124private Symbol UnwrapAlias(Symbol symbol, BindingDiagnosticBag diagnostics, SyntaxNode syntax, ConsList<TypeSymbol> basesBeingResolved = null) 1130private Symbol UnwrapAlias(Symbol symbol, out AliasSymbol alias, BindingDiagnosticBag diagnostics, SyntaxNode syntax, ConsList<TypeSymbol> basesBeingResolved = null) 1288Symbol lookupResultSymbol = ResultSymbol(lookupResult, plainName, arity, node, diagnostics, (basesBeingResolved != null), out wasError, qualifierOpt, options); 1317ImmutableArray.Create<Symbol>(lookupResultSymbol), 1429ArrayBuilder<Symbol> members, 1473ImmutableArray<TypeWithAnnotations> typeArguments, bool invoked, ArrayBuilder<Symbol> members, BindingDiagnosticBag diagnostics) 1507receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.Ambiguous, ImmutableArray<Symbol>.Empty, ImmutableArray.Create(receiver), receiver.Type, hasErrors: true).MakeCompilerGenerated(); 1517receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childBoundNodes: [receiver], receiver.Type, hasErrors: true).MakeCompilerGenerated(); 1542ArrayBuilder<Symbol> members, TypeSymbol receiverType, 1575foreach (Symbol symbol in lookupResult.Symbols) 1613private static readonly Func<Symbol, MethodSymbol> s_toMethodSymbolFunc = s => (MethodSymbol)s; 1614private static readonly Func<Symbol, PropertySymbol> s_toPropertySymbolFunc = s => (PropertySymbol)s; 1722internal Symbol GetSpecialTypeMember(SpecialMember member, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 1727internal static Symbol GetSpecialTypeMember(CSharpCompilation compilation, SpecialMember member, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 1729Symbol memberSymbol; 1736where TSymbol : Symbol 1776private static UseSiteInfo<AssemblySymbol> GetUseSiteInfoForWellKnownMemberOrContainingType(Symbol symbol) 1791internal static bool ReportUseSite(Symbol symbol, BindingDiagnosticBag diagnostics, SyntaxNode node) 1796internal static bool ReportUseSite(Symbol symbol, BindingDiagnosticBag diagnostics, SyntaxToken token) 1807internal static bool ReportUseSite(Symbol symbol, BindingDiagnosticBag diagnostics, Location location) 1859internal Symbol GetWellKnownTypeMember(WellKnownMember member, BindingDiagnosticBag diagnostics, Location location = null, SyntaxNode syntax = null, bool isOptional = false) 1868internal static Symbol GetWellKnownTypeMember(CSharpCompilation compilation, WellKnownMember member, BindingDiagnosticBag diagnostics, Location location = null, SyntaxNode syntax = null, bool isOptional = false) 1873Symbol memberSymbol = GetWellKnownTypeMember(compilation, member, out useSiteInfo, isOptional); 1882internal static Symbol GetWellKnownTypeMember(CSharpCompilation compilation, WellKnownMember member, out UseSiteInfo<AssemblySymbol> useSiteInfo, bool isOptional = false) 1884Symbol memberSymbol = compilation.GetWellKnownTypeMember(member); 1925private class ConsistentSymbolOrder : IComparer<Symbol> 1928public int Compare(Symbol fst, Symbol snd) 1950internal Symbol ResultSymbol( 1961Symbol symbol = resultSymbol(result, simpleName, arity, where, diagnostics, suppressUseSiteDiagnostics, out wasError, qualifierOpt, options); 1979Symbol resultSymbol( 2018var srcSymbol = symbols[best.Index]; 2019var mdSymbol = symbols[secondBest.Index]; 2077var first = symbols[best.Index]; 2078var second = symbols[secondBest.Index]; 2080Debug.Assert(!Symbol.Equals(originalSymbols[best.Index], originalSymbols[secondBest.Index], TypeCompareKind.ConsiderEverything) || options.IsAttributeTypeLookup(), 2083Debug.Assert(!Symbol.Equals(first, second, TypeCompareKind.ConsiderEverything) || !Symbol.Equals(originalSymbols[best.Index], originalSymbols[secondBest.Index], TypeCompareKind.ConsiderEverything), 2239!Symbol.Equals(originalSymbols[best.Index], originalSymbols[secondBest.Index], TypeCompareKind.ConsiderEverything), 2294var singleResult = symbols[0]; 2402private static AssemblySymbol GetContainingAssembly(Symbol symbol) 2522private BestSymbolInfo GetBestSymbolInfo(ArrayBuilder<Symbol> symbols, out BestSymbolInfo secondBest) 2530var symbol = symbols[i]; 2568private static BestSymbolLocation GetLocation(CSharpCompilation compilation, Symbol symbol)
Binder\Binder_XmlNameAttribute.cs (5)
19internal ImmutableArray<Symbol> BindXmlNameAttribute(XmlNameAttributeSyntax syntax, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 25return ImmutableArray<Symbol>.Empty; 36return ImmutableArray<Symbol>.Empty; 43ArrayBuilder<Symbol> lookupSymbols = lookupResult.Symbols; 49ImmutableArray<Symbol> result = lookupSymbols.ToImmutable();
Binder\BinderFactory.BinderFactoryVisitor.cs (10)
24private Symbol _memberOpt; 27internal void Initialize(BinderFactory factory, int position, CSharpSyntaxNode memberDeclarationOpt, Symbol memberOpt) 436Symbol containingSymbol = binder.ContainingMemberOrLambda; 560private Symbol GetMemberSymbol(string memberName, TextSpan memberSpan, NamedTypeSymbol container, SymbolKind kind) 566foreach (Symbol sym in sourceMemberContainerTypeSymbol.GetMembersToMatchAgainstDeclarationSpan()) 573if (sym.Name == memberName && checkSymbol(sym, memberSpan, kind, out Symbol result)) 581foreach (Symbol sym in container.GetMembers(memberName)) 583if (checkSymbol(sym, memberSpan, kind, out Symbol result)) 592bool checkSymbol(Symbol sym, TextSpan memberSpan, SymbolKind kind, out Symbol result)
Binder\BinderFactory.cs (3)
109internal Binder GetBinder(SyntaxNode node, CSharpSyntaxNode memberDeclarationOpt = null, Symbol memberOpt = null) 124internal Binder GetBinder(SyntaxNode node, int position, CSharpSyntaxNode memberDeclarationOpt = null, Symbol memberOpt = null) 141private BinderFactoryVisitor GetBinderFactoryVisitor(int position, CSharpSyntaxNode memberDeclarationOpt, Symbol memberOpt)
Binder\BindingDiagnosticBag.cs (7)
87internal void AddDependencies(Symbol? symbol) 95internal bool ReportUseSite(Symbol? symbol, SyntaxNode node) 100internal bool ReportUseSite(Symbol? symbol, SyntaxToken token) 105internal bool ReportUseSite(Symbol? symbol, Location location) 108internal bool ReportUseSite<TData>(Symbol? symbol, Func<TData, Location> getLocation, TData data) 151return Symbol.ReportUseSiteDiagnostic(diagnosticInfo, diagnosticBag, location); 174internal CSDiagnosticInfo Add(ErrorCode code, Location location, ImmutableArray<Symbol> symbols, params object[] args)
Binder\BuckStopsHereBinder.cs (4)
67internal override bool IsAccessibleHelper(Symbol symbol, TypeSymbol accessThroughType, out bool failedThroughTypeCheck, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved) 158internal override Symbol? ContainingMemberOrLambda 252internal override ImmutableHashSet<Symbol> LockedOrDisposedVariables 254get { return ImmutableHashSet.Create<Symbol>(); }
Binder\ContextualAttributeBinder.cs (7)
20private readonly Symbol _attributeTarget; 21private readonly Symbol _attributedMember; 25public ContextualAttributeBinder(Binder enclosing, Symbol symbol) 41internal Symbol AttributedMember 52internal static Symbol GetAttributedMember(Symbol symbol) 68internal Symbol AttributeTarget
Binder\DecisionDagBuilder.cs (1)
363private BoundDagTemp OriginalInput(BoundDagTemp input, Symbol symbol)
Binder\ExecutableCodeBinder.cs (5)
27private readonly Symbol _memberSymbol; 32internal ExecutableCodeBinder(SyntaxNode root, Symbol memberSymbol, Binder next, Action<Binder, SyntaxNode> binderUpdatedHandler = null) 38internal ExecutableCodeBinder(SyntaxNode root, Symbol memberSymbol, Binder next, BinderFlags additionalFlags) 48internal override Symbol ContainingMemberOrLambda 56internal Symbol MemberSymbol { get { return _memberSymbol; } }
Binder\ExpressionVariableFinder.cs (6)
18internal abstract class ExpressionVariableFinder<TFieldOrLocalSymbol> : CSharpSyntaxWalker where TFieldOrLocalSymbol : Symbol 674internal class ExpressionFieldFinder : ExpressionVariableFinder<Symbol> 681ArrayBuilder<Symbol> builder, 705protected override Symbol MakePatternVariable(TypeSyntax type, SingleVariableDesignationSyntax designation, SyntaxNode nodeToBind) 713protected override Symbol MakeDeclarationExpressionVariable(DeclarationExpressionSyntax node, SingleVariableDesignationSyntax designation, BaseArgumentListSyntax argumentListSyntaxOpt, SyntaxNode nodeToBind) 721protected override Symbol MakeDeconstructionVariable(
Binder\ForEachLoopBinder.cs (4)
740ImmutableArray<Symbol>.Empty, 1409foreach (Symbol member in lookupResult.Symbols) 1697Symbol lookupSymbol = lookupResult.SingleSymbolOrDefault; 1761private void ReportEnumerableWarning(SyntaxNode collectionSyntax, BindingDiagnosticBag diagnostics, TypeSymbol enumeratorType, Symbol patternMemberCandidate)
Binder\HostObjectModeBinder.cs (1)
42ImmutableArray<Symbol>.Empty,
Binder\InContainerBinder.cs (2)
43internal override Symbol ContainingMemberOrLambda 57internal override bool IsAccessibleHelper(Symbol symbol, TypeSymbol accessThroughType, out bool failedThroughTypeCheck, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved)
Binder\InMethodBinder.cs (10)
27private SmallDictionary<string, Symbol> _lazyDefinitionMap; 49private static void RecordDefinition<T>(SmallDictionary<string, Symbol> declarationMap, ImmutableArray<T> definitions) where T : Symbol 51foreach (Symbol s in definitions) 72internal override Symbol ContainingMemberOrLambda 243private static bool ReportConflictWithParameter(Symbol parameter, Symbol newSymbol, string name, Location newLocation, BindingDiagnosticBag diagnostics) 331internal override bool EnsureSingleDefinition(Symbol symbol, string name, Location location, BindingDiagnosticBag diagnostics) 355map = new SmallDictionary<string, Symbol>(); 362Symbol existingDeclaration;
Binder\LocalBinderFactory.cs (8)
35private Symbol _containingMemberOrLambda; 72Symbol containingMemberOrLambda, 134private LocalBinderFactory(Symbol containingMemberOrLambda, SyntaxNode root, Binder enclosing) 223var attributeTarget = getAttributeTarget(_enclosing); 286static Symbol getAttributeTarget(Binder current) 295static WithTypeParametersBinder? getExtraWithTypeParametersBinder(Binder enclosing, Symbol target) 300static Binder? getExtraWithParametersBinder(Binder enclosing, Symbol target) 406Symbol oldMethod = _containingMemberOrLambda;
Binder\LocalScopeBinder.cs (6)
132where TSymbol : Symbol 501private bool ReportConflictWithLocal(Symbol local, Symbol newSymbol, string name, Location newLocation, BindingDiagnosticBag diagnostics) 541internal virtual bool EnsureSingleDefinition(Symbol symbol, string name, Location location, BindingDiagnosticBag diagnostics) 553var existingSymbol = (Symbol)existingLocal ?? existingLocalFunction;
Binder\LockBinder.cs (1)
114foreach (var member in members)
Binder\LockOrUsingBinder.cs (3)
21private ImmutableHashSet<Symbol> _lazyLockedOrDisposedVariables; 31internal sealed override ImmutableHashSet<Symbol> LockedOrDisposedVariables 37ImmutableHashSet<Symbol> lockedOrDisposedVariables = this.Next.LockedOrDisposedVariables;
Binder\LookupResult.cs (17)
17internal delegate SingleLookupResult LookupFilter(Symbol sym); 68private readonly ArrayBuilder<Symbol> _symbolList; 79_symbolList = new ArrayBuilder<Symbol>(); 109internal Symbol SingleSymbolOrDefault 117internal ArrayBuilder<Symbol> Symbols 155internal static SingleLookupResult Good(Symbol symbol) 160internal static SingleLookupResult WrongArity(Symbol symbol, DiagnosticInfo error) 170internal static SingleLookupResult NotReferencable(Symbol symbol, DiagnosticInfo error) 175internal static SingleLookupResult StaticInstanceMismatch(Symbol symbol, DiagnosticInfo error) 180internal static SingleLookupResult Inaccessible(Symbol symbol, DiagnosticInfo error) 185internal static SingleLookupResult NotInvocable(Symbol unwrappedSymbol, Symbol symbol, bool diagnose) 191internal static SingleLookupResult NotLabel(Symbol symbol, DiagnosticInfo error) 196internal static SingleLookupResult NotTypeOrNamespace(Symbol symbol, DiagnosticInfo error) 201internal static SingleLookupResult NotTypeOrNamespace(Symbol unwrappedSymbol, Symbol symbol, bool diagnose) 208internal static SingleLookupResult NotAnAttributeType(Symbol symbol, DiagnosticInfo error)
Binder\LookupSymbolsInfo.cs (1)
14internal sealed class LookupSymbolsInfo : AbstractLookupSymbolsInfo<Symbol>
Binder\MethodGroupResolution.cs (4)
22public readonly Symbol OtherSymbol; 33public MethodGroupResolution(Symbol otherSymbol, LookupResultKind resultKind, ReadOnlyBindingDiagnostic<AssemblySymbol> diagnostics) 40Symbol otherSymbol, 92public bool IsNonMethodExtensionMember([NotNullWhen(true)] out Symbol? extensionMember)
Binder\PatternExplainer.cs (2)
533var properties = new Dictionary<Symbol, string>(); 651foreach (var declaredMember in e.GetMembers())
Binder\RefSafetyAnalysis.cs (2)
37private static bool InUnsafeMethod(Symbol symbol) 684static SafeContext getPositionalValEscape(Symbol? symbol, SafeContext valEscape)
Binder\ScriptLocalScopeBinder.cs (1)
24internal override Symbol ContainingMemberOrLambda
Binder\Semantics\AccessCheck.cs (11)
25Symbol symbol, 38Symbol symbol, 53Symbol symbol, 67internal static bool IsEffectivelyPublicOrInternal(Symbol symbol, out bool isInternal) 134Symbol symbol, 135Symbol within, // must be assembly or named type symbol 223private static bool IsNamedTypeAccessible(NamedTypeSymbol type, Symbol within, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null) 259Symbol within) 300Symbol within, 345Symbol within, 494Symbol within,
Binder\Semantics\Operators\BinaryOperatorSignature.cs (1)
66Symbol.Equals(this.Method, other.Method, TypeCompareKind.ConsiderEverything);
Binder\Semantics\OverloadResolution\IMemberResolutionResultWithPriority.cs (1)
11internal interface IMemberResolutionResultWithPriority<TMember> where TMember : Symbol
Binder\Semantics\OverloadResolution\MemberAnalysisResult.cs (1)
215internal bool HasUseSiteDiagnosticToReportFor(Symbol symbol)
Binder\Semantics\OverloadResolution\MemberResolutionResult.cs (1)
15internal readonly struct MemberResolutionResult<TMember> : IMemberResolutionResultWithPriority<TMember> where TMember : Symbol
Binder\Semantics\OverloadResolution\MethodGroup.cs (2)
42ArrayBuilder<Symbol> members, 50foreach (var member in members)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (60)
66where TMember : Symbol 80where TMember : Symbol 196where TMember : Symbol 321where TMember : Symbol 360where TMember : Symbol 440where TMember : Symbol 492private static readonly ObjectPool<PooledHashSet<Symbol>> s_HiddenSymbolsSetPool = PooledHashSet<Symbol>.CreatePool(Microsoft.CodeAnalysis.CSharp.Symbols.SymbolEqualityComparer.AllIgnoreOptions); 495where TMember : Symbol 497PooledHashSet<Symbol> hiddenSymbols = null; 508foreach (Symbol hidden in getHiddenMembers(result.LeastOverriddenMember.ConstructedFrom())) 540static ImmutableArray<Symbol> getHiddenMembers(Symbol member) 551return ImmutableArray<Symbol>.Empty; 582BoundExpression receiverOpt) where TMember : Symbol 608private static void RemoveStaticInstanceMismatches<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, bool requireStatic) where TMember : Symbol 626private static void RemoveMethodsNotDeclaredStatic<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results) where TMember : Symbol 642private void RemoveConstraintViolations<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, CompoundUseSiteInfo<AssemblySymbol> template) where TMember : Symbol 663private void RemoveCallingConventionMismatches<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, in CallingConventionInfo expectedConvention) where TMember : Symbol 686var member = (MethodSymbol)(Symbol)result.Member; 792private bool FailsConstraintChecks<TMember>(TMember member, out ArrayBuilder<TypeParameterDiagnosticInfo> constraintFailureDiagnosticsOpt, CompoundUseSiteInfo<AssemblySymbol> template) where TMember : Symbol 852bool isFunctionPointerConversion) where TMember : Symbol 868var method = (MethodSymbol)(Symbol)result.Member; 900private static Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>> PartitionMembersByContainingType<TMember>(ArrayBuilder<TMember> members) where TMember : Symbol 918private static void ClearContainingTypeMap<TMember>(ref Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>> containingTypeMapOpt) where TMember : Symbol 1067where TMember : Symbol 1235where TMember : Symbol 1296public static bool IsValidParams(Binder binder, Symbol member, bool disallowExpandedNonArrayParams, out TypeWithAnnotations definitionElementType) 1380Symbol member, 1381Symbol moreDerivedOverride, 1413where TMember : Symbol 1437where TMember : Symbol 1457private static bool HidesByName(Symbol member) 1471where TMember : Symbol 1497where TMember : Symbol 1620where TMember : Symbol 1663where TMember : Symbol 1781where TMember : Symbol 1790where TMember : Symbol 1851where TMember : Symbol 1942where TMember : Symbol 2093where TMember : Symbol 2133where TMember : Symbol 2678where TMember : Symbol 2698private static void GetParameterCounts<TMember>(MemberResolutionResult<TMember> m, ArrayBuilder<BoundExpression> arguments, out int declaredParameterCount, out int parametersUsedIncludingExpansionAndOptional) where TMember : Symbol 3831Symbol member, 3876out bool hasAnyRefOmittedArgument) where TMember : Symbol 4024Options options) where TMember : Symbol 4037out bool hasAnyRefOmittedArgument) where TMember : Symbol 4095where TMember : Symbol 4176where TMember : Symbol 4244where TMember : Symbol 4343var methodForTypeParameters = isNewExtensionMember ? leastOverriddenMember.OriginalDefinition : leastOverriddenMember; 4401where TMember : Symbol 4450(MethodSymbol)(Symbol)member, 4470Symbol candidate, // method or property 4675Symbol candidate, // method or property 4751private static bool TypeContainsTypeParameterFromContainer(Symbol container, TypeSymbol parameterType) 4761private static TMember GetConstructedFrom<TMember>(TMember member) where TMember : Symbol 4768return (TMember)(Symbol)(member as MethodSymbol).ConstructedFrom;
Binder\Semantics\OverloadResolution\OverloadResolution_ArgsToParameters.cs (2)
58private static ImmutableArray<TypeWithAnnotations> GetParameterTypesIncludingReceiver(Symbol symbol) 66Symbol symbol,
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (25)
26internal class OverloadResolutionResult<TMember> where TMember : Symbol 204bool isParamsModifierValidation = false) where T : Symbol 215var symbols = StaticCast<Symbol>.From(memberGroup); 580private static void ReportUnsupportedMetadata(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, MemberResolutionResult<TMember> firstUnsupported) 592Symbol.ReportUseSiteDiagnostic(diagInfo, diagnostics, location); 595private static void ReportWrongCallingConvention(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, MemberResolutionResult<TMember> firstSupported, MethodSymbol target) 622ImmutableArray<Symbol> symbols, 641ImmutableArray<Symbol> symbols, 656Symbol symbol = staticInstanceMismatch.Member; 710var method = (MethodSymbol)(Symbol)mismatch.Member; 740ImmutableArray<Symbol> symbols, 793ImmutableArray<Symbol> symbols) 813ImmutableArray<Symbol> symbols) 846ImmutableArray<Symbol> symbols) 881ImmutableArray<Symbol> symbols, 926ImmutableArray<Symbol> symbols, 1045MethodSymbol method = (MethodSymbol)(Symbol)result.Member; 1085ImmutableArray<Symbol> symbols, 1154ImmutableArray<Symbol> symbols, 1379static Symbol unwrapIfParamsCollection(MemberResolutionResult<TMember> badArg, ParameterSymbol parameter, bool isLastParameter) 1391private bool HadAmbiguousWorseMethods(BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, Location location, bool isQuery, BoundExpression receiver, string name) 1455private bool HadAmbiguousBestMethods(BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, Location location) 1507private static DiagnosticInfoWithSymbols CreateAmbiguousCallDiagnosticInfo(Symbol first, Symbol second, ImmutableArray<Symbol> symbols)
Binder\Semantics\SemanticFacts.cs (2)
24Symbol symbol, 50Symbol symbol,
Binder\SingleLookupResult.cs (2)
25internal readonly Symbol Symbol; 30internal SingleLookupResult(LookupResultKind kind, Symbol symbol, DiagnosticInfo error)
Binder\SwitchBinder.cs (1)
446return new BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create(switchGoverningExpression), switchGoverningType ?? CreateErrorType());
Binder\WithClassTypeParametersBinder.cs (1)
30internal override bool IsAccessibleHelper(Symbol symbol, TypeSymbol accessThroughType, out bool failedThroughTypeCheck, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved)
Binder\WithLambdaParametersBinder.cs (3)
53internal override Symbol ContainingMemberOrLambda 116private static bool ReportConflictWithParameter(ParameterSymbol parameter, Symbol newSymbol, string name, Location newLocation, BindingDiagnosticBag diagnostics) 158internal override bool EnsureSingleDefinition(Symbol symbol, string name, Location location, BindingDiagnosticBag diagnostics)
Binder\WithMethodTypeParametersBinder.cs (1)
30internal override Symbol ContainingMemberOrLambda
Binder\WithUsingNamespacesAndTypesBinder.cs (4)
187ImmutableArray<Symbol> candidates = Binder.GetCandidateMembers(typeOrNamespace.NamespaceOrType, name, options, originalBinder: originalBinder); 188foreach (Symbol symbol in candidates) 209private static bool IsValidLookupCandidateInUsings(Symbol symbol) 256foreach (var member in namespaceSymbol.NamespaceOrType.GetMembersUnordered())
BoundTree\BoundDagEvaluation.cs (4)
28Symbol.Equals(this.Symbol, other.Symbol, TypeCompareKind.AllIgnoreOptions); 31private Symbol? Symbol 35var result = this switch 51static Symbol? getSymbolFromIndexerAccess(BoundExpression indexerAccess)
BoundTree\BoundDiscardExpression.cs (1)
28public override Symbol ExpressionSymbol
BoundTree\BoundExpression.cs (30)
109public virtual Symbol? ExpressionSymbol 248public override Symbol? ExpressionSymbol 259public override Symbol ExpressionSymbol 270public override Symbol ExpressionSymbol 272get { return this.AliasOpt ?? (Symbol)this.Type; } 290public override Symbol ExpressionSymbol 292get { return this.AliasOpt ?? (Symbol)this.NamespaceSymbol; } 298public override Symbol ExpressionSymbol 316public override Symbol? ExpressionSymbol 324public override Symbol? ExpressionSymbol 340public override Symbol? ExpressionSymbol 388public override Symbol ExpressionSymbol 396public override Symbol ExpressionSymbol 406public override Symbol? ExpressionSymbol => this.Method; 428public override Symbol ExpressionSymbol 436public override Symbol? ExpressionSymbol 444public override Symbol? ExpressionSymbol 452public override Symbol? ExpressionSymbol 475public override Symbol? ExpressionSymbol 535public override Symbol ExpressionSymbol 566public override Symbol ExpressionSymbol 574public override Symbol ExpressionSymbol 582public override Symbol ExpressionSymbol 590public override Symbol? ExpressionSymbol 619public override Symbol ExpressionSymbol 630public override Symbol ExpressionSymbol 641public override Symbol? ExpressionSymbol 652public override Symbol ExpressionSymbol 675public Symbol ValueSymbol { get; } 681public BoundTypeOrValueData(Symbol valueSymbol, BoundExpression valueExpression, ReadOnlyBindingDiagnostic<AssemblySymbol> valueDiagnostics, BoundExpression typeExpression, ReadOnlyBindingDiagnostic<AssemblySymbol> typeDiagnostics)
BoundTree\BoundExpressionExtensions.cs (4)
168public static void GetExpressionSymbols(this BoundExpression node, ArrayBuilder<Symbol> symbols, BoundNode parent, Binder binder) 187foreach (var s in ((BoundBadExpression)node).Symbols) 196var ctor = expr.Type.GetMembers(WellKnownMemberNames.InstanceConstructorName).FirstOrDefault(); 230var symbol = node.ExpressionSymbol;
BoundTree\BoundTreeRewriter.cs (3)
113public Symbol? VisitSymbol(Symbol? symbol) 161public ImmutableArray<T> VisitSymbols<T>(ImmutableArray<T> symbols) where T : Symbol?
BoundTree\Constructors.cs (1)
528public BoundBadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol type)
BoundTree\NullabilityRewriter.cs (9)
167private T GetUpdatedSymbol<T>(BoundNode expr, T sym) where T : Symbol? 171Symbol? updatedSymbol = null; 187if (_remappedSymbols.TryGetValue(param, out var updatedParam)) 196Symbol remapLambda(BoundLambda boundLambda, LambdaSymbol lambda) 200if (!_remappedSymbols.TryGetValue(lambda.ContainingSymbol, out Symbol? updatedContaining) && updatedDelegateType is null) 228Symbol remapLocal(SourceLocalSymbol local) 230if (_remappedSymbols.TryGetValue(local, out var updatedLocal)) 237if (!_remappedSymbols.TryGetValue(local.ContainingSymbol, out Symbol? updatedContaining) && !updatedType.HasValue) 270private ImmutableArray<T> GetUpdatedArray<T>(BoundNode expr, ImmutableArray<T> symbols) where T : Symbol?
BoundTree\UnboundLambda.cs (5)
164internal LambdaSymbol CreateLambdaSymbol(NamedTypeSymbol delegateType, Symbol containingSymbol) => 168Symbol containingSymbol, 903Symbol containingSymbol, 918internal LambdaSymbol CreateLambdaSymbol(NamedTypeSymbol delegateType, Symbol containingSymbol) 1440=> x.IsExpressionTree == y.IsExpressionTree && Symbol.Equals(x.Type, y.Type, TypeCompareKind.ConsiderEverything);
CodeGen\CodeGenerator_HasHome.cs (2)
45Symbol containingSymbol, 174Symbol containingSymbol,
CodeGen\EmitConversion.cs (1)
379foreach (var possibleCtor in delegateType.GetMembers(WellKnownMemberNames.InstanceConstructorName))
CodeGen\Optimizer.cs (1)
2395public override Symbol ContainingSymbol
CommandLine\CSharpCompiler.cs (6)
247Symbol? entryPoint = comp.ScriptClass; 386var symbol = diag switch 388{ Code: (int)ErrorCode.ERR_BadAccess, Arguments: [Symbol s] } => s, 389{ Code: (int)ErrorCode.ERR_InaccessibleGetter, Arguments: [Symbol s] } => s, 390{ Code: (int)ErrorCode.ERR_InaccessibleSetter, Arguments: [Symbol s] } => s, 391{ Code: (int)ErrorCode.ERR_ImplicitImplementationOfInaccessibleInterfaceMember, Arguments: [_, Symbol s, _] } => s,
Compilation\AttributeSemanticModel.cs (11)
19private readonly Symbol? _attributeTarget; 24Symbol? attributeTarget, 28ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt = null) 39public static AttributeSemanticModel Create(PublicSemanticModel containingSemanticModel, AttributeSyntax syntax, NamedTypeSymbol attributeType, AliasSymbol aliasOpt, Symbol? attributeTarget, Binder rootBinder, ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt) 48public static SpeculativeSemanticModelWithMemberModel CreateSpeculative(SyntaxTreeSemanticModel parentSemanticModel, AttributeSyntax syntax, NamedTypeSymbol attributeType, AliasSymbol aliasOpt, Binder rootBinder, ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt, int position) 108ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols)
Compilation\CSharpCompilation.cs (30)
319internal bool IsRuntimeAsyncEnabledIn(Symbol? symbol) 1224internal new Symbol? GetAssemblyOrModuleSymbol(MetadataReference reference) 1245return (TSymbol?)(object?)symbol.GetSymbol<Symbol>(); 1785internal Symbol GetSpecialTypeMember(SpecialMember specialMember) 1814ImmutableArray<Symbol>.Empty, 2093var taskCandidates = taskEntryPoints.SelectAsArray(s => (Symbol)s.Candidate); 2096foreach (var candidate in taskCandidates) 2167symbols: viableEntryPoints.OfType<Symbol>().AsImmutable(), 2191ArrayBuilder<MethodSymbol> entryPointCandidates, IEnumerable<Symbol> members) 2193foreach (var member in members) 2210static void addIfCandidate(ArrayBuilder<MethodSymbol> entryPointCandidates, Symbol member) 2457Symbol? symbol0 = symbol.EnsureCSharpSymbolOrNull(nameof(symbol)); 2458Symbol? within0 = within.EnsureCSharpSymbolOrNull(nameof(within)); 2995private void GetDiagnosticsWithoutSeverityFiltering(CompilationStage stage, bool includeEarlierStages, BindingDiagnosticBag builder, Predicate<Symbol>? symbolFilter, CancellationToken cancellationToken) 3127private static bool IsDefinedOrImplementedInSourceTree(Symbol symbol, SyntaxTree tree, TextSpan? span) 3233filterOpt: filterTree is object ? (Predicate<Symbol>?)(s => IsDefinedOrImplementedInSourceTree(s, filterTree, filterSpan)) : (Predicate<Symbol>?)null, 3275private ReadOnlyBindingDiagnostic<AssemblySymbol> GetSourceDeclarationDiagnostics(SyntaxTree? syntaxTree = null, TextSpan? filterSpanWithinTree = null, Func<IEnumerable<Diagnostic>, SyntaxTree, TextSpan?, IEnumerable<Diagnostic>>? locationFilterOpt = null, Predicate<Symbol>? symbolFilter = null, CancellationToken cancellationToken = default) 3683foreach (var childSymbol in symbol.GetMembers()) 4736internal IEnumerable<Symbol> GetSymbolsWithNameCore(string name, SymbolFilter filter = SymbolFilter.TypeAndMember, CancellationToken cancellationToken = default) 4799internal bool ShouldEmitNullableAttributes(Symbol symbol) 4825static Symbol getExplicitAccessibilitySymbol(Symbol symbol) 4851internal void SymbolDeclaredEvent(Symbol symbol) 4917var sustainedLowLatency = GetWellKnownTypeMember(WellKnownMember.System_Runtime_GCLatencyMode__SustainedLowLatency); 4951public IEnumerable<Symbol> GetSymbolsWithName() 4953var result = new HashSet<Symbol>(); 4965HashSet<Symbol> set) 5019ArrayBuilder<MergedNamespaceOrTypeDeclaration> spine, MergedTypeDeclaration current, HashSet<Symbol> set) 5027foreach (var member in container.GetMembers())
Compilation\CSharpSemanticModel.cs (141)
168internal abstract BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols); 178internal abstract ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken)); 280protected BoundExpression GetSpeculativelyBoundExpressionWithoutNullability(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 287crefSymbols = default(ImmutableArray<Symbol>); 299crefSymbols = ImmutableArray.Create<Symbol>(binder.BindType(expression, BindingDiagnosticBag.Discarded).Type); 325internal static ImmutableArray<Symbol> BindCref(CrefSyntax crefSyntax, Binder binder) 327Symbol unusedAmbiguityWinner; 337ImmutableArray<Symbol> symbols = BindCref(crefSyntax, binder); 368private static SymbolInfo GetCrefSymbolInfo(OneOrMany<Symbol> symbols, SymbolInfoOptions options, bool hasParameterList) 724ImmutableArray<Symbol> crefSymbols; 1054ImmutableArray<Symbol> crefSymbols; 1201ImmutableArray<Symbol> crefSymbols; 1669foreach (Symbol symbol in lookupResult.Symbols) 1701Symbol uniqueSymbol; 1763Symbol singleSymbol = binder.ResultSymbol(lookupResult, name, arity, this.Root, BindingDiagnosticBag.Discarded, true, out wasError, container, options); 1771foreach (var symbol in lookupResult.Symbols) 1779foreach (var symbol in lookupResult.Symbols) 1789private Symbol RemapSymbolIfNecessary(Symbol symbol) 1807internal abstract Symbol RemapSymbolIfNecessaryCore(Symbol symbol); 1824public bool IsAccessible(int position, Symbol symbol) 1876Constraint = "Provide " + nameof(ArrayBuilder<Symbol>) + " capacity to reduce number of allocations.")] 1913OneOrMany<Symbol> symbols = GetSemanticSymbols( 1914boundExpr, boundNodeForSyntacticParent, binderOpt, options, out bool isDynamic, out LookupResultKind resultKind, out ImmutableArray<Symbol> unusedMemberGroup); 1920ImmutableArray<Symbol> unusedHighestMemberGroup; 1921OneOrMany<Symbol> highestSymbols = GetSemanticSymbols( 1960return SymbolInfoFactory.Create(ImmutableArray<Symbol>.Empty, LookupResultKind.Empty, isDynamic); 1966var builder = ArrayBuilder<Symbol>.GetInstance(symbols.Count); 1967foreach (Symbol symbol in symbols) 1988private static SymbolInfo GetSymbolInfoForSubpattern(Symbol subpatternSymbol) 2003private static void AddUnwrappingErrorTypes(ArrayBuilder<Symbol> builder, Symbol s) 2283internal ImmutableArray<Symbol> GetMemberGroupForNode( 2292ImmutableArray<Symbol> memberGroup; 2299return ImmutableArray<Symbol>.Empty; 2321internal static SymbolInfo GetSymbolInfoForSymbol(Symbol symbol, SymbolInfoOptions options) 2326Symbol unwrapped = UnwrapAlias(symbol); 2335var symbols = OneOrMany<Symbol>.Empty; 2353var symbolToReturn = ((options & SymbolInfoOptions.ResolveAliases) != 0) ? unwrapped : symbol; 2359internal static CSharpTypeInfo GetTypeInfoForSymbol(Symbol symbol) 2369protected static Symbol UnwrapAlias(Symbol symbol) 2374protected static OneOrMany<Symbol> UnwrapAliases(OneOrMany<Symbol> symbols) 2378foreach (Symbol symbol in symbols) 2387ArrayBuilder<Symbol> builder = ArrayBuilder<Symbol>.GetInstance(); 2388foreach (Symbol symbol in symbols) 3352private OneOrMany<Symbol> GetSemanticSymbols( 3359out ImmutableArray<Symbol> memberGroup) 3361memberGroup = ImmutableArray<Symbol>.Empty; 3362OneOrMany<Symbol> symbols = OneOrMany<Symbol>.Empty; 3418var typeSymbol = boundType.AliasOpt ?? (Symbol)boundType.Type; 3470symbols = OneOrMany.Create<Symbol>(invocation.FunctionPointer); 3499symbols = originalIndexersOpt.IsDefault ? OneOrMany.Create<Symbol>(indexerAccess.Indexer) : StaticCast<Symbol>.From(OneOrMany.Create(originalIndexersOpt)); 3514symbols = OneOrMany<Symbol>.Empty; 3519symbols = OneOrMany.Create<Symbol>(methodSymbol); 3525boundNode.ExpressionSymbol is Symbol accessSymbol && 3531symbols = OneOrMany.Create<Symbol>(parentOperator.Event); 3544symbols = OneOrMany.Create<Symbol>(ReducedExtensionMethodSymbol.Create(symbol)); 3629var builder = ArrayBuilder<Symbol>.GetInstance(); 3640memberGroup = dynamicInvocation.ApplicableMethods.Cast<MethodSymbol, Symbol>(); 3648memberGroup = collectionInit.ApplicableMethods.Cast<MethodSymbol, Symbol>(); 3656memberGroup = dynamicIndexer.ApplicableIndexers.Cast<PropertySymbol, Symbol>(); 3668memberGroup = objectCreation.ApplicableMethods.Cast<MethodSymbol, Symbol>(); 3679symbols = OneOrMany.Create<Symbol>(boundObjectCreation.Constructor); 3683symbols = StaticCast<Symbol>.From(OneOrMany.Create(boundObjectCreation.ConstructorsGroup)); 3687memberGroup = boundObjectCreation.ConstructorsGroup.Cast<MethodSymbol, Symbol>(); 3695var containingMember = binder.ContainingMember(); 3698symbols = thisParam != null ? OneOrMany.Create<Symbol>(thisParam) : OneOrMany<Symbol>.Empty; 3707symbols = OneOrMany.Create<Symbol>(fromEndIndexExpression.MethodOpt); 3717symbols = OneOrMany.Create<Symbol>(rangeExpression.MethodOpt); 3724if (boundNode.ExpressionSymbol is Symbol symbol) 3742private static ParameterSymbol GetThisParameter(TypeSymbol typeOfThis, NamedTypeSymbol containingType, Symbol containingMember, out LookupResultKind resultKind) 3805private static void GetSymbolsAndResultKind(BoundUnaryOperator unaryOperator, out bool isDynamic, ref LookupResultKind resultKind, ref OneOrMany<Symbol> symbols) 3821symbols = OneOrMany.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(unaryOperator.Operand.Type.StrippedType(), 3828private static void GetSymbolsAndResultKind(BoundIncrementOperator increment, out bool isDynamic, ref LookupResultKind resultKind, ref OneOrMany<Symbol> symbols) 3845symbols = OneOrMany.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(opType, 3852private static void GetSymbolsAndResultKind(BoundBinaryOperator binaryOperator, out bool isDynamic, ref LookupResultKind resultKind, ref OneOrMany<Symbol> symbols) 3878symbols = OneOrMany.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(objectType, 3896private static Symbol GetIntrinsicOperatorSymbol(BinaryOperatorKind op, bool isDynamic, TypeSymbol leftType, TypeSymbol rightType, TypeSymbol returnType, bool isChecked) 3925private static void GetSymbolsAndResultKind(BoundCompoundAssignmentOperator compoundAssignment, out bool isDynamic, ref LookupResultKind resultKind, ref OneOrMany<Symbol> symbols) 3951private static void GetSymbolsAndResultKind(BoundExpression node, Symbol symbolOpt, ImmutableArray<MethodSymbol> originalCandidates, out OneOrMany<Symbol> symbols, out LookupResultKind resultKind) 3960symbols = StaticCast<Symbol>.From(OneOrMany.Create(originalCandidates)); 3965symbols = OneOrMany<Symbol>.Empty; 3978ref OneOrMany<Symbol> symbols, 3979ref ImmutableArray<Symbol> memberGroup) 4031ref OneOrMany<Symbol> symbols, 4032ref ImmutableArray<Symbol> memberGroup) 4072symbols = OneOrMany.Create<Symbol>(constructorOpt); 4076symbols = StaticCast<Symbol>.From(OneOrMany.Create(candidateConstructors)); 4081memberGroup = candidateConstructors.Cast<MethodSymbol, Symbol>(); 4122PooledHashSet<Symbol> hiddenSymbols = null; 4125Symbol symbol = iSymbol.GetSymbol(); 4131foreach (Symbol overridden in overriddenOrHiddenMembers.OverriddenMembers) 4135hiddenSymbols = PooledHashSet<Symbol>.GetInstance(); 4143foreach (Symbol hidden in overriddenOrHiddenMembers.HiddenMembers) 4147hiddenSymbols = PooledHashSet<Symbol>.GetInstance(); 4215HashSet<Symbol> hiddenSymbols = new HashSet<Symbol>(); 4220foreach (Symbol overridden in overriddenOrHiddenMembers.OverriddenMembers) 4228foreach (Symbol hidden in overriddenOrHiddenMembers.HiddenMembers) 4244private OneOrMany<Symbol> GetMethodGroupSemanticSymbols( 4250out ImmutableArray<Symbol> memberGroup) 4254OneOrMany<Symbol> symbols = OneOrMany<Symbol>.Empty; 4326symbols = OneOrMany.Create((Symbol)method); 4338symbols = OneOrMany.Create(dynamicInvocation.ApplicableMethods.Cast<MethodSymbol, Symbol>()); 4344ImmutableArray<Symbol> myMethodGroup = memberGroup; 4397private OneOrMany<Symbol> GetPropertyGroupSemanticSymbols( 4402out ImmutableArray<Symbol> propertyGroup) 4406OneOrMany<Symbol> symbols = OneOrMany<Symbol>.Empty; 4415propertyGroup = boundNode.Properties.Cast<PropertySymbol, Symbol>(); 4432symbols = OneOrMany.Create<Symbol>(indexer.Indexer); 4438symbols = StaticCast<Symbol>.From(OneOrMany.Create(indexer.OriginalIndexersOpt)); 4445ImmutableArray<Symbol> myPropertyGroup = propertyGroup; 4573internal static ImmutableArray<Symbol> GetReducedAndFilteredMethodGroupSymbols(Binder binder, BoundMethodGroup node) 4575var members = ArrayBuilder<Symbol>.GetInstance(); 4576var filteredMembers = ArrayBuilder<Symbol>.GetInstance(); 4603var otherSymbol = node.LookupSymbolOpt; 4682ArrayBuilder<Symbol> members, 4683ArrayBuilder<Symbol> filteredMembers, 4684Symbol member, 4689Symbol? substitutedMember = member.GetReducedAndFilteredSymbol(typeArguments, receiverType, compilation, checkFullyInferred: false); 4708ArrayBuilder<Symbol> members, 4709ArrayBuilder<Symbol> filteredMembers, 4721Symbol member = singleResult.Symbol; 4752private static OneOrMany<Symbol> CreateReducedAndFilteredSymbolsFromOriginals(BoundCall call, CSharpCompilation compilation) 4773var methodBuilder = ArrayBuilder<Symbol>.GetInstance(); 4774var filteredMethodBuilder = ArrayBuilder<Symbol>.GetInstance(); 4788private OneOrMany<Symbol> CreateReducedExtensionMethodIfPossible(BoundCall call) 4802return OneOrMany.Create<Symbol>(method); 4805private OneOrMany<Symbol> CreateReducedExtensionMethodIfPossible(BoundDelegateCreationExpression delegateCreation, BoundExpression receiverOpt) 4815return OneOrMany.Create<Symbol>(method);
Compilation\InitializerSemanticModel.cs (10)
27Symbol symbol, 30ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt = null) : 59internal static InitializerSemanticModel Create(PublicSemanticModel containingSemanticModel, ParameterSyntax syntax, ParameterSymbol parameterSymbol, Binder rootBinder, ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt) 69internal static SpeculativeSemanticModelWithMemberModel CreateSpeculative(SyntaxTreeSemanticModel parentSemanticModel, Symbol owner, EqualsValueClauseSyntax syntax, Binder rootBinder, ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt, int position) 259ref ImmutableDictionary<Symbol, Symbol> remappedSymbols)
Compilation\LexicalOrderSymbolComparer.cs (3)
18internal class LexicalOrderSymbolComparer : IComparer<Symbol> 26public int Compare(Symbol x, Symbol y)
Compilation\MemberSemanticModel.cs (26)
29private readonly Symbol _memberSymbol; 37private ImmutableDictionary<Symbol, Symbol> _lazyRemappedSymbols; 38private readonly ImmutableDictionary<Symbol, Symbol> _parentRemappedSymbolsOpt; 48Symbol memberSymbol, 51ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt) 85internal Symbol MemberSymbol 163internal ImmutableDictionary<Symbol, Symbol> GetRemappedSymbols() 192internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 206ImmutableDictionary<Symbol, Symbol> ignored = null; 721private T GetRemappedSymbol<T>(T originalSymbol) where T : Symbol 726if (_lazyRemappedSymbols.TryGetValue(originalSymbol, out Symbol? remappedSymbol)) 1234internal override ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken)) 1475protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1483protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 2047ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols); 2342internal override Symbol RemapSymbolIfNecessaryCore(Symbol symbol) 2353if (_lazyRemappedSymbols.TryGetValue(symbol, out var remappedSymbol))
Compilation\MemberSemanticModel.SpeculativeMemberSemanticModel.cs (5)
28Symbol owner, 31ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt) 49ref ImmutableDictionary<Symbol, Symbol> remappedSymbols)
Compilation\MethodBodySemanticModel.cs (12)
25internal readonly ImmutableDictionary<Symbol, Symbol>? RemappedSymbols; 32ImmutableDictionary<Symbol, Symbol>? remappedSymbols = null) 48ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt = null) 116ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt, 128ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt, 292ref ImmutableDictionary<Symbol, Symbol> remappedSymbols)
Compilation\PublicSemanticModel.cs (2)
23Symbol? attributeTarget = getAttributeTarget(attribute.Parent?.Parent); 34Symbol? getAttributeTarget(SyntaxNode? targetSyntax)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (15)
48ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt) 57static Symbol? getAttributeTargetFromPosition(int position, SyntaxTreeSemanticModel model) 74Symbol owner, 77ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt) 90Symbol owner, 93ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt, 106ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt, 460internal override ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken)) 500internal override Symbol RemapSymbolIfNecessaryCore(Symbol symbol) 565internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
Compilation\SymbolInfoFactory.cs (4)
20internal static SymbolInfo Create(ImmutableArray<Symbol> symbols, LookupResultKind resultKind, bool isDynamic) 23internal static SymbolInfo Create(OneOrMany<Symbol> symbols, LookupResultKind resultKind, bool isDynamic) 53static ImmutableArray<ISymbol> getPublicSymbols(OneOrMany<Symbol> symbols) 56foreach (var symbol in symbols)
Compilation\SyntaxTreeSemanticModel.cs (18)
284var symbol = GetSemanticInfoSymbolInNonMemberContext(node, bindVarAsAliasFirst: (options & SymbolInfoOptions.PreserveAliases) != 0); 322var symbol = GetSemanticInfoSymbolInNonMemberContext(node, bindVarAsAliasFirst: false); // Don't care about aliases here. 330private Symbol GetSemanticInfoSymbolInNonMemberContext(CSharpSyntaxNode node, bool bindVarAsAliasFirst) 356Symbol result = bindVarAsAliasFirst 397internal override ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken)) 403return model == null ? ImmutableArray<Symbol>.Empty : model.GetMemberGroupWorker(node, options, cancellationToken); 738internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 1400foreach (var symbol in collection) 1778private Symbol GetDeclaredMember(NamespaceOrTypeSymbol container, TextSpan declarationSpan, bool isKnownToBeANamespace, string name = null) 1806Symbol zeroWidthMatch = null; 1807foreach (var symbol in collection) 1813var result = GetDeclaredMember(namedType, declarationSpan, isKnownToBeANamespace, name); 1830Symbol partial = symbol.GetPartialImplementationPart(); 1864var result = this.GetDeclaredMember(container, declarationSyntax.Span, isKnownToBeANamespace: false, declarationSyntax.Identifier.ValueText); 2346private static BoundNode GetBoundRoot(MemberSemanticModel memberModel, out Symbol member) 2398private Symbol GetDeclaredMemberSymbol(CSharpSyntaxNode declarationSyntax) 2437internal override Symbol RemapSymbolIfNecessaryCore(Symbol symbol)
Compilation\SyntaxTreeSemanticModel_RegionAnalysisContext.cs (2)
38Symbol member; 55Symbol member;
Compiler\ClsComplianceChecker.cs (36)
32private readonly ConcurrentDictionary<Symbol, Compliance> _declaredOrInheritedCompliance; 52_declaredOrInheritedCompliance = new ConcurrentDictionary<Symbol, Compliance>(Symbols.SymbolEqualityComparer.ConsiderEverything); 212foreach (var m in symbol.GetMembersUnordered()) 230foreach (var m in symbol.GetMembersUnordered()) 267foreach (var m in symbol.GetMembersUnordered()) 420private bool VisitTypeOrMember(Symbol symbol, Compliance compliance) 497private void CheckForNonCompliantAbstractMember(Symbol symbol) 541private void CheckForCompliantWithinNonCompliant(Symbol symbol) 585private void CheckForAttributeWithArrayArgument(Symbol symbol) 680Symbol container = parameters[0].ContainingSymbol; 683Symbol associated = ((MethodSymbol)container).AssociatedSymbol; 711private void CheckReturnTypeCompliance(Symbol symbol) 784private bool CheckForDeclarationWithoutAssemblyDeclaration(Symbol symbol, Compliance compliance) 807MultiDictionary<string, Symbol> seenByName = new MultiDictionary<string, Symbol>(CaseInsensitiveComparison.Comparer); 823foreach (Symbol member in @interface.GetMembersUnordered()) 838foreach (Symbol member in baseType.GetMembersUnordered()) 855foreach (Symbol member in symbol.GetMembers()) 884private void CheckSymbolDistinctness(Symbol symbol, string symbolName, MultiDictionary<string, Symbol>.ValueSet sameNameSymbols) 891foreach (Symbol other in sameNameSymbols) 906foreach (Symbol other in sameNameSymbols) 927private void CheckName(Symbol symbol) 960private bool DoNotVisit(Symbol symbol) 973private bool IsSyntacticallyFilteredOut(Symbol symbol) 1114private Compliance GetDeclaredOrInheritedCompliance(Symbol symbol) 1127Symbol associated = method.AssociatedSymbol; 1170private Compliance GetInheritedCompliance(Symbol symbol) 1174Symbol containing = (Symbol)symbol.ContainingType ?? symbol.ContainingAssembly; 1184private bool? GetDeclaredCompliance(Symbol symbol, out Location attributeLocation) 1220private static bool IsAccessibleOutsideAssembly(Symbol symbol) 1233private static bool IsAccessibleIfContainerIsAccessible(Symbol symbol) 1267private static bool IsImplicitClass(Symbol symbol) 1316private static bool TryGetCollisionErrorCode(Symbol x, Symbol y, out ErrorCode code)
Compiler\DocumentationCommentCompiler.cs (23)
138internal static string GetDocumentationCommentXml(Symbol symbol, bool processIncludes, CancellationToken cancellationToken) 199foreach (var s in symbol.GetMembers()) 242foreach (Symbol member in symbol.GetMembers()) 274foreach (Symbol member in extension.GetMembers()) 343Symbol symbolForDocComment = underlyingMethod.IsAccessor() 363static bool hasDocumentationTrivia(Symbol symbol) 383public override void DefaultVisit(Symbol symbol) 400Symbol? implementationPart = symbol.GetPartialImplementationPart(); 426var symbolForDocComments = symbol is SynthesizedRecordPropertySymbol ? symbol.ContainingType : symbol; 462private static bool ShouldSkip(Symbol symbol) 532Symbol symbol, 628Symbol symbol, 737private static Location GetLocationInTreeReportingDocumentationCommentDiagnostics(Symbol symbol) 753private static ImmutableArray<ParameterSymbol> GetParameters(Symbol symbol) 776private static ImmutableArray<TypeParameterSymbol> GetTypeParameters(Symbol symbol) 794private static bool RequiresDocumentationComment(Symbol symbol) 825private bool TryGetDocumentationCommentNodes(Symbol symbol, out DocumentationMode maxDocumentationMode, out ImmutableArray<DocumentationCommentTriviaSyntax> nodes) 1209Symbol ambiguityWinner; 1210ImmutableArray<Symbol> symbols = binder.BindCref(crefSyntax, out ambiguityWinner, diagnostics); 1212Symbol symbol; 1266Symbol memberSymbol, 1299ImmutableArray<Symbol> referencedSymbols = binder.BindXmlNameAttribute(syntax, ref useSiteInfo); 1324foreach (Symbol referencedSymbol in referencedSymbols)
Compiler\DocumentationCommentCompiler.DocumentationCommentWalker.cs (3)
33private readonly Symbol _memberSymbol; 43Symbol memberSymbol, 120Symbol symbol,
Compiler\DocumentationCommentCompiler.IncludeElementExpander.cs (6)
30private readonly Symbol _memberSymbol; 43Symbol memberSymbol, 67Symbol memberSymbol, 547private static Binder MakeNameBinder(bool isParameter, bool isTypeParameterRef, Symbol memberSymbol, CSharpCompilation compilation, SyntaxTree syntaxTree) 552Symbol containingSymbol = memberSymbol.ContainingSymbol; 585Symbol currentSymbol = memberSymbol;
Compiler\MethodBodySynthesizer.cs (1)
598foreach (Symbol member in baseType.GetMembers(WellKnownMemberNames.DestructorName))
Compiler\MethodCompiler.cs (10)
38private readonly Predicate<Symbol>? _filterOpt; // If not null, limit analysis to specific symbols 88BindingDiagnosticBag diagnostics, Predicate<Symbol>? filterOpt, SynthesizedEntryPointSymbol.AsyncForwardEntryPoint? entryPointOpt, CancellationToken cancellationToken) 116Predicate<Symbol>? filterOpt, 411foreach (var s in symbol.GetMembersUnordered()) 511var member = members[memberOrdinal]; 1933ImmutableDictionary<Symbol, Symbol>? remappedSymbols = null; 2462private static BoundBlock GetSynthesizedEmptyBody(Symbol symbol) 2506private static bool PassesFilter(Predicate<Symbol> filterOpt, Symbol symbol)
Compiler\SynthesizedMetadataCompiler.cs (2)
56foreach (var s in symbol.GetMembers()) 91foreach (Symbol member in symbol.GetMembers())
Declarations\DeclarationTreeBuilder.cs (2)
703Symbol.ReportErrorIfHasConstraints(node.ConstraintClauses, diagnostics); 816Symbol.ReportErrorIfHasConstraints(node.ConstraintClauses, diagnostics);
DocumentationComments\DocumentationCommentIDVisitor.cs (1)
20public override object DefaultVisit(Symbol symbol, StringBuilder builder)
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (3)
153Symbol containingSymbol = symbol.ContainingSymbol; 178Symbol containingSymbol = symbol.ContainingSymbol; 276private static string GetEscapedMetadataName(Symbol symbol)
DocumentationComments\PEDocumentationCommentUtils.cs (1)
20Symbol symbol,
DocumentationComments\SourceDocumentationCommentUtils.cs (1)
20internal static string GetAndCacheDocumentationComment(Symbol symbol, bool expandIncludes, ref string lazyXmlText)
Emitter\EditAndContinue\CSharpDefinitionMap.cs (1)
68foreach (var member in ((TypeSymbol)stateMachineType).GetMembers())
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (44)
58if (definition.GetInternalSymbol() is Symbol symbol) 90if (reference.GetInternalSymbol() is Symbol symbol) 104private sealed class Visitor : CSharpSymbolVisitor<Symbol?> 121private readonly ConcurrentDictionary<Symbol, Symbol?> _matches = new(ReferenceEqualityComparer.Instance); 147public override Symbol DefaultVisit(Symbol symbol) 153public override Symbol? Visit(Symbol symbol) 162public override Symbol? VisitArrayType(ArrayTypeSymbol symbol) 181public override Symbol? VisitEvent(EventSymbol symbol) 184public override Symbol? VisitField(FieldSymbol symbol) 187public override Symbol? VisitMethod(MethodSymbol symbol) 194public override Symbol? VisitModule(ModuleSymbol module) 223public override Symbol? VisitAssembly(AssemblySymbol assembly) 261public override Symbol? VisitNamespace(NamespaceSymbol @namespace) 263var otherContainer = Visit(@namespace.ContainingSymbol); 286public override Symbol VisitDynamicType(DynamicTypeSymbol symbol) 291public override Symbol? VisitNamedType(NamedTypeSymbol sourceType) 335var otherContainer = this.Visit(sourceType.ContainingSymbol); 382public override Symbol VisitParameter(ParameterSymbol parameter) 388public override Symbol? VisitPointerType(PointerTypeSymbol symbol) 401public override Symbol? VisitFunctionPointerType(FunctionPointerTypeSymbol symbol) 443public override Symbol? VisitProperty(PropertySymbol symbol) 446public override Symbol VisitTypeParameter(TypeParameterSymbol symbol) 453var otherContainer = Visit(symbol.ContainingSymbol); 545private Symbol? VisitNamedTypeMember<T>(T member, Func<T, T, bool> predicate) 546where T : Symbol 561where T : Symbol 851internal sealed class DeepTranslator : CSharpSymbolVisitor<Symbol> 853private readonly ConcurrentDictionary<Symbol, Symbol> _matches; 858_matches = new ConcurrentDictionary<Symbol, Symbol>(ReferenceEqualityComparer.Instance); 862public override Symbol DefaultVisit(Symbol symbol) 868public override Symbol Visit(Symbol symbol) 873public override Symbol VisitArrayType(ArrayTypeSymbol symbol) 886public override Symbol VisitDynamicType(DynamicTypeSymbol symbol) 891public override Symbol VisitNamedType(NamedTypeSymbol type) 916public override Symbol VisitPointerType(PointerTypeSymbol symbol) 923public override Symbol VisitFunctionPointerType(FunctionPointerTypeSymbol symbol) 952public override Symbol VisitTypeParameter(TypeParameterSymbol symbol)
Emitter\Model\ArrayTypeSymbolAdapter.cs (1)
109internal sealed override Symbol AdaptedSymbol => AdaptedArrayTypeSymbol;
Emitter\Model\AttributeDataAdapter.cs (3)
161var symbol = LookupName(name); 178private Symbol LookupName(string name) 183foreach (var member in type.GetMembers(name))
Emitter\Model\EventSymbolAdapter.cs (1)
207internal sealed override Symbol AdaptedSymbol => AdaptedEventSymbol;
Emitter\Model\FieldSymbolAdapter.cs (1)
351internal sealed override Symbol AdaptedSymbol => AdaptedFieldSymbol;
Emitter\Model\FunctionPointerTypeSymbolAdapter.cs (1)
130internal sealed override Symbol AdaptedSymbol => AdaptedFunctionPointerTypeSymbol;
Emitter\Model\MethodReference.cs (1)
26protected override Symbol UnderlyingSymbol
Emitter\Model\MethodSymbolAdapter.cs (1)
734internal sealed override Symbol AdaptedSymbol => AdaptedMethodSymbol;
Emitter\Model\NamedTypeSymbolAdapter.cs (7)
326foreach (var member in AdaptedNamedTypeSymbol.GetMembers()) 369foreach (Symbol objectMember in objectType.GetMembers(WellKnownMemberNames.DestructorName)) 529foreach (var member in AdaptedNamedTypeSymbol.GetMembers(WellKnownMemberNames.StaticConstructorName)) 963foreach (var m in this.GetMembers()) 1042foreach (var m in this.GetMembers()) 1059foreach (var m in this.GetMembers()) 1083internal sealed override Symbol AdaptedSymbol => AdaptedNamedTypeSymbol;
Emitter\Model\NamespaceSymbolAdapter.cs (1)
59internal sealed override Symbol AdaptedSymbol => AdaptedNamespaceSymbol;
Emitter\Model\ParameterSymbolAdapter.cs (1)
282internal sealed override Symbol AdaptedSymbol => AdaptedParameterSymbol;
Emitter\Model\PEModuleBuilder.cs (23)
29protected readonly ConcurrentDictionary<Symbol, Cci.IModuleReference> AssemblyOrModuleSymbolToModuleRefMap = new ConcurrentDictionary<Symbol, Cci.IModuleReference>(); 30private readonly ConcurrentDictionary<Symbol, object> _genericInstanceMap = new ConcurrentDictionary<Symbol, object>(Symbols.SymbolEqualityComparer.ConsiderEverything); 237foreach (var member in symbol.GetMembers()) 357foreach (var member in symbol.GetMembers()) 380foreach (var member in symbol.GetMembers()) 444private void AddSymbolLocation(MultiDictionary<Cci.DebugSourceDocument, Cci.DefinitionWithLocation> result, Symbol symbol) 471private Location GetSmallestSourceLocationOrNull(Symbol symbol) 560foreach (var member in ns.GetMembers()) 593foreach (var member in symbol.GetMembers()) 822Symbol.ReportUseSiteDiagnostic(info, 1071private object GetCciAdapter(Symbol symbol) 1392var container = param.ContainingSymbol; 1428private static bool ContainerIsGeneric(Symbol container) 1491internal SynthesizedAttributeData SynthesizeIsReadOnlyAttribute(Symbol symbol) 1524internal SynthesizedAttributeData SynthesizeExtensionMarkerAttribute(Symbol symbol, string markerName) 1535internal SynthesizedAttributeData SynthesizeIsUnmanagedAttribute(Symbol symbol) 1546internal SynthesizedAttributeData SynthesizeIsByRefLikeAttribute(Symbol symbol) 1562internal SynthesizedAttributeData SynthesizeNullableAttributeIfNecessary(Symbol symbol, byte? nullableContextValue, TypeWithAnnotations type) 1622internal SynthesizedAttributeData SynthesizeNullableContextAttribute(Symbol symbol, byte value) 1647internal SynthesizedAttributeData SynthesizeNativeIntegerAttribute(Symbol symbol, TypeSymbol type) 1990Symbol.ReportUseSiteDiagnostic(info, diagnostics, syntaxNode.Location);
Emitter\Model\PointerTypeSymbolAdapter.cs (1)
150internal sealed override Symbol AdaptedSymbol => AdaptedPointerTypeSymbol;
Emitter\Model\PropertySymbolAdapter.cs (1)
355internal sealed override Symbol AdaptedSymbol => AdaptedPropertySymbol;
Emitter\Model\SourceAssemblySymbolAdapter.cs (1)
28Symbol.AddSynthesizedAttribute(ref synthesized, referenceAssemblyAttribute);
Emitter\Model\SpecializedFieldReference.cs (1)
31protected override Symbol UnderlyingSymbol
Emitter\Model\SymbolAdapter.cs (1)
174internal abstract Symbol AdaptedSymbol { get; }
Emitter\Model\TypeMemberReference.cs (1)
16protected abstract Symbol UnderlyingSymbol { get; }
Emitter\Model\TypeParameterSymbolAdapter.cs (1)
395internal sealed override Symbol AdaptedSymbol => AdaptedTypeParameterSymbol;
Emitter\NoPia\EmbeddedEvent.cs (1)
131foreach (Symbol m in sourceInterface.GetMembers(UnderlyingEvent.AdaptedEventSymbol.MetadataName))
Emitter\NoPia\EmbeddedType.cs (1)
296foreach (Symbol s in UnderlyingNamedType.AdaptedNamedTypeSymbol.GetMembers(defaultMember))
Emitter\NoPia\EmbeddedTypesManager.cs (7)
39private readonly ConcurrentDictionary<Symbol, bool> _reportedSymbolsMap = new ConcurrentDictionary<Symbol, bool>(ReferenceEqualityComparer.Instance); 71Symbol.ReportUseSiteDiagnostic(info.DiagnosticInfo, 108Symbol.ReportUseSiteDiagnostic(info.DiagnosticInfo, 269foreach (Symbol member in namedType.GetMembersUnordered()) 328private static void ReportNotEmbeddableSymbol(ErrorCode error, Symbol symbol, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics, EmbeddedTypesManager optTypeManager) 508Symbol propertyOrEvent = method.AdaptedMethodSymbol.AssociatedSymbol;
Errors\CSDiagnosticInfo.cs (4)
24: this(code, Array.Empty<object>(), ImmutableArray<Symbol>.Empty, ImmutableArray<Location>.Empty) 29: this(code, args, ImmutableArray<Symbol>.Empty, ImmutableArray<Location>.Empty) 33internal CSDiagnosticInfo(ErrorCode code, ImmutableArray<Symbol> symbols, object[] args) 38internal CSDiagnosticInfo(ErrorCode code, object[] args, ImmutableArray<Symbol> symbols, ImmutableArray<Location> additionalLocations)
Errors\DiagnosticBagExtensions.cs (1)
45internal static CSDiagnosticInfo Add(this DiagnosticBag diagnostics, ErrorCode code, Location location, ImmutableArray<Symbol> symbols, params object[] args)
Errors\DiagnosticInfoWithSymbols.cs (3)
14internal readonly ImmutableArray<Symbol> Symbols; 16internal DiagnosticInfoWithSymbols(ErrorCode errorCode, object[] arguments, ImmutableArray<Symbol> symbols) 22internal DiagnosticInfoWithSymbols(bool isWarningAsError, ErrorCode errorCode, object[] arguments, ImmutableArray<Symbol> symbols)
Errors\LazyObsoleteDiagnosticInfo.cs (5)
15private readonly Symbol _containingSymbol; 18internal LazyObsoleteDiagnosticInfo(object symbol, Symbol containingSymbol, BinderFlags binderFlags) 20Debug.Assert(symbol is Symbol || symbol is TypeWithAnnotations); 42var symbol = (_symbolOrSymbolWithAnnotations as Symbol) ?? ((TypeWithAnnotations)_symbolOrSymbolWithAnnotations).Type;
Errors\MessageProvider.cs (1)
89var info = new CSDiagnosticInfo((ErrorCode)code, args, ImmutableArray<Symbol>.Empty, ImmutableArray<Location>.Empty);
FlowAnalysis\AbstractFlowPass.cs (3)
55protected Symbol _symbol; 60protected Symbol CurrentSymbol; 183Symbol symbol,
FlowAnalysis\AbstractFlowPass_LocalFunctions.cs (1)
72var oldSymbol = this.CurrentSymbol;
FlowAnalysis\AbstractRegionControlFlowPass.cs (1)
16Symbol member,
FlowAnalysis\AbstractRegionDataFlowPass.cs (2)
18Symbol member, 22HashSet<Symbol> initiallyAssignedVariables = null,
FlowAnalysis\AlwaysAssignedWalker.cs (7)
28private AlwaysAssignedWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 33internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 40return badRegion ? SpecializedCollections.EmptyEnumerable<Symbol>() : result; 48private List<Symbol> Analyze(ref bool badRegion) 51List<Symbol> result = new List<Symbol>();
FlowAnalysis\ControlFlowPass.cs (3)
33internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node) 38internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 153public static bool Analyze(CSharpCompilation compilation, Symbol member, BoundBlock block, DiagnosticBag diagnostics)
FlowAnalysis\CSharpDataFlowAnalysis.cs (6)
29private HashSet<Symbol> _unassignedVariables; 76private HashSet<Symbol> UnassignedVariables 84: new HashSet<Symbol>(); 254IEnumerable<Symbol> readInside, writtenInside, readOutside, writtenOutside, captured, unsafeAddressTaken, capturedInside, capturedOutside; 266readInside = writtenInside = readOutside = writtenOutside = captured = unsafeAddressTaken = capturedInside = capturedOutside = Enumerable.Empty<Symbol>(); 390private static ImmutableArray<ISymbol> Normalize(IEnumerable<Symbol> data)
FlowAnalysis\DataFlowsInWalker.cs (10)
25private readonly HashSet<Symbol> _dataFlowsIn = new HashSet<Symbol>(); 27private DataFlowsInWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 28HashSet<Symbol> unassignedVariables, HashSet<PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes) 33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 34HashSet<Symbol> unassignedVariables, HashSet<PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes, out bool? succeeded) 42return badRegion ? new HashSet<Symbol>() : result; 50private HashSet<Symbol> Analyze(ref bool badRegion) 103protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration)
FlowAnalysis\DataFlowsOutWalker.cs (16)
27private DataFlowsOutWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn) 33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn) 46return badRegion ? new HashSet<Symbol>() : result; 54private readonly HashSet<Symbol> _dataFlowsOut = new HashSet<Symbol>(); 58private readonly HashSet<Symbol> _assignedInside = new HashSet<Symbol>(); 61private HashSet<Symbol> Analyze(ref bool badRegion) 80Symbol variableSymbol = variable.GetSymbol(); 91protected override void NoteWrite(Symbol variable, BoundExpression value, bool read, bool isRef) 114private Symbol GetNodeSymbol(BoundNode node) 207Symbol variable = GetNodeSymbol(node); 252protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration)
FlowAnalysis\DefiniteAssignment.cs (44)
60private readonly HashSet<Symbol>? initiallyAssignedVariables; 82private readonly PooledHashSet<Symbol> _writtenVariables = PooledHashSet<Symbol>.GetInstance(); 114private readonly PooledDictionary<Symbol, Location> _unsafeAddressTakenVariables = PooledDictionary<Symbol, Location>.GetInstance(); 119private readonly PooledHashSet<Symbol> _capturedVariables = PooledHashSet<Symbol>.GetInstance(); 121private readonly PooledHashSet<Symbol> _capturedInside = PooledHashSet<Symbol>.GetInstance(); 122private readonly PooledHashSet<Symbol> _capturedOutside = PooledHashSet<Symbol>.GetInstance(); 169Symbol member, 194Symbol member, 198HashSet<Symbol>? initiallyAssignedVariables = null) 216Symbol member, 220HashSet<Symbol> initiallyAssignedVariables, 235Symbol member, 284protected Symbol GetNonMemberSymbol(int slot) 344var save = CurrentSymbol; 494Symbol associatedPropertyOrEvent = field.AssociatedSymbol; 686foreach (Symbol captured in _capturedVariables) 708private void CheckCaptured(Symbol variable, ParameterSymbol? rangeVariableUnderlyingParameter = null) 711Symbol.IsCaptured(rangeVariableUnderlyingParameter ?? variable, sourceMethod)) 722private void NoteCaptured(Symbol variable) 737protected IEnumerable<Symbol> GetCapturedInside() => _capturedInside.ToArray(); 738protected IEnumerable<Symbol> GetCapturedOutside() => _capturedOutside.ToArray(); 739protected IEnumerable<Symbol> GetCaptured() => _capturedVariables.ToArray(); 740protected IEnumerable<Symbol> GetUnsafeAddressTaken() => _unsafeAddressTakenVariables.Keys.ToArray(); 745private void NotePrimaryConstructorParameterReadIfNeeded(Symbol symbol) 754Symbol variable, 850protected virtual void NoteWrite(Symbol variable, BoundExpression value, bool read, bool isRef) 1066protected override bool TryGetReceiverAndMember(BoundExpression expr, out BoundExpression receiver, out Symbol member) 1152protected void CheckAssigned(Symbol symbol, SyntaxNode node) 1171private void ReportUnassignedIfNotCapturedInLocalFunction(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration = true) 1188protected virtual void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration) 1257void addDiagnosticForStructThis(Symbol thisParameter, int thisSlot) 1309var associatedSymbol = fieldSymbol.AssociatedSymbol; 1482private Symbol UseNonFieldSymbolUnsafely(BoundExpression expression) 1806Symbol current = CurrentSymbol; 1850Symbol containing = current.ContainingSymbol; 2429var oldSymbol = this.CurrentSymbol; 2547Symbol variable = UseNonFieldSymbolUnsafely(operand); 2659foreach (var symbol in namedType.GetMembersUnordered()) 2707Symbol receiver = UseNonFieldSymbolUnsafely(node.ReceiverOpt);
FlowAnalysis\DefiniteAssignment.LocalFunctions.cs (6)
51var symbol = variableBySlot[slot].Symbol; 65/// in which case <see cref="LocalDataFlowPass{TLocalState, TLocalFunctionState}.VariableSlot(Symbol, int)"/> 68private void CheckIfAssignedDuringLocalFunctionReplay(Symbol symbol, SyntaxNode node, int slot) 147var rootSymbol = rootVarInfo.Symbol; 154return !(nearestLocalFunc is null) && Symbol.IsCaptured(rootSymbol, nearestLocalFunc); 158private static LocalFunctionSymbol GetNearestLocalFunctionOpt(Symbol symbol)
FlowAnalysis\DefiniteAssignment.VariableIdentifier.cs (2)
16public readonly Symbol Symbol; 25public VariableIdentifier(Symbol symbol, int containingSlot = 0)
FlowAnalysis\DefinitelyAssignedWalker.cs (12)
23private readonly HashSet<Symbol> _definitelyAssignedOnEntry = new HashSet<Symbol>(); 24private readonly HashSet<Symbol> _definitelyAssignedOnExit = new HashSet<Symbol>(); 28Symbol member, 36internal static (HashSet<Symbol> entry, HashSet<Symbol> exit) Analyze( 37CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 45? (new HashSet<Symbol>(), new HashSet<Symbol>()) 66private void ProcessRegion(HashSet<Symbol> definitelyAssigned) 86private void ProcessState(HashSet<Symbol> definitelyAssigned, LocalState state1, LocalState state2opt)
FlowAnalysis\EmptyStructTypeCache.cs (5)
139foreach (var member in type.OriginalDefinition.GetMembersUnordered()) 178foreach (var member in type.OriginalDefinition.GetMembersUnordered()) 192private FieldSymbol GetActualField(Symbol member, NamedTypeSymbol type) 216private bool ShouldIgnoreStructField(Symbol member, TypeSymbol memberType) 253private static bool IsAccessibleInAssembly(Symbol symbol, SourceAssemblySymbol assembly)
FlowAnalysis\EntryPointsWalker.cs (2)
24internal static IEnumerable<LabeledStatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, out bool? succeeded) 49private EntryPointsWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\ExitPointsWalker.cs (2)
23private ExitPointsWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 41internal static ImmutableArray<StatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\LocalDataFlowPass.cs (9)
36Symbol? member, 48Symbol member, 75protected int VariableSlot(Symbol symbol, int containingSlot = 0) 100protected virtual int GetOrCreateSlot(Symbol symbol, int containingSlot = 0, bool forceSlotEvenIfEmpty = false, bool createIfMissing = true) 161private int DescendThroughTupleRestFields(ref Symbol symbol, int containingSlot, bool forceContainingSlotsToExist) 204protected abstract bool TryGetReceiverAndMember(BoundExpression expr, out BoundExpression? receiver, [NotNullWhen(true)] out Symbol? member); 227if (TryGetReceiverAndMember(node, out BoundExpression? receiver, out Symbol? member)) 239protected int MakeMemberSlot(BoundExpression? receiverOpt, Symbol member) 262protected static bool HasInitializer(Symbol field) => field switch
FlowAnalysis\NullableWalker.cs (124)
461Symbol? symbol, 678var alreadyWarnedMembers = PooledHashSet<Symbol>.GetInstance(); 679foreach (var member in method.ContainingType.GetMembersUnordered()) 723void checkMemberStateOnConstructorExit(MethodSymbol constructor, Symbol member, LocalState state, int thisSlot, Location? exitLocation, ImmutableArray<string> membersWithStateEnforcedByRequiredMembers, bool forcePropertyAnalysis) 742Symbol symbol; 748symbol = (Symbol?)(f.AssociatedSymbol as PropertySymbol) ?? f; 809var info = new CSDiagnosticInfo(errorCode, new object[] { symbol.Kind.Localize(), symbol.Name }, ImmutableArray<Symbol>.Empty, additionalLocations: symbol.Locations); 820foreach (var member in getMembersNeedingDefaultInitialState()) 827var memberToInitialize = member; 881ImmutableArray<Symbol> getMembersNeedingDefaultInitialState() 885return ImmutableArray<Symbol>.Empty; 925static ImmutableArray<Symbol> membersToBeInitialized(NamedTypeSymbol containingType, bool includeAllMembers, bool includeCurrentTypeRequiredMembers, bool includeBaseRequiredMembers) 930=> ImmutableArray<Symbol>.Empty, 944var symbolToInitialize = getFieldSymbolToBeInitialized(symbol); 948return OneOrMany<Symbol>.Empty; 963static ImmutableArray<Symbol> getAllTypeAndRequiredMembers(TypeSymbol containingType) 966var baseRequiredMembers = containingType.BaseTypeNoUseSiteDiagnostics?.AllRequiredMembers ?? ImmutableSegmentedDictionary<string, Symbol>.Empty; 973var builder = ArrayBuilder<Symbol>.GetInstance(members.Length + baseRequiredMembers.Count); 997static OneOrMany<Symbol> getAllMembersToBeDefaulted(Symbol requiredMember, bool filterOverridingProperties) 1011return OneOrMany<Symbol>.Empty; 1019foreach (var member in property.ContainingType.GetMembers(notNullMemberName)) 1029static Symbol getFieldSymbolToBeInitialized(Symbol requiredMember) 1062foreach (var member in method.ContainingType.GetMembers(memberName)) 1110void enforceMemberNotNullWhenIfAffected(SyntaxNode? syntaxOpt, bool sense, ImmutableArray<Symbol> members, LocalState state, LocalState otherState) 1112foreach (var member in members) 1129foreach (var member in method.ContainingType.GetMembers(memberName)) 1138private void ReportFailedMemberNotNullIfNeeded(SyntaxNode? syntaxOpt, bool sense, Symbol member, LocalState state) 1147private bool FailsMemberNotNullExpectation(Symbol member, LocalState state) 1183foreach (var member in type.GetMembers(memberName)) 1198private int GetSlotForMemberPostCondition(Symbol member) 1497internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody) 1567Symbol? symbol, 1582Symbol? symbol, 1589ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1598Symbol? symbol, 1662ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1667var symbol = variables.Symbol; 1704private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1706var remappedSymbolsBuilder = ImmutableDictionary.CreateBuilder<Symbol, Symbol>(Symbols.SymbolEqualityComparer.ConsiderEverything, Symbols.SymbolEqualityComparer.ConsiderEverything); 1818Symbol? symbol, 1875Symbol? symbol, 1908private void RecordNullableAnalysisData(Symbol? symbol, bool requiredAnalysis) 1935private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 1958if (lambdaIsExactMatch || Symbol.Equals(originalSymbol, updatedSymbol, TypeCompareKind.ConsiderEverything)) 2010var symbol = variable.Symbol; 2043protected override bool TryGetReceiverAndMember(BoundExpression expr, out BoundExpression? receiver, [NotNullWhen(true)] out Symbol? member) 2211var container = method.ContainingSymbol; 2222protected override int GetOrCreateSlot(Symbol symbol, int containingSlot = 0, bool forceSlotEvenIfEmpty = false, bool createIfMissing = true) 2346var containingSymbol = parameterOpt?.ContainingSymbol; 2713private bool IsSlotMember(int slot, Symbol possibleMember) 2725private void InheritNullableStateOfMember(int targetContainerSlot, int valueContainerSlot, Symbol member, bool isDefaultValue, int skipSlot) 2854var symbol = AsMemberOfType(targetType, variable.Symbol); 2861private static TypeSymbol GetTypeOrReturnType(Symbol symbol) => symbol.GetTypeOrReturnType().Type; 2864private TypeWithAnnotations GetTypeOrReturnTypeWithAnnotations(Symbol symbol) 2899private NullableFlowState GetDefaultState(Symbol symbol) 2914var member = variable.Symbol; 3337if (Symbol.IsCaptured(variables[slot].Symbol, localFunc)) 3356var symbol = variables[variables.RootSlot(slot)].Symbol; 3357if (Symbol.IsCaptured(symbol, localFunc)) 3403var oldSymbol = this._symbol; 3405var oldCurrentSymbol = this.CurrentSymbol; 3756private static bool AreCloseEnough(Symbol original, Symbol updated) 4333Symbol? symbol = getTargetMember(containingType, objectInitializer); 4336ArgumentsCompletionDelegate<Symbol>? argumentsCompletion = null; 4346invokedAsExtensionMethod: false, member: (Symbol?)null, delayCompletionForTargetMember: delayCompletionForType); 4349Action<int, Symbol>? initializationCompletion = null; 4372ArgumentsCompletionDelegate<Symbol>? argumentsCompletion, 4373Action<int, Symbol>? initializationCompletion, 4394ArgumentsCompletionDelegate<Symbol>? argumentsCompletion, 4395Action<int, Symbol>? initializationCompletion) 4399Symbol? symbol = getTargetMember(containingType, (BoundObjectInitializerMember)node.Left); 4411static Symbol? getTargetMember(TypeSymbol containingType, BoundObjectInitializerMember objectInitializer) 4413var symbol = objectInitializer.MemberSymbol; 4425int getOrCreateSlot(int containingSlot, Symbol symbol) 4430Action<int, Symbol>? visitNestedInitializer(int containingSlot, TypeSymbol containingType, Symbol symbol, BoundObjectInitializerExpressionBase initializer, bool delayCompletionForType) 4440Action<int, Symbol>? completeNestedInitializerAnalysis( 4441Symbol symbol, BoundObjectInitializerExpressionBase initializer, int slot, Action<int, TypeSymbol>? nestedCompletion, 4462Action<int, Symbol>? completeNestedInitializerAnalysisAsContinuation(BoundObjectInitializerExpressionBase initializer, Action<int, TypeSymbol>? nestedCompletion) 4464return (int containingSlot, Symbol symbol) => 4472Action<int, Symbol>? visitMemberAssignment(BoundAssignmentOperator node, int containingSlot, Symbol symbol, bool delayCompletionForType, Func<TypeWithAnnotations, TypeWithState>? conversionCompletion = null) 4505Action<int, Symbol>? visitMemberAssignmentAsContinuation(BoundAssignmentOperator node, Func<TypeWithAnnotations, TypeWithState> conversionCompletion) 4507return (int containingSlot, Symbol symbol) => 5756foreach (var member in getMembers(expressionType)) 5773static IEnumerable<Symbol> getMembers(TypeSymbol type) 5776foreach (var member in type.GetMembers()) 5781foreach (var member in baseType.GetMembers()) 5786foreach (var member in interfaceType.GetMembers()) 6801var implementationMethod = baseType.FindImplementationForInterfaceMember(constructedMethod); 7003private FlowAnalysisAnnotations GetRValueAnnotations(Symbol? symbol) 7179where TMember : Symbol 7187private delegate (TMember? member, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol; 7202where TMember : Symbol 7644foreach (Symbol member in type.GetMembers(memberName)) 8280where TMember : Symbol 8286var definition = member.GetIsNewExtensionMember() ? member.OriginalDefinition : member.ConstructedFrom(); 8665private static Symbol AsMemberOfType(TypeSymbol? type, Symbol symbol) 8711if (tryAsMemberOfSingleType(containingType, out var result)) 8727if (tryAsMemberOfSingleType(containingType, out var result)) 8742bool tryAsMemberOfSingleType(NamedTypeSymbol singleType, [NotNullWhen(true)] out Symbol? result) 8749var symbolDef = symbol.OriginalDefinition; 9012int targetSlot = GetNullableOfTValueSlot(containingType, containingSlot, out Symbol? symbol); 10586private FlowAnalysisAnnotations GetObjectInitializerMemberLValueAnnotations(Symbol memberSymbol) 11330var updatedSymbol = VisitMemberAccess(node, node.ReceiverOpt, node.FieldSymbol); 11359Symbol? updatedProperty; 11459var updatedSymbol = VisitMemberAccess(node, node.ReceiverOpt, node.EventSymbol); 11464private Symbol VisitMemberAccess(BoundExpression node, BoundExpression? receiverOpt, Symbol member) 11513private SpecialMember? GetNullableOfTMember(Symbol member) 11533private int GetNullableOfTValueSlot(TypeSymbol containingType, int containingSlot, out Symbol? valueProperty, bool forceSlotEvenIfEmpty = false) 13487private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)> 13493public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y) 13504public int GetHashCode((BoundNode? expr, Symbol symbol) obj)
FlowAnalysis\NullableWalker.PlaceholderLocal.cs (4)
24private readonly Symbol _containingSymbol; 28public PlaceholderLocal(Symbol containingSymbol, object identifier, TypeWithAnnotations type) 37public override bool Equals(Symbol obj, TypeCompareKind compareKind) 49public override Symbol ContainingSymbol => _containingSymbol;
FlowAnalysis\NullableWalker.SnapshotManager.cs (19)
31private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol> _updatedSymbolsMap; 35private SnapshotManager(ImmutableArray<SharedWalkerState> walkerSharedStates, ImmutableArray<(int position, Snapshot snapshot)> incrementalSnapshots, ImmutableDictionary<(BoundNode?, Symbol), Symbol> updatedSymbolsMap) 74if (_updatedSymbolsMap.TryGetValue((null, lambda), out var updatedDelegate)) 82internal bool TryGetUpdatedSymbol(BoundNode node, Symbol symbol, [NotNullWhen(true)] out Symbol? updatedSymbol) 148private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol>.Builder _updatedSymbolMap = ImmutableDictionary.CreateBuilder<(BoundNode?, Symbol), Symbol>(ExpressionAndSymbolEqualityComparer.Instance, Symbols.SymbolEqualityComparer.ConsiderEverything); 166private readonly PooledDictionary<Symbol, int> _symbolToSlot = PooledDictionary<Symbol, int>.GetInstance(); 181internal int EnterNewWalker(Symbol symbol) 220internal void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 228internal void RemoveSymbolIfPresent(BoundNode node, Symbol symbol) 233private static (BoundNode?, Symbol) GetKey(BoundNode node, Symbol symbol)
FlowAnalysis\NullableWalker.Variables.cs (13)
38internal readonly Symbol? Symbol; 48internal readonly ImmutableDictionary<Symbol, TypeWithAnnotations> VariableTypes; 50internal VariablesSnapshot(int id, VariablesSnapshot? container, Symbol? symbol, ImmutableArray<KeyValuePair<VariableIdentifier, int>> variableSlot, ImmutableDictionary<Symbol, TypeWithAnnotations> variableTypes) 59internal bool TryGetType(Symbol symbol, out TypeWithAnnotations type) 118internal readonly Symbol? Symbol; 128private readonly PooledDictionary<Symbol, TypeWithAnnotations> _variableTypes = SpecializedSymbolCollections.GetPooledSymbolDictionaryInstance<Symbol, TypeWithAnnotations>(); 140internal static Variables Create(Symbol? symbol) 183private Variables(int id, Variables? container, Symbol? symbol) 297internal bool TryGetType(Symbol symbol, out TypeWithAnnotations type) 303internal void SetType(Symbol symbol, TypeWithAnnotations type) 353private Variables GetVariablesContainingSymbol(Symbol symbol)
FlowAnalysis\ReadWriteWalker.cs (25)
22CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes, 23out IEnumerable<Symbol> readInside, 24out IEnumerable<Symbol> writtenInside, 25out IEnumerable<Symbol> readOutside, 26out IEnumerable<Symbol> writtenOutside, 27out IEnumerable<Symbol> captured, 28out IEnumerable<Symbol> unsafeAddressTaken, 29out IEnumerable<Symbol> capturedInside, 30out IEnumerable<Symbol> capturedOutside, 40readInside = writtenInside = readOutside = writtenOutside = captured = unsafeAddressTaken = capturedInside = capturedOutside = Enumerable.Empty<Symbol>(); 65private readonly HashSet<Symbol> _readInside = new HashSet<Symbol>(); 66private readonly HashSet<Symbol> _writtenInside = new HashSet<Symbol>(); 67private readonly HashSet<Symbol> _readOutside = new HashSet<Symbol>(); 68private readonly HashSet<Symbol> _writtenOutside = new HashSet<Symbol>(); 70private ReadWriteWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 78Symbol current = CurrentSymbol; 107Symbol containing = current.ContainingSymbol; 130protected override void NoteRead(Symbol variable, ParameterSymbol rangeVariableUnderlyingParameter = null) 137protected override void NoteWrite(Symbol variable, BoundExpression value, bool read, bool isRef) 175private void NoteReceiverReadOrWritten(BoundFieldAccess expr, HashSet<Symbol> readOrWritten) 183private void NoteExpressionReadOrWritten(BoundExpression receiver, HashSet<Symbol> readOrWritten)
FlowAnalysis\RegionAnalysisContext.cs (2)
23public readonly Symbol Member; 34public RegionAnalysisContext(CSharpCompilation compilation, Symbol member, BoundNode boundNode, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\RegionReachableWalker.cs (2)
17internal static void Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, 39private RegionReachableWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
FlowAnalysis\UnassignedAddressTakenVariablesWalker.cs (3)
18private UnassignedAddressTakenVariablesWalker(CSharpCompilation compilation, Symbol member, BoundNode node) 23internal static HashSet<PrefixUnaryExpressionSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node) 52protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration)
FlowAnalysis\UnassignedVariablesWalker.cs (8)
21private UnassignedVariablesWalker(CSharpCompilation compilation, Symbol member, BoundNode node) 26internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, 40return badRegion ? new HashSet<Symbol>() : result; 48private readonly HashSet<Symbol> _result = new HashSet<Symbol>(); 50private HashSet<Symbol> Analyze(ref bool badRegion) 56protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration)
FlowAnalysis\VariablesDeclaredWalker.cs (6)
23internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 30return badRegion ? SpecializedCollections.EmptyEnumerable<Symbol>() : walker._variablesDeclared; 38private HashSet<Symbol> _variablesDeclared = new HashSet<Symbol>(); 40internal VariablesDeclaredWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
Generated\BoundNodes.xml.Generated.cs (66)
511public BoundDeconstructValuePlaceholder(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression, TypeSymbol type, bool hasErrors) 521public BoundDeconstructValuePlaceholder(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression, TypeSymbol type) 532public Symbol? VariableSymbol { get; } 538public BoundDeconstructValuePlaceholder Update(Symbol? variableSymbol, bool isDiscardExpression, TypeSymbol type) 961public BoundBadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type, bool hasErrors = false) 974public ImmutableArray<Symbol?> Symbols { get; } 980public BoundBadExpression Update(LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type) 6074public BoundMethodGroup(SyntaxNode syntax, ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind, bool hasErrors = false) 6093public Symbol? LookupSymbolOpt { get; } 6101public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind) 6743public 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) 6764public Symbol? MemberSymbol { get; } 6778public 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) 8094protected BoundObjectPattern(BoundKind kind, SyntaxNode syntax, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8105public Symbol? Variable { get; } 8111public BoundDeclarationPattern(SyntaxNode syntax, BoundTypeExpression declaredType, bool isVar, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8133public BoundDeclarationPattern Update(BoundTypeExpression declaredType, bool isVar, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 8147public BoundRecursivePattern(SyntaxNode syntax, BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8174public BoundRecursivePattern Update(BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 8188public BoundListPattern(SyntaxNode syntax, ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 8218public BoundListPattern Update(ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 8325public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol, BoundPattern pattern, bool hasErrors = false) 8334public Symbol? Symbol { get; } 8339public BoundPositionalSubpattern Update(Symbol? symbol, BoundPattern pattern) 8383public BoundPropertySubpatternMember(SyntaxNode syntax, BoundPropertySubpatternMember? receiver, Symbol? symbol, TypeSymbol type, bool hasErrors = false) 8395public Symbol? Symbol { get; } 8401public BoundPropertySubpatternMember Update(BoundPropertySubpatternMember? receiver, Symbol? symbol, TypeSymbol type) 8626protected VariablePendingInference(BoundKind kind, SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false) 8637public Symbol VariableSymbol { get; } 8643public OutVariablePendingInference(SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false) 8655public OutVariablePendingInference Update(Symbol variableSymbol, BoundExpression? receiverOpt) 8669public DeconstructionVariablePendingInference(SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false) 8681public DeconstructionVariablePendingInference Update(Symbol variableSymbol, BoundExpression? receiverOpt) 8695public OutDeconstructVarPendingInference(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression, bool hasErrors) 8702public OutDeconstructVarPendingInference(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression) 8710public Symbol? VariableSymbol { get; } 8716public OutDeconstructVarPendingInference Update(Symbol? variableSymbol, bool isDiscardExpression) 10876Symbol? variableSymbol = this.VisitSymbol(node.VariableSymbol); 10943ImmutableArray<Symbol?> symbols = this.VisitSymbols<Symbol?>(node.Symbols); 11874Symbol? lookupSymbolOpt = this.VisitSymbol(node.LookupSymbolOpt); 11996Symbol? memberSymbol = this.VisitSymbol(node.MemberSymbol); 12244Symbol? variable = this.VisitSymbol(node.Variable); 12254Symbol? variable = this.VisitSymbol(node.Variable); 12265Symbol? variable = this.VisitSymbol(node.Variable); 12297Symbol? symbol = this.VisitSymbol(node.Symbol); 12309Symbol? symbol = this.VisitSymbol(node.Symbol); 12356Symbol variableSymbol = this.VisitSymbol(node.VariableSymbol); 12363Symbol variableSymbol = this.VisitSymbol(node.VariableSymbol); 12370Symbol? variableSymbol = this.VisitSymbol(node.VariableSymbol); 12408private readonly ImmutableDictionary<Symbol, Symbol>.Builder _remappedSymbols; 12410public NullabilityRewriter(ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> updatedNullabilities, NullableWalker.SnapshotManager? snapshotManager, ImmutableDictionary<Symbol, Symbol>.Builder remappedSymbols) 12472Symbol? variableSymbol = GetUpdatedSymbol(node, node.VariableSymbol); 12638ImmutableArray<Symbol?> symbols = GetUpdatedArray(node, node.Symbols); 14068Symbol? lookupSymbolOpt = GetUpdatedSymbol(node, node.LookupSymbolOpt); 14341Symbol? memberSymbol = GetUpdatedSymbol(node, node.MemberSymbol); 14902Symbol? variable = GetUpdatedSymbol(node, node.Variable); 14913Symbol? variable = GetUpdatedSymbol(node, node.Variable); 14925Symbol? variable = GetUpdatedSymbol(node, node.Variable); 14960Symbol? symbol = GetUpdatedSymbol(node, node.Symbol); 14967Symbol? symbol = GetUpdatedSymbol(node, node.Symbol); 15036Symbol variableSymbol = GetUpdatedSymbol(node, node.VariableSymbol); 15054Symbol variableSymbol = GetUpdatedSymbol(node, node.VariableSymbol); 15072Symbol? variableSymbol = GetUpdatedSymbol(node, node.VariableSymbol);
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (2)
56IReadOnlySet<Symbol> hoistedVariables, 57IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> nonReusableLocalProxies,
Lowering\AsyncRewriter\AsyncMethodBuilderMemberCollection.cs (4)
426where TSymbol : Symbol 438var sym = CSharpCompilation.GetRuntimeMember( 477foreach (var member in members) 505foreach (var member in members)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
79IReadOnlySet<Symbol> hoistedVariables, 80IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> nonReusableLocalProxies,
Lowering\AsyncRewriter\AsyncRewriter.AsyncIteratorRewriter.cs (1)
263protected override BoundStatement GenerateStateMachineCreation(LocalSymbol stateMachineVariable, NamedTypeSymbol frameType, IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> proxies)
Lowering\AsyncRewriter\AsyncRewriter.cs (2)
130private Symbol EnsureWellKnownMember(WellKnownMember member, BindingDiagnosticBag bag) 214protected override BoundStatement GenerateStateMachineCreation(LocalSymbol stateMachineVariable, NamedTypeSymbol frameType, IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> proxies)
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (1)
30foreach (var variable in variablesToHoist)
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (1)
232foreach (var member in newType.GetMembers(method.Name))
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (2)
491foreach (var variable in scopeEnv.CapturedVariables) 567public static Scope GetVariableDeclarationScope(Scope startingScope, Symbol variable)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (17)
53public readonly SetWithInsertionOrder<Symbol> DeclaredVariables = new SetWithInsertionOrder<Symbol>(); 134public readonly PooledHashSet<Symbol> CapturedVariables = PooledHashSet<Symbol>.GetInstance(); 177public readonly SetWithInsertionOrder<Symbol> CapturedVariables; 187public ClosureEnvironment(IEnumerable<Symbol> capturedVariables, bool isStruct) 189CapturedVariables = new SetWithInsertionOrder<Symbol>(); 190foreach (var item in capturedVariables) 307private readonly SmallDictionary<Symbol, Scope> _localToScope = new SmallDictionary<Symbol, Scope>(); 321private readonly HashSet<Symbol> _freeVariables = new HashSet<Symbol>(); 394DeclareLocals(_currentScope, ImmutableArray.Create<Symbol>(thisParam)); 606private void AddIfCaptured(Symbol symbol, SyntaxNode syntax) 680private void AddDiagnosticIfRestrictedType(Symbol capturedVariable, SyntaxNode syntax) 711where TSymbol : Symbol 787where TSymbol : Symbol
Lowering\ClosureConversion\ClosureConversion.cs (14)
92private readonly Dictionary<NamedTypeSymbol, Symbol> _framePointers = new Dictionary<NamedTypeSymbol, Symbol>(); 112private Symbol _innermostFramePointer; 147/// This should only be used by <see cref="NeedsProxy(Symbol)"/> which 152private readonly ImmutableHashSet<Symbol> _allCapturedVariables; 197var allCapturedVars = ImmutableHashSet.CreateBuilder<Symbol>(); 205protected override bool NeedsProxy(Symbol localOrParameter) 393foreach (var captured in env.CapturedVariables) 623Symbol framePointer = _framePointers[frameClass]; 716foreach (var variable in env.CapturedVariables) 721Symbol oldInnermostFramePointer = _innermostFramePointer; 749private void InitVariableProxy(SyntaxNode syntax, Symbol symbol, LocalSymbol framePointer, ArrayBuilder<BoundExpression> prologue) 1563var oldInnermostFramePointer = _innermostFramePointer; 1734return new BoundBadExpression(F.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (8)
351return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType); 382return new BoundBadExpression(node.Syntax, 0, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType); 909private BoundExpression InitializerMemberSetter(Symbol symbol) 924private BoundExpression InitializerMemberGetter(Symbol symbol) 951var sym = ((BoundObjectInitializerMember)a.Left).MemberSymbol; 1091return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type); 1098return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type); 1130return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\ClosureConversion\LambdaCapturedVariable.cs (5)
46public static LambdaCapturedVariable Create(SynthesizedClosureEnvironment frame, Symbol captured, ref int uniqueId) 58private static bool IsThis(Symbol captured) 68private static bool IsThis(Symbol captured, out ParameterSymbol? parameter) 76private static string GetCapturedVariableFieldName(Symbol variable, ref int uniqueId) 116private static TypeSymbol GetCapturedVariableFieldType(SynthesizedContainer frame, Symbol variable)
Lowering\ClosureConversion\SynthesizedClosureEnvironment.cs (5)
36private ArrayBuilder<Symbol> _membersBuilder = ArrayBuilder<Symbol>.GetInstance(); 37private ImmutableArray<Symbol> _members; 110public override ImmutableArray<Symbol> GetMembers() 140public override Symbol ContainingSymbol => TopLevelMethod.ContainingSymbol;
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
206private void CheckReferenceToVariable(BoundExpression node, Symbol symbol) 210if (_staticLocalOrAnonymousFunction is object && Symbol.IsCaptured(symbol, _staticLocalOrAnonymousFunction))
Lowering\DiagnosticsPass_Warnings.cs (4)
21private void CheckArguments(ImmutableArray<RefKind> argumentRefKindsOpt, ImmutableArray<BoundExpression> arguments, Symbol method) 56private void CheckFieldAddress(BoundFieldAccess fieldAccess, Symbol consumerOpt) 151private bool IsInterlockedAPI(Symbol method) 365foreach (var sym in t.GetMembers(opName))
Lowering\ExtensionMethodBodyRewriter.cs (12)
23private ImmutableDictionary<Symbol, Symbol> _symbolMap; 38_symbolMap = ImmutableDictionary<Symbol, Symbol>.Empty.WithComparers(ReferenceEqualityComparer.Instance, ReferenceEqualityComparer.Instance); 51private (RewrittenMethodSymbol, ImmutableDictionary<Symbol, Symbol>) EnterMethod(MethodSymbol symbol, RewrittenMethodSymbol rewritten, ReadOnlySpan<ParameterSymbol> rewrittenParameters) 53ImmutableDictionary<Symbol, Symbol> saveSymbolMap = _symbolMap; 73private (RewrittenMethodSymbol, ImmutableDictionary<Symbol, Symbol>) EnterMethod(MethodSymbol symbol, RewrittenLambdaOrLocalFunctionSymbol rewritten) 123ImmutableDictionary<Symbol, Symbol> saveSymbolMap = _symbolMap;
Lowering\ExtensionMethodReferenceRewriter.cs (1)
254if (Symbol.Equals(method, node.Method, TypeCompareKind.AllIgnoreOptions) && TypeSymbol.Equals(constrainedToType, node.ConstrainedToType, TypeCompareKind.AllIgnoreOptions))
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (6)
204private MethodSymbol? GetLocalOrParameterStoreLogger(TypeSymbol variableType, Symbol targetSymbol, bool? refAssignmentSourceIsLocal, SyntaxNode syntax) 392if (!TryGetLocalOrParameterInfo(original.Left, out var targetSymbol, out var targetType, out var targetIndex)) 413private bool TryGetLocalOrParameterInfo(BoundNode node, [NotNullWhen(true)] out Symbol? symbol, [NotNullWhen(true)] out TypeSymbol? type, [NotNullWhen(true)] out BoundExpression? indexExpression) 441Symbol targetSymbol, 490private BoundExpression VariableRead(Symbol localOrParameterSymbol) 602if (!TryGetLocalOrParameterInfo(arguments[i], out var targetSymbol, out var targetType, out var targetIndex))
Lowering\Instrumentation\ModuleCancellationInstrumenter.cs (1)
166foreach (var member in methodDefinition.ContainingType.GetMembers(method.Name))
Lowering\IteratorRewriter\IteratorFinallyMethodSymbol.cs (2)
179public override Symbol AssociatedSymbol 199public override Symbol ContainingSymbol
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (2)
62IReadOnlySet<Symbol> hoistedVariables, 63IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> nonReusableLocalProxies,
Lowering\IteratorRewriter\IteratorRewriter.cs (3)
139private Symbol EnsureSpecialMember(SpecialMember member, BindingDiagnosticBag bag) 141Symbol symbol; 312protected override BoundStatement GenerateStateMachineCreation(LocalSymbol stateMachineVariable, NamedTypeSymbol frameType, IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> proxies)
Lowering\LocalRewriter\DelegateCacheContainer.cs (3)
17private readonly Symbol _containingSymbol; 31internal DelegateCacheContainer(NamedTypeSymbol containingType, Symbol owner, int topLevelMethodOrdinal, int ownerUniqueId, int generationOrdinal) 46public override Symbol ContainingSymbol => _containingSymbol;
Lowering\LocalRewriter\DelegateCacheRewriter.cs (6)
24private Dictionary<Symbol, DelegateCacheContainer>? _genericCacheContainers; 92if (!TryGetOwnerFunctionOrExtensionType(_factory.CurrentFunction, boundDelegateCreation, out Symbol? owner)) 107var containers = _genericCacheContainers ??= new Dictionary<Symbol, DelegateCacheContainer>(ReferenceEqualityComparer.Instance); 123private static bool TryGetOwnerFunctionOrExtensionType(MethodSymbol currentFunction, BoundDelegateCreationExpression boundDelegateCreation, [NotNullWhen(true)] out Symbol? owner) 141Symbol? enclosingSymbol = currentFunction; 182Symbol? enclosingSymbol = currentFunction;
Lowering\LocalRewriter\DynamicSiteContainer.cs (2)
26public override Symbol ContainingSymbol 30var containingSymbol = _topLevelMethod.ContainingSymbol;
Lowering\LocalRewriter\LocalRewriter.cs (3)
593return new BoundBadExpression(syntax, LookupResultKind.NotReferencable, ImmutableArray<Symbol?>.Empty, children, resultType); 596private bool TryGetWellKnownTypeMember<TSymbol>(SyntaxNode? syntax, WellKnownMember member, [NotNullWhen(true)] out TSymbol? symbol, bool isOptional = false, Location? location = null) where TSymbol : Symbol 1144private BoundExpression ConvertReceiverForExtensionMemberIfNeeded(Symbol member, BoundExpression receiver, bool markAsChecked)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (3)
852var lengthMember = stringPatternInput switch 865var charsMember = stringPatternInput switch 936var charsMember = stringPatternInput switch
Lowering\LocalRewriter\LocalRewriter_Call.cs (5)
665Symbol methodOrIndexer, 949private RefKind GetNewExtensionMemberReceiverCaptureRefKind(BoundExpression rewrittenReceiver, Symbol methodOrIndexer) 1060Symbol methodOrIndexer, 1272Symbol methodOrIndexer, 1301static NamedTypeSymbol? tryGetReceiverNamedType(Symbol methodOrIndexer, bool invokedAsExtensionMethod)
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (3)
256static bool IsNewExtensionMemberWithByValPossiblyStructReceiver(Symbol symbol) 261private BoundExpression? TransformPropertyOrEventReceiver(Symbol propertyOrEvent, BoundExpression? receiverOpt, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps) 590private bool TransformCompoundAssignmentFieldOrEventAccessReceiver(Symbol fieldOrEvent, ref BoundExpression? receiver, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps)
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (4)
112PooledHashSet<Symbol>? visitedSymbols = null; 152static bool canReorderTargetAssignments(ArrayBuilder<Binder.DeconstructionVariable> targets, ref PooledHashSet<Symbol>? visitedSymbols) 165Symbol? symbol; 184visitedSymbols ??= PooledHashSet<Symbol>.GetInstance();
Lowering\LocalRewriter\LocalRewriter_Event.cs (5)
128clearCall = new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(removeDelegate), ErrorTypeSymbol.UnknownResultType); 170marshalCall = new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, marshalArguments, ErrorTypeSymbol.UnknownResultType); 265getOrCreateCall = new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(fieldAccess), ErrorTypeSymbol.UnknownResultType); 287return new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(getOrCreateCall), ErrorTypeSymbol.UnknownResultType); 333return new BoundBadExpression(node.Syntax, LookupResultKind.NotCreatable, ImmutableArray.Create<Symbol?>(node.Event),
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (2)
485helperCall = new BoundBadExpression(fixedInitializer.Syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType); 546lengthCall = new BoundBadExpression(fixedInitializer.Syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(factory.Local(pinnedTemp)), ErrorTypeSymbol.UnknownResultType);
Lowering\LocalRewriter\LocalRewriter_Literal.cs (1)
76Symbol? useField = null;
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (2)
117exitCallExpr = new BoundBadExpression(lockSyntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(boundLockTemp), ErrorTypeSymbol.UnknownResultType); 212enterCallExpr = new BoundBadExpression(lockSyntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(boundLockTemp), ErrorTypeSymbol.UnknownResultType);
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (4)
217var property = left.MemberSymbol; 389newGuid = new BoundBadExpression(node.Syntax, LookupResultKind.NotCreatable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType); 407callGetTypeFromCLSID = new BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType); 419rewrittenObjectCreation = new BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, node.Type);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
695var memberSymbol = rewrittenLeft.MemberSymbol;
Lowering\LocalRewriter\LocalRewriter_StackAlloc.cs (1)
70symbols: ImmutableArray<Symbol?>.Empty,
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
624foreach (var member in typeToStringMembers)
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (1)
228: new BoundBadExpression(syntax, LookupResultKind.Empty, symbols: ImmutableArray<Symbol?>.Empty, childBoundNodes: ImmutableArray<BoundExpression>.Empty, type);
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
463disposeCall = new BoundBadExpression(resourceSyntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(disposedExpression), ErrorTypeSymbol.UnknownResultType);
Lowering\LocalRewriter\LoweredDynamicOperation.cs (1)
55var bad = new BoundBadExpression(children[0].Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, children, resultType);
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (1)
527var binderFactory = _factory.WellKnownMember(factoryMethod);
Lowering\MethodToClassRewriter.cs (7)
24protected Dictionary<Symbol, CapturedSymbolReplacement> proxies = new Dictionary<Symbol, CapturedSymbolReplacement>(); 53protected abstract bool NeedsProxy(Symbol localOrParameter); 181private bool TryReplaceWithProxy(Symbol parameterOrLocal, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 236private bool TryGetHoistedField(Symbol variable, [NotNullWhen(true)] out FieldSymbol? field) 376foreach (var member in newType.GetMembers(property.Name)) 400var member = node.MemberSymbol;
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (17)
30private readonly OrderedSet<Symbol> _variablesToHoist = new OrderedSet<Symbol>(); 38private MultiDictionary<Symbol, SyntaxNode> _lazyDisallowedCaptures; 46private IteratorAndAsyncCaptureWalker(CSharpCompilation compilation, MethodSymbol method, BoundNode node, HashSet<Symbol> initiallyAssignedVariables, bool isRuntimeAsync) 58public static OrderedSet<Symbol> Analyze(CSharpCompilation compilation, MethodSymbol method, BoundNode node, bool isRuntimeAsync, DiagnosticBag diagnostics) 85var variable = kvp.Key; 120var variablesToHoist = new OrderedSet<Symbol>(); 126var symbol = v.Symbol; 143private static bool HoistInDebugBuild(Symbol symbol) 162var symbol = variableBySlot[i].Symbol; 216private void CaptureVariable(Symbol variable, SyntaxNode syntax) 234(_lazyDisallowedCaptures ??= new MultiDictionary<Symbol, SyntaxNode>()).Add(variable, syntax); 277protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration) 369private readonly HashSet<Symbol> _localsInScope; 379_localsInScope = new HashSet<Symbol>(); 408private void AddVariable(Symbol local) 443private void Capture(Symbol s, SyntaxNode syntax)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (5)
86private readonly IReadOnlySet<Symbol> _hoistedVariables; 105IReadOnlySet<Symbol> hoistedVariables, 106IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> nonReusableLocalProxies, 175protected override bool NeedsProxy(Symbol localOrParameter) 196internal IReadOnlySet<Symbol> HoistedVariables
Lowering\StateMachineRewriter\StateMachineRewriter.cs (10)
30protected IReadOnlyDictionary<Symbol, CapturedSymbolReplacement>? nonReusableLocalProxies; 33protected IOrderedReadOnlySet<Symbol>? hoistedVariables; 34protected Dictionary<Symbol, CapturedSymbolReplacement>? initialParameters; 86protected abstract BoundStatement GenerateStateMachineCreation(LocalSymbol stateMachineVariable, NamedTypeSymbol frameType, IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> proxies); 114initialParameters = new Dictionary<Symbol, CapturedSymbolReplacement>(); 137IEnumerable<Symbol> variablesToHoist, 138out IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> proxies, 142var proxiesBuilder = new Dictionary<Symbol, CapturedSymbolReplacement>(); 151foreach (var variable in variablesToHoist) 306protected BoundStatement GenerateParameterStorage(LocalSymbol stateMachineVariable, IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> proxies)
Lowering\StateMachineRewriter\StateMachineTypeSymbol.cs (1)
34public override Symbol ContainingSymbol
Lowering\StateMachineRewriter\SynthesizedStateMachineProperty.cs (1)
104public override Symbol ContainingSymbol
Lowering\SyntheticBoundNodeFactory.cs (9)
241return new BoundBadExpression(Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, type, hasErrors: true); 323public Symbol? WellKnownMember(WellKnownMember wm, bool isOptional) 325Symbol? wellKnownMember = Binder.GetWellKnownTypeMember(Compilation, wm, Diagnostics, syntax: Syntax, isOptional: true); 336public Symbol WellKnownMember(WellKnownMember wm) 358public Symbol SpecialMember(SpecialMember sm) 360var result = SpecialMember(sm, isOptional: false); 365public Symbol? SpecialMember(SpecialMember sm, bool isOptional = false) 367Symbol specialMember = Compilation.GetSpecialTypeMember(sm); 802return new BoundBadExpression(Syntax, default(LookupResultKind), ImmutableArray<Symbol?>.Empty, args.AsImmutable(), receiver);
Operations\CSharpOperationFactory.cs (3)
461private static TypeParameterSymbol? GetConstrainedToType(Symbol targetMember, BoundExpression? receiverOpt) 851Symbol? memberSymbol = boundObjectInitializerMember.MemberSymbol; 2892IPropertySubpatternOperation createPropertySubpattern(Symbol? symbol, IPatternOperation pattern, ITypeSymbol receiverType, SyntaxNode nameSyntax, bool isSingle)
Operations\CSharpOperationFactory_Methods.cs (4)
98internal IOperation? CreateReceiverOperation(BoundNode? instance, Symbol? symbol) 265Symbol methodOrIndexer, 291Symbol methodOrIndexer, 361Symbol methodOrIndexer,
Symbols\AliasSymbol.cs (6)
53private readonly Symbol _containingSymbol; 55protected AliasSymbol(string aliasName, Symbol containingSymbol, ImmutableArray<Location> locations, bool isExtern) 73internal static AliasSymbol CreateCustomDebugInfoAlias(NamespaceOrTypeSymbol targetSymbol, SyntaxToken aliasToken, Symbol containingSymbol, bool isExtern) 206public sealed override Symbol ContainingSymbol 243public override bool Equals(Symbol? obj, TypeCompareKind compareKind) 436internal AliasSymbolFromResolvedTarget(NamespaceOrTypeSymbol target, string aliasName, Symbol containingSymbol, ImmutableArray<Location> locations, bool isExtern)
Symbols\AnonymousTypes\AnonymousTypeManager.SymbolCollection.cs (3)
64private static void ReportErrorOnSymbol(Symbol symbol, BindingDiagnosticBag diagnostics, ref bool hasError) 74private static void ReportErrorOnSpecialMember(Symbol symbol, SpecialMember member, BindingDiagnosticBag diagnostics, ref bool hasError) 89private static void ReportErrorOnWellKnownMember(Symbol symbol, WellKnownMember member, BindingDiagnosticBag diagnostics, ref bool hasError)
Symbols\AnonymousTypes\AnonymousTypeManager.Templates.cs (6)
382var xOwner = x.ContainingSymbol; 383var yOwner = y.ContainingSymbol; 399static bool isContainedIn(Symbol symbol, Symbol container) 401var other = symbol.ContainingSymbol; 744foreach (var member in ((NamedTypeSymbol)translatedType.OriginalDefinition).GetMembers(method.Name))
Symbols\AnonymousTypes\PublicSymbols\AnonymousManager.TypeOrDelegatePublicSymbol.cs (3)
52internal sealed override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 57internal sealed override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 62public sealed override Symbol ContainingSymbol
Symbols\AnonymousTypes\PublicSymbols\AnonymousType.DelegatePublicSymbol.cs (5)
17private ImmutableArray<Symbol> _lazyMembers; 43public override ImmutableArray<Symbol> GetMembers() 52private ImmutableArray<Symbol> CreateMembers() 68return ImmutableArray.Create<Symbol>(constructor, invokeMethod); 71public override ImmutableArray<Symbol> GetMembers(string name) => GetMembers().WhereAsArray((member, name) => member.Name == name, name);
Symbols\AnonymousTypes\PublicSymbols\AnonymousType.TypePublicSymbol.cs (9)
23private readonly ImmutableArray<Symbol> _members; 29private readonly MultiDictionary<string, Symbol> _nameToSymbols = new MultiDictionary<string, Symbol>(); 41var members = ArrayBuilder<Symbol>.GetInstance(membersCount); 58foreach (var symbol in _members) 85public override ImmutableArray<Symbol> GetMembers() 90public override ImmutableArray<Symbol> GetMembers(string name) 93var builder = ArrayBuilder<Symbol>.GetInstance(symbols.Count); 94foreach (var symbol in symbols)
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.DelegateTemplateSymbol.cs (5)
19private readonly ImmutableArray<Symbol> _members; 216private static ImmutableArray<Symbol> CreateMembers(MethodSymbol constructor, MethodSymbol invokeMethod) 217=> ImmutableArray.Create<Symbol>(constructor, invokeMethod); 233public override ImmutableArray<Symbol> GetMembers() => _members; 235public override ImmutableArray<Symbol> GetMembers(string name) => GetMembers().WhereAsArray((member, name) => member.Name == name, name);
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.FieldSymbol.cs (2)
72public override Symbol AssociatedSymbol 105public override Symbol ContainingSymbol
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.PropertyAccessorSymbol.cs (1)
54public override Symbol AssociatedSymbol
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.PropertySymbol.cs (2)
166public override Symbol ContainingSymbol 206public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.SynthesizedMethodBase.cs (2)
41public sealed override Symbol ContainingSymbol 138public override Symbol AssociatedSymbol
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TemplateSymbol.cs (10)
27private readonly ImmutableArray<Symbol> _members; 37private readonly MultiDictionary<string, Symbol> _nameToSymbols = new MultiDictionary<string, Symbol>(); 48var membersBuilder = ArrayBuilder<Symbol>.GetInstance(membersCount); 81foreach (var symbol in _members) 108public override ImmutableArray<Symbol> GetMembers() 115foreach (var m in this.GetMembers()) 126public override ImmutableArray<Symbol> GetMembers(string name) 129var builder = ArrayBuilder<Symbol>.GetInstance(symbols.Count); 130foreach (var symbol in symbols)
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeOrDelegateTemplateSymbol.cs (3)
130internal sealed override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 135internal sealed override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 140public sealed override Symbol ContainingSymbol
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeParameterSymbol.cs (1)
127public override Symbol ContainingSymbol
Symbols\ArrayTypeSymbol.cs (6)
264public override ImmutableArray<Symbol> GetMembers() 266return ImmutableArray<Symbol>.Empty; 269public override ImmutableArray<Symbol> GetMembers(string name) 271return ImmutableArray<Symbol>.Empty; 305public override Symbol? ContainingSymbol 466internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\AssemblySymbol.cs (3)
300public sealed override Symbol ContainingSymbol 1067internal virtual Symbol GetDeclaredSpecialTypeMember(SpecialMember member) 1075internal virtual Symbol GetSpecialTypeMember(SpecialMember member)
Symbols\Attributes\AttributeData.cs (6)
213internal void DecodeSecurityAttribute<T>(Symbol targetSymbol, CSharpCompilation compilation, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData, AttributeLocation> arguments) 288foreach (Symbol foundMember in type.GetMembers(memberName)) 337private DeclarativeSecurityAction DecodeSecurityAttributeAction(Symbol targetSymbol, CSharpCompilation compilation, AttributeSyntax? nodeOpt, out bool hasErrors, BindingDiagnosticBag diagnostics) 380private DeclarativeSecurityAction DecodeSecurityAction(TypedConstant typedValue, Symbol targetSymbol, AttributeSyntax? nodeOpt, BindingDiagnosticBag diagnostics, out bool hasErrors) 651foreach (var member in AttributeClass.GetMembers(memberName)) 670internal bool ShouldEmitAttribute(Symbol target, bool isReturnType, bool emittingAssemblyAttributesInNetModule)
Symbols\BaseTypeAnalysis.cs (6)
24var hs = PooledHashSet<Symbol>.GetInstance(); 33private static void TypeDependsClosure(NamedTypeSymbol type, CSharpCompilation currentCompilation, HashSet<Symbol> partialClosure) 114foreach (var member in type.GetMembersUnordered()) 153var hs = PooledHashSet<Symbol>.GetInstance(); 173static (bool definitelyManaged, bool hasGenerics) dependsOnDefinitelyManagedType(NamedTypeSymbol type, HashSet<Symbol> partialClosure, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 180foreach (var member in type.GetInstanceFieldsAndEvents())
Symbols\Compilation_UsedAssemblies.cs (1)
38Symbol? symbol = GetBoundReferenceManager().GetReferencedAssemblySymbol(reference);
Symbols\Compilation_WellKnownMembers.cs (12)
32private Symbol?[]? _lazyWellKnownTypeMembers; 77internal Symbol? GetWellKnownTypeMember(WellKnownMember member) 88var wellKnownTypeMembers = new Symbol[(int)WellKnownMember.Count]; 102Symbol? result = null; 247internal static Symbol? GetRuntimeMember(NamedTypeSymbol declaringType, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt) 253internal static Symbol? GetRuntimeMember(ImmutableArray<Symbol> members, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt) 259Symbol? result = null; 290foreach (var member in members) 298!(member.DeclaredAccessibility == Accessibility.Public || (accessWithinOpt is object && Symbol.IsSymbolAccessible(member, accessWithinOpt)))) 420var wellKnownMember = Binder.GetWellKnownTypeMember(this, arg.Key, useSiteInfo: out _, isOptional: true); 701var member = Binder.GetWellKnownTypeMember(this, attributeCtor,
Symbols\ConstantValueUtils.cs (1)
80Symbol thisSymbol,
Symbols\ConstraintsHelper.cs (10)
898this Symbol constructedContainingSymbol, 950Symbol containingSymbol, 1056Symbol constructedContainingSymbol, 1093if (typeArgument.Type is NamedTypeSymbol { IsInterface: true } iface && SelfOrBaseHasStaticAbstractMember(iface, ref useSiteInfo, out Symbol member)) 1120static bool errorIfNotSatisfiesConstructorConstraint(Symbol containingSymbol, TypeParameterSymbol typeParameter, TypeWithAnnotations typeArgument, ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder) 1144Symbol containingSymbol, 1167Symbol containingSymbol, 1410private static bool SelfOrBaseHasStaticAbstractMember(NamedTypeSymbol iface, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out Symbol memberWithoutImplementation) 1414foreach (Symbol m in iface.GetMembers()) 1425foreach (Symbol m in baseInterface.GetMembers())
Symbols\ConstructedNamedTypeSymbol.cs (2)
30internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 113internal sealed override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\DiscardSymbol.cs (2)
21public override Symbol? ContainingSymbol => null; 38public override bool Equals(Symbol? obj, TypeCompareKind compareKind) => obj is DiscardSymbol other && this.TypeWithAnnotations.Equals(other.TypeWithAnnotations, compareKind);
Symbols\DynamicTypeSymbol.cs (6)
135public override ImmutableArray<Symbol> GetMembers() 137return ImmutableArray<Symbol>.Empty; 140public override ImmutableArray<Symbol> GetMembers(string name) 142return ImmutableArray<Symbol>.Empty; 170public override Symbol? ContainingSymbol 186internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\ErrorMethodSymbol.cs (2)
106public override Symbol ContainingSymbol 116public override Symbol AssociatedSymbol
Symbols\ErrorPropertySymbol.cs (3)
27private readonly Symbol _containingSymbol; 33public ErrorPropertySymbol(Symbol containingSymbol, TypeSymbol type, string name, bool isIndexer, bool isIndexedProperty) 42public override Symbol ContainingSymbol { get { return _containingSymbol; } }
Symbols\ErrorTypeSymbol.cs (12)
55public virtual ImmutableArray<Symbol> CandidateSymbols 59return ImmutableArray<Symbol>.Empty; 151public override ImmutableArray<Symbol> GetMembers() 155var result = MakeSynthesizedTupleMembers(ImmutableArray<Symbol>.Empty); 160return ImmutableArray<Symbol>.Empty; 168public override ImmutableArray<Symbol> GetMembers(string name) 178internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 183internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 250public override Symbol? ContainingSymbol 642public override ImmutableArray<Symbol> CandidateSymbols 701public override Symbol? ContainingSymbol 740public override Symbol ContainingSymbol
Symbols\ErrorTypeSymbol.ErrorTypeParameterSymbol.cs (1)
42public override Symbol ContainingSymbol
Symbols\EventSymbol.cs (2)
42protected sealed override Symbol OriginalSymbolDefinition 334public override bool Equals(Symbol? obj, TypeCompareKind compareKind)
Symbols\ExtendedErrorTypeSymbol.cs (11)
25private readonly ImmutableArray<Symbol> _candidateSymbols; // Best guess at what user meant, but was wrong. 52private ExtendedErrorTypeSymbol(NamespaceOrTypeSymbol? containingSymbol, string name, int arity, DiagnosticInfo? errorInfo, bool unreported, bool variableUsedBeforeDeclaration, ImmutableArray<Symbol> candidateSymbols, LookupResultKind resultKind) 69internal ExtendedErrorTypeSymbol(NamespaceOrTypeSymbol? containingSymbol, Symbol guessSymbol, LookupResultKind resultKind, DiagnosticInfo errorInfo, bool unreported = false) 70: this(containingSymbol, ImmutableArray.Create<Symbol>(guessSymbol), resultKind, errorInfo, GetArity(guessSymbol), unreported) 74internal ExtendedErrorTypeSymbol(NamespaceOrTypeSymbol? containingSymbol, ImmutableArray<Symbol> candidateSymbols, LookupResultKind resultKind, DiagnosticInfo errorInfo, int arity, bool unreported = false) 88private static ImmutableArray<Symbol> UnwrapErrorCandidates(ImmutableArray<Symbol> candidateSymbols) 115public override ImmutableArray<Symbol> CandidateSymbols => _candidateSymbols.NullToEmpty(); 151public override Symbol? ContainingSymbol 270foreach (Symbol sym in oldError._candidateSymbols) 312private static int GetArity(Symbol symbol)
Symbols\Extensions\ReceiverParameterSymbol.cs (1)
20public override Symbol ContainingSymbol
Symbols\Extensions\RewrittenLambdaOrLocalFunctionSymbol.cs (2)
23public override Symbol? AssociatedSymbol => null; 25public override Symbol ContainingSymbol => _containingMethod;
Symbols\Extensions\RewrittenMethodSymbol.cs (1)
125public sealed override Symbol ContainingSymbol
Symbols\Extensions\SourceExtensionImplementationMethodSymbol.cs (2)
67public sealed override Symbol ContainingSymbol => _originalMethod.ContainingType.ContainingSymbol; 119public override Symbol? AssociatedSymbol => null;
Symbols\FieldSymbol.cs (5)
47protected sealed override Symbol OriginalSymbolDefinition 86public abstract Symbol AssociatedSymbol { get; } 495Symbol found = CSharpCompilation.GetRuntimeMember(ImmutableArray.Create<Symbol>(this), descriptor, CSharpCompilation.SpecialMembersSignatureComparer.Instance, 513public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (4)
703public override bool Equals(Symbol other, TypeCompareKind compareKind) 800internal bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo? result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 817public override Symbol? ContainingSymbol => null; 825public override Symbol? AssociatedSymbol => null;
Symbols\FunctionPointers\FunctionPointerParameterSymbol.cs (2)
29public override Symbol ContainingSymbol => _containingSymbol; 40public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (6)
81public override Symbol? ContainingSymbol => null; 94public override ImmutableArray<Symbol> GetMembers() => ImmutableArray<Symbol>.Empty; 95public override ImmutableArray<Symbol> GetMembers(string name) => ImmutableArray<Symbol>.Empty; 157internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo? result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\FunctionTypeSymbol.cs (4)
112public override Symbol? ContainingSymbol => null; 138public override ImmutableArray<Symbol> GetMembers() => throw ExceptionUtilities.Unreachable(); 140public override ImmutableArray<Symbol> GetMembers(string name) => throw ExceptionUtilities.Unreachable(); 158internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) => throw ExceptionUtilities.Unreachable();
Symbols\LabelSymbol.cs (1)
153public override Symbol ContainingSymbol
Symbols\MemberSignatureComparer.cs (11)
34internal sealed class MemberSignatureComparer : IEqualityComparer<Symbol> 390public bool Equals(Symbol? member1, Symbol? member2) 503public int GetHashCode(Symbol? member) 539public static bool HaveSameReturnTypes(Symbol member1, TypeMap? typeMap1, Symbol member2, TypeMap? typeMap2, TypeCompareKind typeComparison) 590internal static TypeMap? GetTypeMap(Symbol member) 828private static Cci.CallingConvention GetCallingConvention(Symbol member) 842private static bool IsVarargMethod(Symbol member) 860internal static bool ConsideringTupleNamesCreatesDifference(Symbol member1, Symbol member2)
Symbols\MemberSymbolExtensions.cs (55)
26internal static bool HasParamsParameter(this Symbol member) 35internal static ImmutableArray<ParameterSymbol> GetParameters(this Symbol member) 53internal static ImmutableArray<TypeWithAnnotations> GetParameterTypes(this Symbol member) 68internal static bool GetIsVararg(this Symbol member) 83internal static bool GetIsNewExtensionMember(this Symbol member) 106internal static bool TryGetInstanceExtensionParameter(this Symbol symbol, [NotNullWhen(true)] out ParameterSymbol? extensionParameter) 121internal static int GetMemberArityIncludingExtension(this Symbol member) 131internal static ImmutableArray<TypeParameterSymbol> GetTypeParametersIncludingExtension<TMember>(this TMember member) where TMember : Symbol 152where TMember : Symbol 181internal static ImmutableArray<ParameterSymbol> GetParametersIncludingExtensionParameter(this Symbol symbol, bool skipExtensionIfStatic) 195internal static int GetParameterCountIncludingExtensionParameter(this Symbol symbol) 205internal static TMember ConstructIncludingExtension<TMember>(this TMember member, ImmutableArray<TypeWithAnnotations> typeArguments) where TMember : Symbol 220return (TMember)(Symbol)method.Construct(typeArguments[extension.Arity..]); 223return (TMember)(Symbol)method; 226return (TMember)(Symbol)method.Construct(typeArguments); 239return (TMember)(Symbol)property; 248internal static Symbol? GetReducedAndFilteredSymbol(this Symbol member, ImmutableArray<TypeWithAnnotations> typeArguments, TypeSymbol receiverType, CSharpCompilation compilation, bool checkFullyInferred) 318internal static ImmutableArray<RefKind> GetParameterRefKinds(this Symbol member) 333internal static int GetParameterCount(this Symbol member) 349internal static bool HasParameterContainingPointerType(this Symbol member) 362public static bool IsEventOrPropertyWithImplementableNonPublicAccessor(this Symbol symbol) 395public static bool IsAccessor(this Symbol symbol) 402var propertyOrEvent = methodSymbol.AssociatedSymbol; 411public static bool IsOperator(this Symbol symbol) 416public static bool IsIndexer(this Symbol symbol) 421public static bool IsIndexedProperty(this Symbol symbol) 426public static bool IsUserDefinedConversion(this Symbol symbol) 453public static int CustomModifierCount(this Symbol m) 502internal static Symbol SymbolAsMember(this Symbol s, NamedTypeSymbol newOwner) 524internal static int GetMemberArity(this Symbol symbol) 557internal static ImmutableArray<TypeParameterSymbol> GetMemberTypeParameters(this Symbol symbol) 575internal static ImmutableArray<TypeSymbol> GetMemberTypeArgumentsNoUseSiteDiagnostics(this Symbol symbol) 768internal static bool IsExplicitInterfaceImplementation(this Symbol member) 783internal static bool IsPartialMember(this Symbol member) 795internal static bool IsPartialImplementation(this Symbol member) 807internal static bool IsPartialDefinition(this Symbol member) 820internal static Symbol? GetPartialImplementationPart(this Symbol member) 832internal static Symbol? GetPartialDefinitionPart(this Symbol member) 845internal static bool ContainsTupleNames(this Symbol member) 862internal static ImmutableArray<Symbol> GetExplicitInterfaceImplementations(this Symbol member) 867return ((MethodSymbol)member).ExplicitInterfaceImplementations.Cast<MethodSymbol, Symbol>(); 869return ((PropertySymbol)member).ExplicitInterfaceImplementations.Cast<PropertySymbol, Symbol>(); 871return ((EventSymbol)member).ExplicitInterfaceImplementations.Cast<EventSymbol, Symbol>(); 873return ImmutableArray<Symbol>.Empty; 877internal static Symbol GetOverriddenMember(this Symbol member) 892internal static Symbol GetLeastOverriddenMember(this Symbol member, NamedTypeSymbol accessingTypeOpt) 913internal static bool IsFieldOrFieldLikeEvent(this Symbol member, out FieldSymbol field) 929internal static string GetMemberCallerName(this Symbol member)
Symbols\MergedNamespaceSymbol.cs (13)
43private readonly CachingDictionary<ReadOnlyMemory<char>, Symbol> _cachedLookup; 48private ImmutableArray<Symbol> _allMembers; 93_cachedLookup = new CachingDictionary<ReadOnlyMemory<char>, Symbol>(SlowGetChildrenOfName, SlowGetChildNames, ReadOnlyMemoryOfCharComparer.Instance); 119internal override void ForceComplete(SourceLocation locationOpt, Predicate<Symbol> filter, CancellationToken cancellationToken) 132private ImmutableArray<Symbol> SlowGetChildrenOfName(ReadOnlyMemory<char> name) 135var otherSymbols = ArrayBuilder<Symbol>.GetInstance(); 140foreach (Symbol childSymbol in namespaceSymbol.GetMembers(name)) 180foreach (var child in ns.GetMembersUnordered()) 213public override ImmutableArray<Symbol> GetMembers() 218var builder = ArrayBuilder<Symbol>.GetInstance(); 226public override ImmutableArray<Symbol> GetMembers(ReadOnlyMemory<char> name) 247public override Symbol ContainingSymbol 304foreach (var member in GetMembersUnordered())
Symbols\Metadata\PE\MemberRefMetadataDecoder.cs (3)
117internal Symbol FindMember(EntityHandle memberRefOrMethodDef, bool methodsOnly) 176foreach (Symbol member in targetTypeSymbol.GetMembers(targetMemberName)) 199foreach (Symbol member in targetTypeSymbol.GetMembers(targetMemberName))
Symbols\Metadata\PE\MetadataDecoder.cs (5)
21internal class MetadataDecoder : MetadataDecoder<PEModuleSymbol, TypeSymbol, MethodSymbol, FieldSymbol, Symbol> 494foreach (Symbol member in typeSymbol.GetMembersUnordered()) 519foreach (Symbol member in typeSymbol.GetMembersUnordered()) 531internal override Symbol GetSymbolForMemberRef(MemberReferenceHandle memberRef, TypeSymbol scope = null, bool methodsOnly = false) 566var definition = memberRefDecoder.FindMember(memberRef, methodsOnly);
Symbols\Metadata\PE\NullableTypeDecoder.cs (2)
24Symbol accessSymbol, 25Symbol nullableContext)
Symbols\Metadata\PE\PEEventSymbol.cs (1)
217public override Symbol ContainingSymbol
Symbols\Metadata\PE\PEFieldSymbol.cs (2)
162public override Symbol ContainingSymbol 449public override Symbol AssociatedSymbol
Symbols\Metadata\PE\PEGlobalNamespaceSymbol.cs (1)
36public override Symbol ContainingSymbol
Symbols\Metadata\PE\PEMethodSymbol.cs (4)
383private Symbol _associatedPropertyOrEventOpt; 444public override Symbol ContainingSymbol => _containingType; 800private bool SetAssociatedPropertyOrEvent(Symbol propertyOrEventSymbol, MethodKind methodKind) 963public override Symbol AssociatedSymbol => _associatedPropertyOrEventOpt;
Symbols\Metadata\PE\PEModuleSymbol.cs (2)
218public override Symbol ContainingSymbol 791internal bool ShouldDecodeNullableAttributes(Symbol symbol)
Symbols\Metadata\PE\PENamedTypeSymbol.cs (39)
55private ImmutableArray<Symbol> _lazyMembersInDeclarationOrder; 61private Dictionary<string, ImmutableArray<Symbol>> _lazyMembersByName; 493foreach (var member in @this.ContainingType.GetMembers(method.Name)) 577Symbol s = _container; 831public override Symbol ContainingSymbol 1140public override ImmutableArray<Symbol> GetMembers() 1194ImmutableArray<Symbol> staticFields = GetMembers(); 1304ImmutableArray<Symbol> members = GetMembers(); 1407internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 1412internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 1417private class DeclarationOrderTypeSymbolComparer : IComparer<Symbol> 1423public int Compare(Symbol x, Symbol y) 1513ArrayBuilder<Symbol> members = null; 1519members = ArrayBuilder<Symbol>.GetInstance(); 1568ArrayBuilder<Symbol> nonFieldMembers = ArrayBuilder<Symbol>.GetInstance(); 1644Symbol previous = null; 1646foreach (var s in members) 1654Symbol current = s; 1689members = ArrayBuilder<Symbol>.GetInstance(); 1690foreach (var member in _lazyMembersInDeclarationOrder) 1700Dictionary<string, ImmutableArray<Symbol>> membersDict = GroupByName(members); 1733internal override ImmutableArray<Symbol> GetSimpleNonTypeMembers(string name) 1737ImmutableArray<Symbol> m; 1740m = ImmutableArray<Symbol>.Empty; 1746public override ImmutableArray<Symbol> GetMembers(string name) 1750ImmutableArray<Symbol> m; 1753m = ImmutableArray<Symbol>.Empty; 1760m = m.Concat(StaticCast<Symbol>.From(t)); 2343private PooledDictionary<MethodDefinitionHandle, PEMethodSymbol> CreateMethods(ArrayBuilder<Symbol> members) 2378private void CreateProperties(Dictionary<MethodDefinitionHandle, PEMethodSymbol> methodHandleToSymbol, ArrayBuilder<Symbol> members) 2418ArrayBuilder<Symbol> members) 2469private static Dictionary<string, ImmutableArray<Symbol>> GroupByName(ArrayBuilder<Symbol> symbols) 2849private static int GetIndexOfFirstMember(ImmutableArray<Symbol> members, SymbolKind kind) 2866private static IEnumerable<TSymbol> GetMembers<TSymbol>(ImmutableArray<Symbol> members, SymbolKind kind, int offset = -1) 2867where TSymbol : Symbol 2876var member = members[i];
Symbols\Metadata\PE\PENamespaceSymbol.cs (11)
52private ImmutableArray<Symbol> _lazyFlattenedNamespacesAndTypes; 64Constraint = "Provide " + nameof(ArrayBuilder<Symbol>) + " capacity to reduce number of allocations.", 66public sealed override ImmutableArray<Symbol> GetMembers() 76ImmutableArray<Symbol> calculateMembers() 81return StaticCast<Symbol>.From(memberTypes); 83var builder = ArrayBuilder<Symbol>.GetInstance(memberTypes.Length + lazyNamespaces.Count); 120public sealed override ImmutableArray<Symbol> GetMembers(ReadOnlyMemory<char> name) 132return StaticCast<Symbol>.From(t).Add(ns); 136return ImmutableArray.Create<Symbol>(ns); 141return StaticCast<Symbol>.From(t); 144return ImmutableArray<Symbol>.Empty;
Symbols\Metadata\PE\PENestedNamespaceSymbol.cs (1)
84public override Symbol ContainingSymbol
Symbols\Metadata\PE\PEParameterSymbol.cs (12)
152private readonly Symbol _containingSymbol; 197Symbol nullableContext, 225Symbol nullableContext, 236Symbol containingSymbol, 241Symbol nullableContext, 316var accessSymbol = containingSymbol.Kind == SymbolKind.Property ? containingSymbol.ContainingSymbol : containingSymbol; 377Symbol containingSymbol, 384Symbol nullableContext, 424Symbol containingSymbol, 430Symbol nullableContext, 513public override Symbol ContainingSymbol 1200public sealed override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\Metadata\PE\PEPropertySymbol.cs (2)
398public override Symbol ContainingSymbol 913Symbol nullableContext;
Symbols\Metadata\PE\PETypeParameterSymbol.cs (5)
28private readonly Symbol _containingSymbol; // Could be PENamedType or a PEMethod 52: this(moduleSymbol, (Symbol)definingNamedType, ordinal, handle) 61: this(moduleSymbol, (Symbol)definingMethod, ordinal, handle) 67Symbol definingSymbol, 138public override Symbol ContainingSymbol
Symbols\Metadata\PE\PEUtilities.cs (1)
11internal static DiagnosticInfo? DeriveCompilerFeatureRequiredAttributeDiagnostic(Symbol symbol, PEModuleSymbol module, EntityHandle handle, CompilerFeatureRequiredFeatures allowedFeatures, MetadataDecoder decoder)
Symbols\MetadataOrSourceAssemblySymbol.cs (4)
175private Symbol[] _lazySpecialTypeMembers; 181internal override Symbol GetDeclaredSpecialTypeMember(SpecialMember member) 194var specialTypeMembers = new Symbol[(int)SpecialMember.Count]; 206Symbol result = null;
Symbols\MethodSymbol.cs (3)
53protected sealed override Symbol OriginalSymbolDefinition 409public abstract Symbol AssociatedSymbol { get; } 1252public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\MethodSymbolExtensions.cs (2)
95public static bool CanBeHiddenByMember(this MethodSymbol hiddenMethod, Symbol hidingMember) 124private static bool CanBeHiddenByMethodPropertyOrType(MethodSymbol method, Symbol hidingMember)
Symbols\MissingAssemblySymbol.cs (2)
55internal override Symbol GetDeclaredSpecialTypeMember(SpecialMember member) 97public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\MissingMetadataTypeSymbol.cs (2)
236public override Symbol ContainingSymbol 429public override Symbol ContainingSymbol
Symbols\MissingModuleSymbol.cs (3)
90public override Symbol ContainingSymbol 111public override bool Equals(Symbol obj, TypeCompareKind compareKind) 233public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\MissingNamespaceSymbol.cs (7)
21private readonly Symbol _containingSymbol; 48public override Symbol ContainingSymbol 82public override bool Equals(Symbol obj, TypeCompareKind compareKind) 125public override ImmutableArray<Symbol> GetMembers() 127return ImmutableArray<Symbol>.Empty; 130public override ImmutableArray<Symbol> GetMembers(ReadOnlyMemory<char> name) 132return ImmutableArray<Symbol>.Empty;
Symbols\NamedTypeSymbol.cs (31)
28private static readonly ImmutableSegmentedDictionary<string, Symbol> RequiredMembersErrorSentinel = ImmutableSegmentedDictionary<string, Symbol>.Empty.Add("<error sentinel>", null!); 34private ImmutableSegmentedDictionary<string, Symbol> _lazyRequiredMembers = default; 210ImmutableArray<Symbol> candidates = GetSimpleNonTypeMembers(name); 217internal static void AddOperators(ArrayBuilder<MethodSymbol> operators, ImmutableArray<Symbol> candidates) 219foreach (var candidate in candidates) 265ImmutableArray<Symbol> instanceCandidates = includeInstance 267: ImmutableArray<Symbol>.Empty; 268ImmutableArray<Symbol> staticCandidates = includeStatic 270: ImmutableArray<Symbol>.Empty; 278foreach (Symbol candidate in instanceCandidates) 286foreach (Symbol candidate in staticCandidates) 307ImmutableArray<Symbol> candidates = GetSimpleNonTypeMembers(WellKnownMemberNames.Indexer); 317foreach (Symbol candidate in candidates) 352foreach (var member in members) 591internal ImmutableSegmentedDictionary<string, Symbol> AllRequiredMembers 599return ImmutableSegmentedDictionary<string, Symbol>.Empty; 613bool success = tryCalculateRequiredMembers(out ImmutableSegmentedDictionary<string, Symbol>.Builder? builder); 616? builder?.ToImmutable() ?? BaseTypeNoUseSiteDiagnostics?.AllRequiredMembers ?? ImmutableSegmentedDictionary<string, Symbol>.Empty 621bool tryCalculateRequiredMembers(out ImmutableSegmentedDictionary<string, Symbol>.Builder? requiredMembersBuilder) 629var baseAllRequiredMembers = BaseTypeNoUseSiteDiagnostics?.AllRequiredMembers ?? ImmutableSegmentedDictionary<string, Symbol>.Empty; 632foreach (var member in GetMembersUnordered()) 647if (baseAllRequiredMembers.TryGetValue(member.Name, out var existingMember)) 684public abstract override ImmutableArray<Symbol> GetMembers(); 691public abstract override ImmutableArray<Symbol> GetMembers(string name); 700internal virtual ImmutableArray<Symbol> GetSimpleNonTypeMembers(string name) 727internal virtual IEnumerable<Symbol> GetInstanceFieldsAndEvents() 732protected static Func<Symbol, bool> IsInstanceFieldOrEvent = symbol => 778internal abstract ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(); 788internal abstract ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name); 1476internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\NamespaceOrTypeSymbol.cs (3)
111public abstract ImmutableArray<Symbol> GetMembers(); 119internal virtual ImmutableArray<Symbol> GetMembersUnordered() 132public abstract ImmutableArray<Symbol> GetMembers(string name);
Symbols\NamespaceSymbol.cs (3)
269foreach (var sym in this.GetMembers(name)) 282public abstract ImmutableArray<Symbol> GetMembers(ReadOnlyMemory<char> name); 284public sealed override ImmutableArray<Symbol> GetMembers(string name)
Symbols\NativeIntegerTypeSymbol.cs (22)
27private ImmutableArray<Symbol> _lazyMembers; 43public override Symbol ContainingSymbol => _underlyingType.ContainingSymbol; 70public override ImmutableArray<Symbol> GetMembers() 78ImmutableArray<Symbol> makeMembers(ImmutableArray<Symbol> underlyingMembers) 80var builder = ArrayBuilder<Symbol>.GetInstance(); 81foreach (var underlyingMember in underlyingMembers) 141public override ImmutableArray<Symbol> GetMembers(string name) => GetMembers().WhereAsArray((member, name) => member.Name == name, name); 153internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => throw ExceptionUtilities.Unreachable(); 155internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) => throw ExceptionUtilities.Unreachable(); 250internal static bool EqualsHelper<TSymbol>(TSymbol symbol, Symbol? other, TypeCompareKind comparison, Func<TSymbol, Symbol> getUnderlyingSymbol) 251where TSymbol : Symbol 270internal static void VerifyEquality(Symbol symbolA, Symbol symbolB) 354public override Symbol ContainingSymbol => _container; 399public override Symbol? AssociatedSymbol => _associatedSymbol; 408public override bool Equals(Symbol? other, TypeCompareKind comparison) => NativeIntegerTypeSymbol.EqualsHelper(this, other, comparison, symbol => symbol.UnderlyingMethod); 447public override Symbol ContainingSymbol => _container; 467public override bool Equals(Symbol? other, TypeCompareKind comparison) => NativeIntegerTypeSymbol.EqualsHelper(this, other, comparison, symbol => symbol._underlyingParameter); 500public override Symbol ContainingSymbol => _container; 516public override bool Equals(Symbol? other, TypeCompareKind comparison) => NativeIntegerTypeSymbol.EqualsHelper(this, other, comparison, symbol => symbol._underlyingProperty);
Symbols\NonMissingModuleSymbol.cs (1)
100var involvedAssemblies = ImmutableArray.Create<Symbol>(ownerAssembly, dependentAssembly);
Symbols\ObsoleteAttributeHelpers.cs (9)
59private static ThreeState GetObsoleteContextState(Symbol symbol, bool forceComplete, Func<Symbol, ThreeState> getStateFromSymbol) 66var associatedSymbol = ((FieldSymbol)symbol).AssociatedSymbol; 98internal static ObsoleteDiagnosticKind GetObsoleteDiagnosticKind(Symbol symbol, Symbol containingMember, bool forceComplete = false) 130static ObsoleteDiagnosticKind getDiagnosticKind(Symbol containingMember, bool forceComplete, Func<Symbol, ThreeState> getStateFromSymbol) 152internal static DiagnosticInfo CreateObsoleteDiagnostic(Symbol symbol, BinderFlags location) 158static DiagnosticInfo createObsoleteDiagnostic(Symbol symbol, BinderFlags location)
Symbols\OverriddenOrHiddenMembersHelpers.cs (71)
84private static OverriddenOrHiddenMembersResult MakeOverriddenOrHiddenMembersWorker(Symbol member) 97Symbol associatedPropertyOrEvent = accessor.AssociatedSymbol; 134ArrayBuilder<Symbol> hiddenBuilder; 135ImmutableArray<Symbol> overriddenMembers; 138ImmutableArray<Symbol> hiddenMembers = hiddenBuilder == null ? ImmutableArray<Symbol>.Empty : hiddenBuilder.ToImmutableAndFree(); 142private static void FindOverriddenOrHiddenMembers(Symbol member, NamedTypeSymbol containingType, bool memberIsFromSomeCompilation, 143out ArrayBuilder<Symbol> hiddenBuilder, 144out ImmutableArray<Symbol> overriddenMembers) 146Symbol bestMatch = null; 151Symbol knownOverriddenMember = member switch 180public static Symbol FindFirstHiddenMemberIfAny(Symbol member, bool memberIsFromSomeCompilation) 182ArrayBuilder<Symbol> hiddenBuilder; 186Symbol result = hiddenBuilder?.FirstOrDefault(); 249ArrayBuilder<Symbol> hiddenBuilder = null; 253foreach (Symbol hiddenByProperty in hiddenOrOverriddenByProperty.HiddenMembers) 283ImmutableArray<Symbol> overriddenAccessors = ImmutableArray<Symbol>.Empty; 291ImmutableArray<Symbol> hiddenMembers = hiddenBuilder == null ? ImmutableArray<Symbol>.Empty : hiddenBuilder.ToImmutableAndFree(); 341ArrayBuilder<Symbol> hiddenBuilder = null; 345foreach (Symbol hiddenByEvent in hiddenOrOverriddenByEvent.HiddenMembers) 373ImmutableArray<Symbol> overriddenAccessors = ImmutableArray<Symbol>.Empty; 383ImmutableArray<Symbol> hiddenMembers = hiddenBuilder == null ? ImmutableArray<Symbol>.Empty : hiddenBuilder.ToImmutableAndFree(); 409internal static OverriddenOrHiddenMembersResult MakeInterfaceOverriddenOrHiddenMembers(Symbol member, bool memberIsFromSomeCompilation) 419ArrayBuilder<Symbol> hiddenBuilder = null; 428Symbol currTypeBestMatch; 430ArrayBuilder<Symbol> currTypeHiddenBuilder; 492ImmutableArray<Symbol> overriddenMembers = ImmutableArray<Symbol>.Empty; 496ArrayBuilder<Symbol> hiddenAndRelatedBuilder = null; 497foreach (Symbol hidden in hiddenBuilder) 508ImmutableArray<Symbol> hiddenMembers = hiddenBuilder == null ? ImmutableArray<Symbol>.Empty : hiddenBuilder.ToImmutableAndFree(); 533Symbol member, 536Symbol knownOverriddenMember, 538out Symbol currTypeBestMatch, 540out ArrayBuilder<Symbol> hiddenBuilder) 551IEqualityComparer<Symbol> exactMatchComparer = memberIsFromSomeCompilation 555IEqualityComparer<Symbol> fallbackComparer = memberIsFromSomeCompilation 562foreach (Symbol otherMember in currType.GetMembers(member.Name)) 674Symbol minCustomModifierMatch = currTypeBestMatch; 676foreach (Symbol otherMember in currType.GetMembers(member.Name)) 707Symbol overridingMember, 708Symbol representativeMember, 709out ImmutableArray<Symbol> overriddenMembers, 710ref ArrayBuilder<Symbol> hiddenBuilder) 712overriddenMembers = ImmutableArray<Symbol>.Empty; 723ArrayBuilder<Symbol> overriddenBuilder = ArrayBuilder<Symbol>.GetInstance(); 733overriddenMembers = ImmutableArray.Create<Symbol>(representativeMember); 753private static void AddHiddenMemberIfApplicable(ref ArrayBuilder<Symbol> hiddenBuilder, Symbol hidingMember, Symbol hiddenMember) 789private static void FindOtherOverriddenMethodsInContainingType(Symbol representativeMember, bool overridingMemberIsFromSomeCompilation, ArrayBuilder<Symbol> overriddenBuilder) 796foreach (Symbol otherMember in representativeMember.ContainingType.GetMembers(representativeMember.Name)) 851private static void FindOtherHiddenMembersInContainingType(Symbol hidingMember, Symbol representativeMember, ref ArrayBuilder<Symbol> hiddenBuilder) 858IEqualityComparer<Symbol> comparer = MemberSignatureComparer.CSharpCustomModifierOverrideComparer; 859foreach (Symbol otherMember in representativeMember.ContainingType.GetMembers(representativeMember.Name)) 871private static bool CanOverrideOrHide(Symbol member) 887private static bool TypeOrReturnTypeHasCustomModifiers(Symbol member) 909private static int CustomModifierCount(Symbol member) 991foreach (Symbol otherMethod in method.ContainingType.GetMembers(method.Name)) 1032foreach (Symbol otherMember in currType.GetMembers(method.Name)) 1070private static bool IsOverriddenSymbolAccessible(Symbol overridden, NamedTypeSymbol overridingContainingType)
Symbols\OverriddenOrHiddenMembersResult.cs (17)
23ImmutableArray<Symbol>.Empty, 24ImmutableArray<Symbol>.Empty); 26private readonly ImmutableArray<Symbol> _overriddenMembers; 27public ImmutableArray<Symbol> OverriddenMembers { get { return _overriddenMembers; } } 29private readonly ImmutableArray<Symbol> _hiddenMembers; 30public ImmutableArray<Symbol> HiddenMembers { get { return _hiddenMembers; } } 33ImmutableArray<Symbol> overriddenMembers, 34ImmutableArray<Symbol> hiddenMembers) 41ImmutableArray<Symbol> overriddenMembers, 42ImmutableArray<Symbol> hiddenMembers) 54internal static Symbol GetOverriddenMember(Symbol substitutedOverridingMember, Symbol overriddenByDefinitionMember) 85/// associated with a member within substituted type, <see cref="GetOverriddenMember(Symbol, Symbol)"/> 88internal Symbol GetOverriddenMember() 90foreach (var overriddenMember in _overriddenMembers)
Symbols\ParameterSymbol.cs (1)
38protected sealed override Symbol OriginalSymbolDefinition
Symbols\PointerTypeSymbol.cs (6)
135public override ImmutableArray<Symbol> GetMembers() 137return ImmutableArray<Symbol>.Empty; 140public override ImmutableArray<Symbol> GetMembers(string name) 142return ImmutableArray<Symbol>.Empty; 176public override Symbol? ContainingSymbol 297internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\PropertyOrEventSymbolExtensions.cs (1)
33private static ISet<T> GetSymbolsForExplicitlyImplementedAccessor<T>(MethodSymbol accessor) where T : Symbol
Symbols\PropertySymbol.cs (2)
49protected sealed override Symbol OriginalSymbolDefinition 454public override bool Equals(Symbol symbol, TypeCompareKind compareKind)
Symbols\PublicModel\AliasSymbol.cs (1)
19internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\ArrayTypeSymbol.cs (1)
31internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\DiscardSymbol.cs (1)
21internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\DynamicTypeSymbol.cs (1)
28internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\ErrorTypeSymbol.cs (1)
29internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\EventSymbol.cs (1)
22internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\FieldSymbol.cs (1)
24internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\FunctionPointerTypeSymbol.cs (1)
24internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\LabelSymbol.cs (1)
19internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\LocalSymbol.cs (1)
23internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\MethodSymbol.cs (1)
30internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\ModuleSymbol.cs (1)
22internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\NamespaceSymbol.cs (3)
23internal override CSharp.Symbol UnderlyingSymbol => _underlying; 43foreach (var n in _underlying.GetMembers()) 51foreach (var n in _underlying.GetMembers(name))
Symbols\PublicModel\NonErrorNamedTypeSymbol.cs (1)
30internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\NonSourceAssemblySymbol.cs (1)
23internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\ParameterSymbol.cs (1)
24internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\PointerTypeSymbol.cs (1)
30internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\PropertySymbol.cs (1)
24internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\RangeVariableSymbol.cs (1)
21internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\SourceAssemblySymbol.cs (1)
22internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\PublicModel\Symbol.cs (1)
17internal abstract CSharp.Symbol UnderlyingSymbol { get; }
Symbols\PublicModel\TypeParameterSymbol.cs (1)
31internal override CSharp.Symbol UnderlyingSymbol => _underlying;
Symbols\RangeVariableSymbol.cs (4)
20private readonly Symbol _containingSymbol; 22internal RangeVariableSymbol(string Name, Symbol containingSymbol, Location? location, bool isTransparent = false) 135public override Symbol ContainingSymbol 158public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\ReducedExtensionMethodSymbol.cs (5)
454public override Symbol ContainingSymbol 464public override Symbol AssociatedSymbol 587public override bool Equals(Symbol obj, TypeCompareKind compareKind) 630public override Symbol ContainingSymbol 683public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Retargeting\RetargetingEventSymbol.cs (1)
132public override Symbol? ContainingSymbol
Symbols\Retargeting\RetargetingFieldSymbol.cs (3)
65public override Symbol ContainingSymbol 112public override Symbol AssociatedSymbol 116var associated = _underlyingField.AssociatedSymbol;
Symbols\Retargeting\RetargetingMethodSymbol.cs (3)
186public override Symbol AssociatedSymbol 190var associatedPropertyOrEvent = _underlyingMethod.AssociatedSymbol; 195public override Symbol ContainingSymbol
Symbols\Retargeting\RetargetingModuleSymbol.cs (1)
160public override Symbol ContainingSymbol
Symbols\Retargeting\RetargetingNamedTypeSymbol.cs (6)
153public override ImmutableArray<Symbol> GetMembers() 158internal override ImmutableArray<Symbol> GetMembersUnordered() 163public override ImmutableArray<Symbol> GetMembers(string name) 217internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 222internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 247public override Symbol ContainingSymbol
Symbols\Retargeting\RetargetingNamespaceSymbol.cs (8)
73public override ImmutableArray<Symbol> GetMembers() 78private ImmutableArray<Symbol> RetargetMembers(ImmutableArray<Symbol> underlyingMembers) 80var builder = ArrayBuilder<Symbol>.GetInstance(underlyingMembers.Length); 82foreach (Symbol s in underlyingMembers) 96internal override ImmutableArray<Symbol> GetMembersUnordered() 101public override ImmutableArray<Symbol> GetMembers(ReadOnlyMemory<char> name) 145public override Symbol ContainingSymbol
Symbols\Retargeting\RetargetingParameterSymbol.cs (5)
63public abstract override Symbol ContainingSymbol { get; } 129/// short circuits the overhead in <see cref="Symbol.DeclaringCompilation"/> and the extra virtual 183public override Symbol ContainingSymbol => _retargetingMethod; 205public override Symbol ContainingSymbol => _retargetingProperty; 227public override Symbol ContainingSymbol => _retargetingType;
Symbols\Retargeting\RetargetingPropertySymbol.cs (1)
192public override Symbol ContainingSymbol
Symbols\Retargeting\RetargetingSymbolTranslator.cs (42)
31private readonly ConcurrentDictionary<Symbol, Symbol> _symbolMap = 32new ConcurrentDictionary<Symbol, Symbol>(concurrencyLevel: 2, capacity: 4); 34private readonly Func<Symbol, RetargetingMethodSymbol> _createRetargetingMethod; 35private readonly Func<Symbol, RetargetingNamespaceSymbol> _createRetargetingNamespace; 36private readonly Func<Symbol, RetargetingTypeParameterSymbol> _createRetargetingTypeParameter; 37private readonly Func<Symbol, RetargetingNamedTypeSymbol> _createRetargetingNamedType; 38private readonly Func<Symbol, FieldSymbol> _createRetargetingField; 39private readonly Func<Symbol, RetargetingPropertySymbol> _createRetargetingProperty; 40private readonly Func<Symbol, RetargetingEventSymbol> _createRetargetingEvent; 42private RetargetingMethodSymbol CreateRetargetingMethod(Symbol symbol) 48private RetargetingNamespaceSymbol CreateRetargetingNamespace(Symbol symbol) 54private RetargetingNamedTypeSymbol CreateRetargetingNamedType(Symbol symbol) 60private FieldSymbol CreateRetargetingField(Symbol symbol) 86private RetargetingPropertySymbol CreateRetargetingProperty(Symbol symbol) 92private RetargetingEventSymbol CreateRetargetingEvent(Symbol symbol) 98private RetargetingTypeParameterSymbol CreateRetargetingTypeParameter(Symbol symbol) 105: CSharpSymbolVisitor<RetargetOptions, Symbol> 118private ConcurrentDictionary<Symbol, Symbol> SymbolMap 162public Symbol Retarget(Symbol symbol) 827public ImmutableArray<Symbol> Retarget(ImmutableArray<Symbol> arr) 1029foreach (var retargetedMember in retargetedType.GetMembers(method.Name)) 1095foreach (var retargetedMember in retargetedType.GetMembers(property.Name)) 1114foreach (var retargetedMember in retargetedType.GetMembers(@event.Name)) 1317public override Symbol VisitModule(ModuleSymbol symbol, RetargetOptions options) 1324public override Symbol VisitNamespace(NamespaceSymbol symbol, RetargetOptions options) 1329public override Symbol VisitNamedType(NamedTypeSymbol symbol, RetargetOptions options) 1334public override Symbol VisitArrayType(ArrayTypeSymbol symbol, RetargetOptions options) 1339public override Symbol VisitPointerType(PointerTypeSymbol symbol, RetargetOptions options) 1344public override Symbol VisitFunctionPointerType(FunctionPointerTypeSymbol symbol, RetargetOptions argument) 1349public override Symbol VisitMethod(MethodSymbol symbol, RetargetOptions options) 1354public override Symbol VisitParameter(ParameterSymbol symbol, RetargetOptions options) 1359public override Symbol VisitField(FieldSymbol symbol, RetargetOptions options) 1364public override Symbol VisitProperty(PropertySymbol symbol, RetargetOptions argument) 1369public override Symbol VisitTypeParameter(TypeParameterSymbol symbol, RetargetOptions options) 1374public override Symbol VisitErrorType(ErrorTypeSymbol symbol, RetargetOptions options) 1379public override Symbol VisitEvent(EventSymbol symbol, RetargetOptions options) 1384public override Symbol VisitDynamicType(DynamicTypeSymbol symbol, RetargetOptions argument)
Symbols\Retargeting\RetargetingTypeParameterSymbol.cs (1)
55public override Symbol ContainingSymbol
Symbols\SignatureOnlyMethodSymbol.cs (2)
91public override Symbol ContainingSymbol { get { return _containingType; } } 133public override Symbol AssociatedSymbol { get { throw ExceptionUtilities.Unreachable(); } }
Symbols\SignatureOnlyParameterSymbol.cs (2)
97public override Symbol ContainingSymbol { get { throw ExceptionUtilities.Unreachable(); } } 113public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SignatureOnlyPropertySymbol.cs (1)
62public override Symbol ContainingSymbol { get { return _containingType; } }
Symbols\Source\CrefTypeParameterSymbol.cs (1)
169public override Symbol ContainingSymbol
Symbols\Source\ExplicitInterfaceHelpers.cs (12)
113public static ImmutableArray<T> SubstituteExplicitInterfaceImplementations<T>(ImmutableArray<T> unsubstitutedExplicitInterfaceImplementations, TypeMap map) where T : Symbol 124public static T SubstituteExplicitInterfaceImplementation<T>(T unsubstitutedPropertyImplemented, TypeMap map) where T : Symbol 132foreach (var candidateMember in explicitInterfaceType.GetMembers(name)) 175private static Symbol FindExplicitlyImplementedMember( 176Symbol implementingMember, 241Symbol implementedMember = null; 253foreach (Symbol interfaceMember in explicitInterfaceNamedType.GetMembers(interfaceMemberName)) 346this Symbol implementingMember, 347Symbol implementedMember, 378private static void FindExplicitImplementationCollisions(Symbol implementingMember, Symbol implementedMember, BindingDiagnosticBag diagnostics) 388foreach (Symbol collisionCandidateMember in explicitInterfaceType.GetMembers(implementedMember.Name))
Symbols\Source\ExtensionGroupingInfo.cs (2)
149foreach (var symbol in extension.GetMembers()) 816var unmanagedCtor = ((PEModuleBuilder)context.Module).TryGetSynthesizedIsUnmanagedAttribute()?.Constructors[0] ??
Symbols\Source\IndexedTypeParameterSymbol.cs (1)
184public override Symbol ContainingSymbol
Symbols\Source\LambdaSymbol.cs (5)
19private readonly Symbol _containingSymbol; 45Symbol containingSymbol, 183public override Symbol? AssociatedSymbol 255public override Symbol ContainingSymbol 378public sealed override bool Equals(Symbol symbol, TypeCompareKind compareKind)
Symbols\Source\LocalFunctionSymbol.cs (5)
20private readonly Symbol _containingSymbol; 40Symbol containingSymbol, 334public sealed override Symbol ContainingSymbol => _containingSymbol; 359public override Symbol? AssociatedSymbol => null; 531public sealed override bool Equals(Symbol symbol, TypeCompareKind compareKind)
Symbols\Source\ModifierUtils.cs (1)
486internal static bool CheckAccessibility(DeclarationModifiers modifiers, Symbol symbol, bool isExplicitInterfaceImplementation, BindingDiagnosticBag diagnostics, Location errorLocation)
Symbols\Source\ParameterHelpers.cs (17)
22Symbol owner, 30return MakeParameters<ParameterSyntax, SourceParameterSymbol, Symbol>( 41parameterCreationFunc: static (Binder context, Symbol owner, TypeWithAnnotations parameterType, 66Symbol owner, 70var parameterCreationFunc = static (Binder context, Symbol owner, TypeWithAnnotations parameterType, 181where TOwningSymbol : Symbol 263where TOwningSymbol : Symbol 484internal static void EnsureNullableAttributeExists(PEModuleBuilder moduleBuilder, Symbol container, ImmutableArray<ParameterSymbol> parameters) 489internal static void EnsureNullableAttributeExists(CSharpCompilation? compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation) 501private static void EnsureNullableAttributeExists(CSharpCompilation compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder) 522internal static void CheckUnderspecifiedGenericExtension(Symbol extensionMember, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics) 544static void reportUnusedExtensionTypeParameters(Symbol extensionMember, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, NamedTypeSymbol extension, ParameterSymbol extensionParameter, PooledHashSet<TypeParameterSymbol> usedTypeParameters) 825Symbol? owner, 832Symbol? containingSymbol, 897Symbol owner, 1100internal static MethodSymbol FindContainingGenericMethod(Symbol symbol) 1102for (Symbol current = symbol; (object)current != null; current = current.ContainingSymbol)
Symbols\Source\SourceAssemblySymbol.cs (5)
211internal override Symbol GetSpecialTypeMember(SpecialMember member) 906internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken) 1112foreach (Symbol member in mergedNs.GetMembers()) 2072foreach (var member in ns.GetMembersUnordered()) 2732Symbol associatedPropertyOrEvent = field.AssociatedSymbol;
Symbols\Source\SourceClonedParameterSymbol.cs (1)
25internal SourceClonedParameterSymbol(SourceParameterSymbol originalParam, Symbol newOwner, int newOrdinal, bool suppressOptional)
Symbols\Source\SourceComplexParameterSymbol.cs (4)
42Symbol owner, 1532internal override void ForceComplete(SourceLocation locationOpt, Predicate<Symbol> filter, CancellationToken cancellationToken) 1706Symbol owner, 1732Symbol owner,
Symbols\Source\SourceConstructorSymbol.cs (1)
266internal sealed override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken)
Symbols\Source\SourceDelegateMethodSymbol.cs (1)
48ArrayBuilder<Symbol> symbols,
Symbols\Source\SourceEnumConstantSymbol.cs (2)
66public override Symbol AssociatedSymbol 101internal sealed override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken)
Symbols\Source\SourceEventAccessorSymbol.cs (1)
94public sealed override Symbol AssociatedSymbol
Symbols\Source\SourceEventFieldSymbol.cs (1)
51public override Symbol AssociatedSymbol
Symbols\Source\SourceEventSymbol.cs (3)
76internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken) 98public sealed override Symbol ContainingSymbol 779foreach (Symbol interfaceMember in @interface.GetMembers(this.Name))
Symbols\Source\SourceFieldLikeEventSymbol.cs (1)
212internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken)
Symbols\Source\SourceFieldSymbol.cs (1)
98public sealed override Symbol ContainingSymbol
Symbols\Source\SourceFixedFieldSymbol.cs (7)
164public override Symbol ContainingSymbol 219public override ImmutableArray<Symbol> GetMembers() 221return ImmutableArray.Create<Symbol>(_constructor, _internalField); 224public override ImmutableArray<Symbol> GetMembers(string name) 227(name == _constructor.Name) ? ImmutableArray.Create<Symbol>(_constructor) : 228(name == FixedElementFieldName) ? ImmutableArray.Create<Symbol>(_internalField) : 229ImmutableArray<Symbol>.Empty;
Symbols\Source\SourceLabelSymbol.cs (2)
115public override Symbol ContainingSymbol 146public override bool Equals(Symbol? obj, TypeCompareKind compareKind)
Symbols\Source\SourceLocalSymbol.cs (11)
31private readonly Symbol _containingSymbol; 42Symbol containingSymbol, 136Symbol containingSymbol, 156Symbol containingSymbol, 201Symbol containingSymbol, 259public override Symbol ContainingSymbol 485public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind) 525Symbol containingSymbol, 626Symbol containingSymbol, 666Symbol containingSymbol, 730Symbol containingSymbol,
Symbols\Source\SourceMemberContainerSymbol.cs (193)
182private static readonly ObjectPool<PooledDictionary<Symbol, Symbol>> s_duplicateRecordMemberSignatureDictionary = 183PooledDictionary<Symbol, Symbol>.CreatePool(MemberSignatureComparer.RecordAPISignatureComparer); 205private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>? _lazyMembersDictionary; 206private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>? _lazyEarlyAttributeDecodingMembersDictionary; 212private ImmutableArray<Symbol> _lazyMembersFlattened; 293Symbol containingSymbol = this.ContainingSymbol; 549internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken) 653ImmutableArray<Symbol> members = this.GetMembersUnordered(); 659foreach (var member in members) 667foreach (var member in members) 740foreach (var member in membersAndInitializers.NonTypeMembers) 784public sealed override Symbol ContainingSymbol 916for (Symbol? container = this.ContainingType; !(container is null); container = container.ContainingType) 1069internal readonly ImmutableArray<Symbol> NonTypeMembers; 1078ImmutableArray<Symbol> nonTypeMembers, 1401private void CheckMemberNameDistinctFromType(Symbol member, BindingDiagnosticBag diagnostics) 1431static void checkContainingTypeName(Symbol member, string typeName, BindingDiagnosticBag diagnostics) 1439static void checkExtendedTypeName(Symbol member, string typeName, BindingDiagnosticBag diagnostics) 1472internal static bool HasAsyncMethodBuilderAttribute(Symbol symbol, [NotNullWhen(true)] out TypeSymbol? builderArgument) 1494internal override ImmutableArray<Symbol> GetMembersUnordered() 1508public override ImmutableArray<Symbol> GetMembers() 1530public sealed override ImmutableArray<Symbol> GetMembers(string name) 1532ImmutableArray<Symbol> members; 1538return ImmutableArray<Symbol>.Empty; 1549internal override ImmutableArray<Symbol> GetSimpleNonTypeMembers(string name) 1556return ImmutableArray<Symbol>.Empty; 1569foreach (var m in this.GetMembers()) 1599internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 1611internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 1613ImmutableArray<Symbol> result; 1614return GetEarlyAttributeDecodingMembersDictionary().TryGetValue(name.AsMemory(), out result) ? result : ImmutableArray<Symbol>.Empty; 1617private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> GetEarlyAttributeDecodingMembersDictionary() 1621if (Volatile.Read(ref _lazyMembersDictionary) is Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> result) 1631Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName; 1654private static Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> ToNameKeyedDictionary(ImmutableArray<Symbol> symbols) 1658return new Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>(1, ReadOnlyMemoryOfCharComparer.Instance) 1666return new Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>(ReadOnlyMemoryOfCharComparer.Instance); 1676foreach (var item in symbols) 1679var dictionary = new Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>(accumulator.Count, ReadOnlyMemoryOfCharComparer.Instance); 1684dictionary.Add(pair.Key, pair.Value is ArrayBuilder<Symbol> arrayBuilder 1686: ImmutableArray.Create((Symbol)pair.Value)); 1730internal void AssertMemberExposure(Symbol member, bool forDiagnostics = false) 1799static bool isMemberInCompleteMemberList(MembersAndInitializers? membersAndInitializers, Symbol member) 1806protected Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> GetMembersByName() 1816private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> GetMembersByNameSlow() 1834internal override IEnumerable<Symbol> GetInstanceFieldsAndEvents() 1838IEnumerable<Symbol> result = membersAndInitializers.NonTypeMembers.Where(IsInstanceFieldOrEvent); 1985foreach (var member in GetMembersAndInitializers().NonTypeMembers) 1999foreach (var member in GetMembers("Clone")) 2009Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 2058Symbol? lastSym = typesByName?.TryGetValue(name, out var types) == true ? types.FirstOrDefault() : null; 2062foreach (var symbol in pair.Value) 2266BindingDiagnosticBag diagnostics, Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName) 2279foreach (var symbol in members) 2335Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 2405Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 2407ImmutableArray<Symbol> membersUnordered, 2422Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>? membersByName; 2423ImmutableArray<Symbol> membersUnordered; 2434static (Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>? membersByName, ImmutableArray<Symbol> membersUnordered) mergeMembersInGroup(IGrouping<string, NamedTypeSymbol> grouping) 2436Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>? membersByName = null; 2437ImmutableArray<Symbol> membersUnordered = []; 2444Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByNameToMerge = ((SourceMemberContainerTypeSymbol)extension).GetMembersByName(); 2464membersByName = new Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>>(membersByName, ReadOnlyMemoryOfCharComparer.Instance); 2494static ImmutableArray<Symbol> concatMembers(ImmutableArray<Symbol> existingMembers, NamedTypeSymbol extension, ImmutableArray<Symbol> newMembers, ref ImmutableArray<Symbol> membersUnordered) 2504var membersBuilder = ArrayBuilder<Symbol>.GetInstance(existingMembers.Length + newMembers.Length); 2505var membersUnorderedBuilder = ArrayBuilder<Symbol>.GetInstance(membersUnordered.Length + newMembers.Length); 2510foreach (var member in newMembers) 2512Symbol toAdd = member.SymbolAsMember(extension); 2531foreach (var member in this.GetMembersUnordered()) 2552foreach (var dup in GetMembers(tp.Name)) 2563Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 2564ImmutableArray<Symbol> membersUnordered, 2569foreach (Symbol symbol in membersUnordered) 2638foreach (var member in valuesByName) 2673var symbol = field.AssociatedSymbol ?? field; 2695foreach (var member in valuesByName) 2715Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 2757Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 2796Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 2799if (membersByName.TryGetValue(operatorName1.AsMemory(), out ImmutableArray<Symbol> candidates)) 2930foreach (var member in GetMembersUnordered()) 2947foreach (var member in GetMembersUnordered()) 2975foreach (var m in this.GetMembersUnordered()) 3019foreach (var m in t.GetMembersUnordered()) 3123private Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> MakeAllMembers() 3125Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName; 3147Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 3152ImmutableArray<Symbol> typesAsSymbols = StaticCast<Symbol>.From(types); 3154ImmutableArray<Symbol> membersForName; 3168public ArrayBuilder<Symbol> NonTypeMembersWithPartialImplementations = ArrayBuilder<Symbol>.GetInstance(); 3229public readonly ImmutableArray<Symbol> NonTypeMembersWithPartialImplementations; 3238private ImmutableArray<Symbol> _lazyNonTypeMembers; 3247ImmutableArray<Symbol> nonTypeMembersWithPartialImplementations, 3307public ImmutableArray<Symbol> GetNonTypeMembers(SourceMemberContainerTypeSymbol container) 3320private ArrayBuilder<Symbol>? NonTypeMembers; 3429public IReadOnlyCollection<Symbol> GetNonTypeMembers(SourceMemberContainerTypeSymbol container, DeclaredMembersAndInitializers declaredMembers) 3431return NonTypeMembers ?? (IReadOnlyCollection<Symbol>)declaredMembers.GetNonTypeMembers(container); 3434public void AddNonTypeMember(SourceMemberContainerTypeSymbol container, Symbol member, DeclaredMembersAndInitializers declaredMembers) 3439NonTypeMembers = ArrayBuilder<Symbol>.GetInstance(declaredNonTypeMembers.Length + 1); 3446public void SetNonTypeMembers(ArrayBuilder<Symbol> members) 3581private void MergePartialMembersAndInitializeNonTypeMembers(ImmutableArray<Symbol> nonTypeMembersWithPartialImplementations, ref ImmutableArray<Symbol> nonTypeMembers) 3585foreach (Symbol member in nonTypeMembersWithPartialImplementations) 3605var nonTypeMembersBuilder = ArrayBuilder<Symbol>.GetInstance(nonTypeMembersWithPartialImplementations.Length); 3700ImmutableArray<Symbol> nonTypeMembersToCheck; 3719foreach (var member in nonTypeMembersToCheck) 3746internal ImmutableArray<Symbol> GetMembersToMatchAgainstDeclarationSpan() 3762internal ImmutableArray<Symbol> GetCandidateMembersForLookup(string name) 3770ImmutableArray<Symbol> nonTypeMembersToCheck; 3793ImmutableArray<Symbol> types = GetTypeMembers(name).Cast<NamedTypeSymbol, Symbol>(); 3794ArrayBuilder<Symbol>? memberBuilder = null; 3796foreach (var member in nonTypeMembersToCheck) 3805memberBuilder ??= ArrayBuilder<Symbol>.GetInstance(types.Length + 1); 3855foreach (var member in type.GetMembers()) 3968ArrayBuilder<Symbol> nonTypeMembers, 3972var membersBySignature = new Dictionary<Symbol, Symbol>(MemberSignatureComparer.PartialMethodsComparer); 3978if (pair.Value is ArrayBuilder<Symbol> arrayBuilder) 3980foreach (var symbol in arrayBuilder) 3984if (!membersBySignature.TryGetValue(symbol, out var prev)) 4024var symbol = (Symbol)pair.Value; 4029foreach (var symbol in membersBySignature.Values) 4087if (pair.Value is ArrayBuilder<Symbol> arrayBuilder) 4089foreach (var symbol in arrayBuilder) 4096fixupNotMergedPartialProperty((Symbol)pair.Value); 4100static void fixupNotMergedPartialProperty(Symbol symbol) 4109static void mergePartialMethods(ArrayBuilder<Symbol> nonTypeMembers, SourceOrdinaryMethodSymbol currentMethod, SourceOrdinaryMethodSymbol prevMethod, BindingDiagnosticBag diagnostics) 4129static void mergePartialProperties(ArrayBuilder<Symbol> nonTypeMembers, SourcePropertySymbol currentProperty, SourcePropertySymbol prevProperty, BindingDiagnosticBag diagnostics) 4153void mergeAccessors(ArrayBuilder<Symbol> nonTypeMembers, SourcePropertyAccessorSymbol? currentAccessor, SourcePropertyAccessorSymbol? prevAccessor) 4178static void mergePartialConstructors(ArrayBuilder<Symbol> nonTypeMembers, SourceConstructorSymbol currentConstructor, SourceConstructorSymbol prevConstructor, BindingDiagnosticBag diagnostics) 4198static void mergePartialEvents(ArrayBuilder<Symbol> nonTypeMembers, SourceEventSymbol currentEvent, SourceEventSymbol prevEvent, BindingDiagnosticBag diagnostics) 4219static void mergeAccessors(ArrayBuilder<Symbol> nonTypeMembers, SourceEventAccessorSymbol? currentAccessor, SourceEventAccessorSymbol? prevAccessor) 4234private static void FixPartialMethod(ArrayBuilder<Symbol> nonTypeMembers, SourceOrdinaryMethodSymbol part1, SourceOrdinaryMethodSymbol part2) 4256private static void FixPartialProperty(ArrayBuilder<Symbol> nonTypeMembers, SourcePropertySymbol part1, SourcePropertySymbol part2) 4284private static void FixPartialConstructor(ArrayBuilder<Symbol> nonTypeMembers, SourceConstructorSymbol part1, SourceConstructorSymbol part2) 4306private static void FixPartialEvent(ArrayBuilder<Symbol> nonTypeMembers, SourceEventSymbol part1, SourceEventSymbol part2) 4327private static void Remove(ArrayBuilder<Symbol> symbols, Symbol symbol) 4331Symbol s = symbols[i]; 4349Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 4370foreach (var symbol in membersByName.TryGetValue(accessorName.AsMemory(), out var members) ? members : []) 4400Dictionary<ReadOnlyMemory<char>, ImmutableArray<Symbol>> membersByName, 4409foreach (var symbol in membersByName.TryGetValue(accessorName.AsMemory(), out var members) ? members : []) 4437var locationFrom = (Symbol)(getNotSet ? propertySymbol.GetMethod : propertySymbol.SetMethod) ?? propertySymbol; 4446var locationFrom = (Symbol?)(isAdder ? propertySymbol.AddMethod : propertySymbol.RemoveMethod) ?? propertySymbol; 4557private static void CheckInterfaceMembers(ImmutableArray<Symbol> nonTypeMembers, BindingDiagnosticBag diagnostics) 4559foreach (var member in nonTypeMembers) 4565private static void CheckInterfaceMember(Symbol member, BindingDiagnosticBag diagnostics) 4612private static void CheckExtensionMembers(ImmutableArray<Symbol> members, BindingDiagnosticBag diagnostics) 4614foreach (var member in members) 4621static void checkExtensionMember(Symbol member, BindingDiagnosticBag diagnostics) 4630internal static bool IsAllowedExtensionMember(Symbol member) 4676ArrayBuilder<Symbol> members, 4680foreach (var s in members) 4722var symbol = initializer.FieldOpt.AssociatedSymbol ?? initializer.FieldOpt; 4750var members = ArrayBuilder<Symbol>.GetInstance(membersSoFar.Count + 1); 4770var fieldsByName = PooledDictionary<string, Symbol>.GetInstance(); 4772foreach (var member in membersSoFar) 4868void addDeconstruct(SynthesizedPrimaryConstructor ctor, ImmutableArray<Symbol> positionalMembers) 4891if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingDeconstructMethod)) 4939if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingConstructor)) 4970MethodSymbol addPrintMembersMethod(IEnumerable<Symbol> userDefinedMembers) 4992if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingPrintMembersMethod)) 5063if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingToStringMethod)) 5086var objectToString = this.DeclaringCompilation.GetSpecialTypeMember(SpecialMember.System_Object__ToString); 5090foreach (var member in currentBaseType.GetSimpleNonTypeMembers(WellKnownMemberNames.ObjectToString)) 5106ImmutableArray<Symbol> addProperties(ImmutableArray<ParameterSymbol> recordParameters) 5108var existingOrAddedMembers = ArrayBuilder<Symbol>.GetInstance(recordParameters.Length); 5123if (!memberSignatures.TryGetValue(targetProperty, out var existingMember) 5188bool checkMemberNotHidden(Symbol symbol, ParameterSymbol param) 5222if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingHashCodeMethod)) 5252if (!memberSignatures.TryGetValue(targetProperty, out Symbol? existingEqualityContractProperty)) 5321if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingEqualsMethod)) 5346void reportStaticOrNotOverridableAPIInRecord(Symbol symbol, BindingDiagnosticBag diagnostics) 5387foreach (var member in membersSoFar) 5469foreach (var synthesizedMember in synthesizedMembers) 5847private void AddAccessorIfAvailable(ArrayBuilder<Symbol> symbols, MethodSymbol? accessorOpt) 5896foreach (var member in GetMembersUnordered()) 6010foreach (var member in this.GetMembersUnordered())
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (32)
100foreach (var abstractMember in this.AbstractMembers) 134foreach (var interfaceMember in @interface.GetMembers()) 158MultiDictionary<Symbol, Symbol>.ValueSet explicitImpl = this.GetExplicitImplementationForInterfaceMember(interfaceMember); 178var implementingMember = implementingMemberAndDiagnostics.Symbol; 229var info = new CSDiagnosticInfo(ErrorCode.ERR_MixingWinRTEventWithRegular, args, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<Location>(this.GetFirstLocation())); 237var associatedPropertyOrEvent = interfaceMemberKind == SymbolKind.Method ? ((MethodSymbol)interfaceMember).AssociatedSymbol : null; 385private bool ReportAccessorOfInterfacePropertyOrEvent(Symbol interfacePropertyOrEvent) 395Symbol implementingPropertyOrEvent; 399MultiDictionary<Symbol, Symbol>.ValueSet explicitImpl = this.GetExplicitImplementationForInterfaceMember(interfacePropertyOrEvent); 528foreach (var member in this.GetMembersUnordered()) 670private void CheckNewModifier(Symbol symbol, bool isNew, BindingDiagnosticBag diagnostics) 702foreach (var hiddenMember in currType.GetMembers(symbol.Name)) 742Symbol overridingMember, 779Symbol associatedPropertyOrEvent = null; 868void checkSingleOverriddenMember(Symbol overridingMember, Symbol overriddenMember, BindingDiagnosticBag diagnostics, ref bool suppressAccessors) 929var leastOverriddenMember = overriddenMember.GetLeastOverriddenMember(overriddenMember.ContainingType); 1203private bool IsValidOverrideReturnType(Symbol overridingSymbol, TypeWithAnnotations overridingReturnType, TypeWithAnnotations overriddenReturnType, BindingDiagnosticBag diagnostics) 1537Symbol overriddenMember, 1538Symbol overridingMember) 1569Symbol hidingMember, 1599foreach (var hiddenMember in hiddenMembers) 1649private static bool IsShadowingSynthesizedRecordMember(Symbol hidingMember) 1658private static bool AddHidingAbstractDiagnostic(Symbol hidingMember, Location hidingMemberLocation, Symbol hiddenMember, BindingDiagnosticBag diagnostics, ref bool suppressAccessors) 1693var associatedPropertyOrEvent = ((MethodSymbol)hidingMember).AssociatedSymbol; 1724private static bool OverrideHasCorrectAccessibility(Symbol overridden, Symbol overriding) 1812SynthesizeInterfaceMemberImplementation(SymbolAndDiagnostics implementingMemberAndDiagnostics, Symbol interfaceMember) 1822Symbol implementingMember = implementingMemberAndDiagnostics.Symbol;
Symbols\Source\SourceMemberFieldSymbol.cs (3)
158public override Symbol AssociatedSymbol 281internal sealed override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken) 473Symbol associatedPropertyOrEvent = this.AssociatedSymbol;
Symbols\Source\SourceMemberMethodSymbol.cs (3)
520public sealed override Symbol ContainingSymbol 536public override Symbol AssociatedSymbol 889internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken)
Symbols\Source\SourceModuleSymbol.cs (5)
168foreach (Symbol s in ns.GetMembersUnordered()) 226internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken) 391foreach (var member in @namespace.GetMembers()) 440public override Symbol ContainingSymbol 618foreach (var member in ns.GetMembersUnordered())
Symbols\Source\SourceNamedTypeSymbol.cs (1)
1864foreach (var member in GetMembers())
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (3)
1163internal static Symbol? GetCompatibleSubstitutedMember(CSharpCompilation compilation, Symbol extensionMember, TypeSymbol receiverType) 1173Symbol result;
Symbols\Source\SourceNamespaceSymbol.cs (12)
26private readonly Symbol _container; 33private ImmutableArray<Symbol> _lazyAllMembers; 54SourceModuleSymbol module, Symbol container, 70public override Symbol ContainingSymbol 135internal override ImmutableArray<Symbol> GetMembersUnordered() 141var members = StaticCast<Symbol>.From(this.GetNameToMembersMap().Flatten(null)); // don't sort. 149public override ImmutableArray<Symbol> GetMembers() 171public override ImmutableArray<Symbol> GetMembers(ReadOnlyMemory<char> name) 175? members.Cast<NamespaceOrTypeSymbol, Symbol>() 176: ImmutableArray<Symbol>.Empty; 293var memberOfArity = new Symbol[10]; 318var other = memberOfArity[arity];
Symbols\Source\SourceNamespaceSymbol_Completion.cs (3)
13internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken) 67foreach (var member in members) 78foreach (var member in members)
Symbols\Source\SourceOrdinaryMethodSymbol.cs (2)
259var attributeConstructor = Binder.GetWellKnownTypeMember(compilation, WellKnownMember.System_Runtime_CompilerServices_ExtensionAttribute__ctor, out var useSiteInfo); 440internal sealed override void ForceComplete(SourceLocation locationOpt, Predicate<Symbol> filter, CancellationToken cancellationToken)
Symbols\Source\SourceParameterSymbol.cs (3)
32Symbol owner, 103Symbol owner, 173internal override void ForceComplete(SourceLocation locationOpt, Predicate<Symbol> filter, CancellationToken cancellationToken)
Symbols\Source\SourceParameterSymbolBase.cs (4)
18private readonly Symbol _containingSymbol; 21public SourceParameterSymbolBase(Symbol containingSymbol, int ordinal) 29public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind) 57public sealed override Symbol ContainingSymbol
Symbols\Source\SourcePropertyAccessorSymbol.cs (1)
316public sealed override Symbol AssociatedSymbol
Symbols\Source\SourcePropertyClonedParameterSymbolForAccessors.cs (1)
12internal SourcePropertyClonedParameterSymbolForAccessors(SourceParameterSymbol originalParam, Symbol newOwner)
Symbols\Source\SourcePropertySymbol.cs (1)
167internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken)
Symbols\Source\SourcePropertySymbolBase.cs (2)
527public override Symbol ContainingSymbol 1771internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken)
Symbols\Source\SourceSimpleParameterSymbol.cs (2)
21Symbol owner, 33Symbol owner,
Symbols\Source\SourceTypeParameterSymbol.cs (3)
350internal override void ForceComplete(SourceLocation locationOpt, Predicate<Symbol> filter, CancellationToken cancellationToken) 480public override Symbol ContainingSymbol 626public sealed override Symbol ContainingSymbol
Symbols\Source\ThisParameterSymbol.cs (2)
176public override Symbol ContainingSymbol 178get { return (Symbol?)_containingMethod ?? _containingType; }
Symbols\Source\TypeParameterConstraintClause.cs (2)
168Symbol container = thisTypeParameter.ContainingSymbol; 228Symbol container = thisTypeParameter.ContainingSymbol;
Symbols\SpecializedSymbolCollections.cs (4)
13public static PooledHashSet<TSymbol> GetPooledSymbolHashSetInstance<TSymbol>() where TSymbol : Symbol 20private static class PooledSymbolHashSet<TSymbol> where TSymbol : Symbol 25public static PooledDictionary<KSymbol, V> GetPooledSymbolDictionaryInstance<KSymbol, V>() where KSymbol : Symbol 32private static class PooledSymbolDictionary<TSymbol, V> where TSymbol : Symbol
Symbols\SubstitutedEventSymbol.cs (1)
38public override Symbol ContainingSymbol
Symbols\SubstitutedFieldSymbol.cs (4)
38public override Symbol ContainingSymbol 82public override Symbol AssociatedSymbol 86Symbol underlying = OriginalDefinition.AssociatedSymbol; 111public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SubstitutedMethodSymbol.cs (6)
24private readonly Symbol _containingSymbol; 47protected SubstitutedMethodSymbol(Symbol containingSymbol, TypeMap map, MethodSymbol originalDefinition, MethodSymbol constructedFrom) 190public sealed override Symbol ContainingSymbol 221public sealed override Symbol AssociatedSymbol 225Symbol underlying = OriginalDefinition.AssociatedSymbol; 431public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SubstitutedNamedTypeSymbol.cs (32)
27private static readonly Func<Symbol, NamedTypeSymbol, Symbol> s_symbolAsMemberFunc = SymbolExtensions.SymbolAsMember; 38private readonly Symbol _newContainer; 53private ConcurrentCache<string, ImmutableArray<Symbol>> _lazyMembersByNameCache; 55private ImmutableArray<Symbol> _lazyMembers; 57protected SubstitutedNamedTypeSymbol(Symbol newContainer, TypeMap map, NamedTypeSymbol originalDefinition, NamedTypeSymbol constructedFrom = null, bool unbound = false, TupleExtraData tupleData = null) 126public sealed override Symbol ContainingSymbol 189internal abstract override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes); 236public sealed override ImmutableArray<Symbol> GetMembers() 243var builder = ArrayBuilder<Symbol>.GetInstance(); 248foreach (var t in OriginalDefinition.GetMembers()) 258foreach (var t in OriginalDefinition.GetMembers()) 271private ArrayBuilder<Symbol> AddOrWrapTupleMembersIfNecessary(ArrayBuilder<Symbol> builder) 276var replacedFields = new HashSet<Symbol>(ReferenceEqualityComparer.Instance); 278foreach (var existingMember in existingMembers) 292internal sealed override ImmutableArray<Symbol> GetMembersUnordered() 294var builder = ArrayBuilder<Symbol>.GetInstance(); 298foreach (var t in OriginalDefinition.GetMembersUnordered()) 308foreach (var t in OriginalDefinition.GetMembersUnordered()) 319public sealed override ImmutableArray<Symbol> GetMembers(string name) 321if (_unbound) return StaticCast<Symbol>.From(GetTypeMembers(name)); 323ImmutableArray<Symbol> result; 333private ImmutableArray<Symbol> GetMembersWorker(string name) 348var builder = ArrayBuilder<Symbol>.GetInstance(originalMembers.Length); 349foreach (var t in originalMembers) 358void cacheResult(ImmutableArray<Symbol> result) 364(_lazyMembersByNameCache = new ConcurrentCache<string, ImmutableArray<Symbol>>(8)); 392internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 399internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 403var builder = ArrayBuilder<Symbol>.GetInstance(); 404foreach (var t in OriginalDefinition.GetEarlyAttributeDecodingMembers(name))
Symbols\SubstitutedParameterSymbol.cs (7)
15private readonly Symbol _containingSymbol; 18this((Symbol)containingSymbol, map, originalParameter) 23this((Symbol)containingSymbol, map, originalParameter) 28this((Symbol)containingSymbol, map, originalParameter) 32private SubstitutedParameterSymbol(Symbol containingSymbol, TypeMap map, ParameterSymbol originalParameter) : 45public override Symbol ContainingSymbol 108public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SubstitutedPropertySymbol.cs (1)
39public override Symbol ContainingSymbol
Symbols\SubstitutedTypeParameterSymbol.cs (3)
19private readonly Symbol _container; 28internal SubstitutedTypeParameterSymbol(Symbol newContainer, TypeMap map, TypeParameterSymbol substitutedFrom, int ordinal) 41public override Symbol ContainingSymbol
Symbols\Symbol.cs (27)
51internal virtual void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken) 108public abstract Symbol ContainingSymbol { get; } 117Symbol container = this.ContainingSymbol; 148for (var container = this.ContainingSymbol; (object)container != null; container = container.ContainingSymbol) 171var container = this.ContainingSymbol; 342var container = this.ContainingSymbol; 362public Symbol OriginalDefinition 370protected virtual Symbol OriginalSymbolDefinition 764public static bool operator ==(Symbol left, Symbol right) 786public static bool operator !=(Symbol left, Symbol right) 809return this.Equals(obj as Symbol, SymbolEqualityComparer.Default.CompareKind); 812public bool Equals(Symbol other) 819return this.Equals(other as Symbol, compareKind); 823public virtual bool Equals(Symbol other, TypeCompareKind compareKind) 834public static bool Equals(Symbol first, Symbol second, TypeCompareKind compareKind) 959internal static void ForceCompleteMemberConditionally(SourceLocation? locationOpt, Predicate<Symbol>? filter, Symbol member, CancellationToken cancellationToken) 1341internal static bool GetUnificationUseSiteDiagnosticRecursive<T>(ref DiagnosticInfo result, ImmutableArray<T> types, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) where T : TypeSymbol 1354internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<TypeWithAnnotations> types, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1367internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<CustomModifier> modifiers, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1380internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<ParameterSymbol> parameters, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1394internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<TypeParameterSymbol> typeParameters, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1719internal static bool IsCaptured(Symbol variable, SourceMethodSymbol containingSymbol) 1770for (var currentFunction = variable.ContainingSymbol;
Symbols\SymbolCompletionState.cs (2)
43/// of <see cref="Symbol.GetAttributes"/> will set the part <see cref="CompletionPart.Attributes"/> on 48internal void DefaultForceComplete(Symbol symbol, CancellationToken cancellationToken)
Symbols\SymbolDistinguisher.cs (11)
26private readonly Symbol _symbol0; 27private readonly Symbol _symbol1; 31public SymbolDistinguisher(CSharpCompilation? compilation, Symbol symbol0, Symbol symbol1) 53private static void CheckSymbolKind(Symbol symbol) 94Symbol unwrappedSymbol0 = UnwrapSymbol(_symbol0); 95Symbol unwrappedSymbol1 = UnwrapSymbol(_symbol1); 138private static Symbol UnwrapSymbol(Symbol symbol) 159private static string? GetLocationString(CSharpCompilation? compilation, Symbol unwrappedSymbol) 215private Symbol GetSymbol()
Symbols\SymbolEqualityComparer.cs (14)
13internal sealed class SymbolEqualityComparer : EqualityComparer<Symbol> 15internal static readonly EqualityComparer<Symbol> ConsiderEverything = new SymbolEqualityComparer(TypeCompareKind.ConsiderEverything); 17internal static readonly EqualityComparer<Symbol> IgnoringTupleNamesAndNullability = new SymbolEqualityComparer(TypeCompareKind.IgnoreTupleNames | TypeCompareKind.IgnoreNullableModifiersForReferenceTypes); 19internal static EqualityComparer<Symbol> IncludeNullability => ConsiderEverything; 24internal static readonly EqualityComparer<Symbol> IgnoringDynamicTupleNamesAndNullability = new SymbolEqualityComparer(TypeCompareKind.IgnoreDynamicAndTupleNames | TypeCompareKind.IgnoreNullableModifiersForReferenceTypes); 26internal static readonly EqualityComparer<Symbol> IgnoringNullable = new SymbolEqualityComparer(TypeCompareKind.IgnoreNullableModifiersForReferenceTypes); 28internal static readonly EqualityComparer<Symbol> ObliviousNullableModifierMatchesAny = new SymbolEqualityComparer(TypeCompareKind.ObliviousNullableModifierMatchesAny); 30internal static readonly EqualityComparer<Symbol> AllIgnoreOptions = new SymbolEqualityComparer(TypeCompareKind.AllIgnoreOptions); 32internal static readonly EqualityComparer<Symbol> AllIgnoreOptionsPlusNullableWithUnknownMatchesAny = 35internal static readonly EqualityComparer<Symbol> CLRSignature = new SymbolEqualityComparer(TypeCompareKind.CLRSignatureCompareOptions); 44internal static EqualityComparer<Symbol> Create(TypeCompareKind comparison) 62public override int GetHashCode(Symbol obj) 67public override bool Equals(Symbol x, Symbol y)
Symbols\SymbolExtensions.cs (56)
24public static bool IsCompilationOutputWinMdObj(this Symbol symbol) 39public static bool IsNestedType([NotNullWhen(true)] this Symbol? symbol) 87public static bool IsNoMoreVisibleThan(this Symbol symbol, TypeSymbol type, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 92public static bool IsNoMoreVisibleThan(this Symbol symbol, TypeWithAnnotations type, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 97internal static void AddUseSiteInfo(this Symbol? symbol, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool addDiagnostics = true) 120public static LocalizableErrorArgument GetKindText(this Symbol symbol) 129internal static NamespaceOrTypeSymbol? ContainingNamespaceOrType(this Symbol symbol) 131var containingSymbol = symbol.ContainingSymbol; 145internal static Symbol? ContainingNonLambdaMember(this Symbol? containingMember) 157internal static ParameterSymbol? EnclosingThisSymbol(this Symbol containingMember) 159Symbol symbol = containingMember; 199public static Symbol ConstructedFrom(this Symbol symbol) 219public static bool IsContainingSymbolOfAllTypeParameters(this Symbol containingSymbol, TypeSymbol type) 228public static bool IsContainingSymbolOfAllTypeParameters(this Symbol containingSymbol, ImmutableArray<TypeSymbol> types) 233private static readonly Func<TypeSymbol, Symbol, bool, bool> s_hasInvalidTypeParameterFunc = 236private static bool HasInvalidTypeParameter(TypeSymbol type, Symbol? containingSymbol) 240var symbol = type.ContainingSymbol; 253public static bool IsTypeOrTypeAlias(this Symbol symbol) 273internal static bool CompilationAllowsUnsafe(this Symbol symbol) 278internal static void CheckUnsafeModifier(this Symbol symbol, DeclarationModifiers modifiers, BindingDiagnosticBag diagnostics) 283internal static void CheckUnsafeModifier(this Symbol symbol, DeclarationModifiers modifiers, Location errorLocation, BindingDiagnosticBag diagnostics) 286internal static void CheckUnsafeModifier(this Symbol symbol, DeclarationModifiers modifiers, Location errorLocation, DiagnosticBag? diagnostics) 300public static bool IsHiddenByCodeAnalysisEmbeddedAttribute(this Symbol symbol) 317public static bool MustCallMethodsDirectly(this Symbol symbol) 330public static int GetArity(this Symbol? symbol) 346internal static CSharpSyntaxNode GetNonNullSyntaxNode(this Symbol? symbol) 354Symbol? containingSymbol = symbol.ContainingSymbol; 371internal static Symbol? EnsureCSharpSymbolOrNull(this ISymbol? symbol, string paramName) 430internal static TypeWithAnnotations GetTypeOrReturnType(this Symbol symbol) 462internal static FlowAnalysisAnnotations GetFlowAnalysisAnnotations(this Symbol? symbol) 474internal static void GetTypeOrReturnType(this Symbol symbol, out RefKind refKind, out TypeWithAnnotations returnType, 525internal static bool IsImplementableInterfaceMember(this Symbol symbol) 530internal static bool RequiresInstanceReceiver(this Symbol symbol) 543private static TISymbol? GetPublicSymbol<TISymbol>(this Symbol? symbol) 550internal static ISymbol? GetPublicSymbol(this Symbol? symbol) 675internal static IEnumerable<ISymbol?> GetPublicSymbols(this IEnumerable<Symbol?> symbols) 680private static ImmutableArray<TISymbol> GetPublicSymbols<TISymbol>(this ImmutableArray<Symbol> symbols) 691internal static ImmutableArray<ISymbol> GetPublicSymbols(this ImmutableArray<Symbol> symbols) 698return GetPublicSymbols<IPropertySymbol>(StaticCast<Symbol>.From(symbols)); 703return GetPublicSymbols<ITypeSymbol>(StaticCast<Symbol>.From(symbols)); 708return GetPublicSymbols<INamedTypeSymbol>(StaticCast<Symbol>.From(symbols)); 713return GetPublicSymbols<ILocalSymbol>(StaticCast<Symbol>.From(symbols)); 718return GetPublicSymbols<IEventSymbol>(StaticCast<Symbol>.From(symbols)); 723return GetPublicSymbols<ITypeParameterSymbol>(StaticCast<Symbol>.From(symbols)); 728return GetPublicSymbols<IParameterSymbol>(StaticCast<Symbol>.From(symbols)); 733return GetPublicSymbols<IMethodSymbol>(StaticCast<Symbol>.From(symbols)); 738return GetPublicSymbols<IAssemblySymbol>(StaticCast<Symbol>.From(symbols)); 743return GetPublicSymbols<IFieldSymbol>(StaticCast<Symbol>.From(symbols)); 748return GetPublicSymbols<INamespaceSymbol>(StaticCast<Symbol>.From(symbols)); 753where TSymbol : Symbol 759internal static Symbol? GetSymbol(this ISymbol? symbol) 761return symbol.GetSymbol<Symbol>(); 812internal static bool IsRequired(this Symbol symbol) => symbol is FieldSymbol { IsRequired: true } or PropertySymbol { IsRequired: true }; 817internal static int GetOverloadResolutionPriority(this Symbol symbol)
Symbols\SymbolVisitor.cs (2)
13public virtual void Visit(Symbol symbol) 21public virtual void DefaultVisit(Symbol symbol)
Symbols\SymbolVisitor`1.cs (2)
13public virtual TResult Visit(Symbol symbol) 20public virtual TResult DefaultVisit(Symbol symbol)
Symbols\SymbolVisitor`2.cs (3)
24public virtual TResult Visit(Symbol symbol, TArgument argument = default(TArgument)) 35/// The default Visit method called when visiting any <see cref="Symbol" /> and 41public virtual TResult DefaultVisit(Symbol symbol, TArgument argument)
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorTypeSymbol.cs (8)
21private readonly ImmutableArray<Symbol> _members; 44var membersBuilder = ArrayBuilder<Symbol>.GetInstance(); 113static void addProperty(ArrayBuilder<Symbol> builder, PropertySymbol property) 151public override Symbol ContainingSymbol => _containingType; 211public override ImmutableArray<Symbol> GetMembers() => _members; 213public override ImmutableArray<Symbol> GetMembers(string name) => GetMembers().WhereAsArray(static (m, name) => m.Name == name, name); 233internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => throw ExceptionUtilities.Unreachable(); 235internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) => throw ExceptionUtilities.Unreachable();
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListProperty.cs (1)
49public override Symbol ContainingSymbol => _containingType;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeParameterSymbol.cs (1)
45public override Symbol ContainingSymbol => _containingType;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (12)
235var symbol = compilation.GetSpecialTypeMember(member); 246var symbol = Binder.GetWellKnownTypeMember(compilation, member, out var useSiteInfo); 259private readonly ImmutableArray<Symbol> _members; 314var membersBuilder = ArrayBuilder<Symbol>.GetInstance(); 729static void addProperty(ArrayBuilder<Symbol> builder, PropertySymbol property) 769private Symbol GetFieldTypeMember(WellKnownMember member) 771var symbol = DeclaringCompilation.GetWellKnownTypeMember(member); 828public override Symbol? ContainingSymbol => _containingModule.GlobalNamespace; 888public override ImmutableArray<Symbol> GetMembers() => _members; 890public override ImmutableArray<Symbol> GetMembers(string name) => GetMembers().WhereAsArray(static (m, name) => m.Name == name, name); 915internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => throw ExceptionUtilities.Unreachable(); 917internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) => throw ExceptionUtilities.Unreachable();
Symbols\Synthesized\Records\SynthesizedPrimaryConstructorParameterBackingFieldSymbol.cs (2)
42public override Symbol? AssociatedSymbol 65public override Symbol ContainingSymbol
Symbols\Synthesized\Records\SynthesizedRecordClone.cs (1)
158foreach (var member in containingType.GetMembers(WellKnownMemberNames.CloneMethodName))
Symbols\Synthesized\Records\SynthesizedRecordCopyCtor.cs (1)
133internal static bool IsCopyConstructor(Symbol member)
Symbols\Synthesized\Records\SynthesizedRecordDeconstruct.cs (5)
16private readonly ImmutableArray<Symbol> _positionalMembers; 21ImmutableArray<Symbol> positionalMembers, 64var positionalMember = _positionalMembers[i]; 98private static bool IsReadOnly(SourceMemberContainerTypeSymbol containingType, ImmutableArray<Symbol> positionalMembers) 102static bool hasNonReadOnlyGetter(Symbol m)
Symbols\Synthesized\Records\SynthesizedRecordEqualityOperator.cs (1)
43foreach (var member in ContainingType.GetMembers(WellKnownMemberNames.ObjectEquals))
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (9)
25IEnumerable<Symbol> userDefinedMembers, 35private static DeclarationModifiers MakeDeclarationModifiers(SourceMemberContainerTypeSymbol containingType, IEnumerable<Symbol> userDefinedMembers) 121ImmutableArray<Symbol> printableMembers = ContainingType.GetMembers().WhereAsArray(m => isPrintable(m)); 190var member = printableMembers[i]; 241static bool isPrintable(Symbol m) 294private static bool IsReadOnly(NamedTypeSymbol containingType, IEnumerable<Symbol> userDefinedMembers) 299private static bool AreAllPrintablePropertyGettersReadOnly(IEnumerable<Symbol> members) 301foreach (var member in members) 324private static bool IsPublicInstanceMember(Symbol m)
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (2)
116public override Symbol AssociatedSymbol 256public override Symbol ContainingSymbol
Symbols\Synthesized\SynthesizedContainer.cs (9)
111public override ImmutableArray<Symbol> GetMembers() 113Symbol constructor = this.Constructor; 114return (object)constructor == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(constructor); 117public override ImmutableArray<Symbol> GetMembers(string name) 120return ((object)ctor != null && name == ctor.Name) ? ImmutableArray.Create<Symbol>(ctor) : ImmutableArray<Symbol>.Empty; 125foreach (var m in this.GetMembers()) 136internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => this.GetMembersUnordered(); 138internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) => this.GetMembers(name);
Symbols\Synthesized\SynthesizedDelegateSymbol.cs (2)
193public override Symbol? AssociatedSymbol 213public override Symbol ContainingSymbol
Symbols\Synthesized\SynthesizedEmbeddedAttributeSymbol.cs (8)
77public override Symbol ContainingSymbol => _namespace; 152public override ImmutableArray<Symbol> GetMembers() => Constructors.CastArray<Symbol>(); 154public override ImmutableArray<Symbol> GetMembers(string name) => name == WellKnownMemberNames.InstanceConstructorName ? Constructors.CastArray<Symbol>() : ImmutableArray<Symbol>.Empty; 170internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => GetMembers(); 172internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) => GetMembers(name);
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
62public override Symbol ContainingSymbol 130public override Symbol AssociatedSymbol
Symbols\Synthesized\SynthesizedFieldSymbolBase.cs (2)
99public override Symbol AssociatedSymbol 147public override Symbol ContainingSymbol
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (2)
77public sealed override Symbol ContainingSymbol 231public override Symbol AssociatedSymbol
Symbols\Synthesized\SynthesizedHotReloadExceptionSymbol.cs (6)
29private readonly ImmutableArray<Symbol> _members; 53public override ImmutableArray<Symbol> GetMembers() 56public override ImmutableArray<Symbol> GetMembers(string name) 93public override Symbol ContainingSymbol => _namespace; 134internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => GetMembers(); 135internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) => GetMembers(name);
Symbols\Synthesized\SynthesizedImplementationMethod.cs (2)
115public sealed override Symbol ContainingSymbol 151public sealed override Symbol AssociatedSymbol
Symbols\Synthesized\SynthesizedInlineArrayTypeSymbol.cs (7)
76public override Symbol? ContainingSymbol => _containingModule.GlobalNamespace; 142public override ImmutableArray<Symbol> GetMembers() => ImmutableArray<Symbol>.CastUp(_fields); 144public override ImmutableArray<Symbol> GetMembers(string name) => GetMembers().WhereAsArray(m => m.Name == name); 164internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => throw ExceptionUtilities.Unreachable(); 166internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) => throw ExceptionUtilities.Unreachable(); 248public override Symbol ContainingSymbol => _container;
Symbols\Synthesized\SynthesizedInstanceConstructor.cs (2)
55public sealed override Symbol ContainingSymbol 173public sealed override Symbol AssociatedSymbol
Symbols\Synthesized\SynthesizedInteractiveInitializerMethod.cs (2)
49public override Symbol AssociatedSymbol 54public override Symbol ContainingSymbol
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (4)
284public override Symbol AssociatedSymbol 313public override Symbol ContainingSymbol 426public override bool Equals(Symbol obj, TypeCompareKind compareKind) 479public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Synthesized\SynthesizedLocal.cs (1)
128public sealed override Symbol ContainingSymbol
Symbols\Synthesized\SynthesizedParameterSymbol.cs (8)
18private readonly Symbol? _container; 26Symbol? container, 130public override Symbol? ContainingSymbol 235Symbol symbol => symbol.ContainingModule.UseUpdatedEscapeRules, 243Symbol? container, 258Symbol? container, 307internal static ParameterSymbol DeriveParameter(Symbol destination, ParameterSymbol oldParam) 349Symbol? container,
Symbols\Synthesized\SynthesizedPrivateImplementationDetailsType.cs (9)
69public override Symbol ContainingSymbol => _globalNamespace; 125public override ImmutableArray<Symbol> GetMembers() => ImmutableArray<Symbol>.Empty; 127public override ImmutableArray<Symbol> GetMembers(string name) => ImmutableArray<Symbol>.Empty; 156internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => ImmutableArray<Symbol>.Empty; 158internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) => ImmutableArray<Symbol>.Empty;
Symbols\Synthesized\SynthesizedSealedPropertyAccessor.cs (2)
48public override Symbol ContainingSymbol 246public override Symbol AssociatedSymbol
Symbols\Synthesized\SynthesizedStaticConstructor.cs (2)
22public override Symbol ContainingSymbol 165public override Symbol? AssociatedSymbol
Symbols\Synthesized\SynthesizedSubstitutedTypeParameterSymbol.cs (1)
19public SynthesizedSubstitutedTypeParameterSymbol(Symbol owner, TypeMap map, TypeParameterSymbol substitutedFrom, int ordinal)
Symbols\Synthesized\TypeSubstitutedLocalSymbol.cs (3)
18private readonly Symbol _containingSymbol; 20public TypeSubstitutedLocalSymbol(LocalSymbol originalVariable, TypeWithAnnotations type, Symbol containingSymbol) 65public override Symbol ContainingSymbol
Symbols\SynthesizedNamespaceSymbol.cs (6)
36public override bool Equals(Symbol obj, TypeCompareKind compareKind) 55public override Symbol ContainingSymbol 76public override ImmutableArray<Symbol> GetMembers() 77=> ImmutableArray<Symbol>.Empty; 79public override ImmutableArray<Symbol> GetMembers(ReadOnlyMemory<char> name) 80=> ImmutableArray<Symbol>.Empty;
Symbols\SynthesizedSimpleMethodTypeParameterSymbol.cs (1)
91public override Symbol ContainingSymbol
Symbols\Tuples\TupleErrorFieldSymbol.cs (1)
176public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Tuples\TupleFieldSymbol.cs (4)
96public sealed override Symbol? AssociatedSymbol 117public sealed override Symbol ContainingSymbol 148internal override void ForceComplete(SourceLocation? locationOpt, Predicate<Symbol>? filter, CancellationToken cancellationToken) 158public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Tuples\TupleTypeSymbol.cs (29)
486internal static Symbol? GetWellKnownMemberInType(NamedTypeSymbol type, WellKnownMember relativeMember, BindingDiagnosticBag diagnostics, SyntaxNode? syntax) 488Symbol? member = GetWellKnownMemberInType(type, relativeMember); 515static Symbol? GetWellKnownMemberInType(NamedTypeSymbol type, WellKnownMember relativeMember) 564public TMember? GetTupleMemberSymbolForUnderlyingMember<TMember>(TMember? underlyingMemberOpt) where TMember : Symbol 569protected ArrayBuilder<Symbol> MakeSynthesizedTupleMembers(ImmutableArray<Symbol> currentMembers, HashSet<Symbol>? replacedFields = null) 576var members = ArrayBuilder<Symbol>.GetInstance(currentMembers.Length); 590foreach (Symbol member in currentMembers) 798static void collectTargetTupleFields(int arity, ImmutableArray<Symbol> members, ArrayBuilder<FieldSymbol?> fieldsForElements) 809static Symbol? getWellKnownMemberInType(ImmutableArray<Symbol> members, WellKnownMember relativeMember) 818static ImmutableArray<Symbol> getOriginalFields(ImmutableArray<Symbol> members) 820var fields = ArrayBuilder<Symbol>.GetInstance(); 821foreach (var member in members) 912private SmallDictionary<Symbol, Symbol>? _lazyUnderlyingDefinitionToMemberMap; 1013foreach (var member in tuple.GetMembers()) 1044internal SmallDictionary<Symbol, Symbol> UnderlyingDefinitionToMemberMap 1050SmallDictionary<Symbol, Symbol> computeDefinitionToMemberMap() 1052var map = new SmallDictionary<Symbol, Symbol>(ReferenceEqualityComparer.Instance); 1059var member = members[i]; 1099public TMember? GetTupleMemberSymbolForUnderlyingMember<TMember>(TMember? underlyingMemberOpt) where TMember : Symbol 1106Symbol underlyingMemberDefinition = underlyingMemberOpt.OriginalDefinition; 1114if (UnderlyingDefinitionToMemberMap.TryGetValue(underlyingMemberDefinition, out Symbol? result))
Symbols\TypeMap.cs (2)
102internal TypeMap WithAlphaRename(ImmutableArray<TypeParameterSymbol> oldTypeParameters, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 144internal TypeMap WithAlphaRename(MethodSymbol oldOwner, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters)
Symbols\TypeParameterSymbol.cs (5)
144public sealed override ImmutableArray<Symbol> GetMembers() 146return ImmutableArray<Symbol>.Empty; 150public sealed override ImmutableArray<Symbol> GetMembers(string name) 152return ImmutableArray<Symbol>.Empty; 648internal sealed override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\TypeSymbol.cs (131)
42private ImmutableHashSet<Symbol> _lazyAbstractMembers; 60private ConcurrentDictionary<Symbol, SymbolAndDiagnostics> _implementationForInterfaceMemberMap; 62public ConcurrentDictionary<Symbol, SymbolAndDiagnostics> ImplementationForInterfaceMemberMap 73map = new ConcurrentDictionary<Symbol, SymbolAndDiagnostics>(concurrencyLevel: 1, capacity: 1, comparer: SymbolEqualityComparer.ConsiderEverything); 83internal MultiDictionary<Symbol, Symbol> explicitInterfaceImplementationMap; 146protected sealed override Symbol OriginalSymbolDefinition 298public sealed override bool Equals(Symbol other, TypeCompareKind compareKind) 442public Symbol FindImplementationForInterfaceMember(Symbol interfaceMember) 531internal abstract bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes); 732internal SymbolAndDiagnostics FindImplementationForInterfaceMemberInNonInterfaceWithDiagnostics(Symbol interfaceMember, bool ignoreImplementationInInterfacesIfResultIsNotReady = false) 783internal Symbol FindImplementationForInterfaceMemberInNonInterface(Symbol interfaceMember, bool ignoreImplementationInInterfacesIfResultIsNotReady = false) 788private SymbolAndDiagnostics ComputeImplementationAndDiagnosticsForInterfaceMember(Symbol interfaceMember, bool ignoreImplementationInInterfaces, out bool implementationInInterfacesMightChangeResult) 791var implementingMember = ComputeImplementationForInterfaceMember(interfaceMember, this, diagnostics, ignoreImplementationInInterfaces, out implementationInInterfacesMightChangeResult); 814private static Symbol ComputeImplementationForInterfaceMember(Symbol interfaceMember, TypeSymbol implementingType, BindingDiagnosticBag diagnostics, 842Symbol implicitImpl = null; 843Symbol closestMismatch = null; 858MultiDictionary<Symbol, Symbol>.ValueSet explicitImpl = currType.GetExplicitImplementationForInterfaceMember(interfaceMember); 890if (IsExplicitlyImplementedViaAccessors(checkPendingExplicitImplementations, interfaceMember, currType, ref useSiteInfo, out Symbol currTypeExplicitImpl)) 928Symbol currTypeImplicitImpl; 929Symbol currTypeCloseMismatch; 966Symbol originalImplicitImpl = implicitImpl; 976Symbol defaultImpl = null; 1066private static Symbol FindMostSpecificImplementationInInterfaces(Symbol interfaceMember, TypeSymbol implementingType, 1081Symbol defaultImpl = FindMostSpecificImplementationInBases(interfaceMember, 1083ref useSiteInfo, out Symbol conflict1, out Symbol conflict2); 1119private static Symbol FindMostSpecificImplementation(Symbol interfaceMember, NamedTypeSymbol implementingInterface, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1121MultiDictionary<Symbol, Symbol>.ValueSet implementingMember = FindImplementationInInterface(interfaceMember, implementingInterface); 1138out var _, out var _); 1141Symbol result = implementingMember.Single(); 1160private static Symbol FindMostSpecificImplementationInBases( 1161Symbol interfaceMember, 1164out Symbol conflictingImplementation1, 1165out Symbol conflictingImplementation2) 1189Symbol accessorImpl1 = findMostSpecificImplementationInBases(interfaceAccessor1 ?? interfaceAccessor2, allInterfaces, ref useSiteInfo, 1190out Symbol conflictingAccessorImplementation11, out Symbol conflictingAccessorImplementation12); 1220Symbol accessorImpl2 = findMostSpecificImplementationInBases(interfaceAccessor2, allInterfaces, ref useSiteInfo, 1221out Symbol conflictingAccessorImplementation21, out Symbol conflictingAccessorImplementation22); 1251static Symbol findImplementationInInterface(Symbol interfaceMember, Symbol inplementingAccessor1, Symbol implementingAccessor2 = null) 1261MultiDictionary<Symbol, Symbol>.ValueSet implementingMember = FindImplementationInInterface(interfaceMember, implementingInterface); 1272static Symbol findMostSpecificImplementationInBases( 1273Symbol interfaceMember, 1276out Symbol conflictingImplementation1, 1277out Symbol conflictingImplementation2) 1279var implementations = ArrayBuilder<(MultiDictionary<Symbol, Symbol>.ValueSet MethodSet, MultiDictionary<NamedTypeSymbol, NamedTypeSymbol> Bases)>.GetInstance(); 1289MultiDictionary<Symbol, Symbol>.ValueSet candidate = FindImplementationInInterface(interfaceMember, interfaceType); 1298(MultiDictionary<Symbol, Symbol>.ValueSet methodSet, MultiDictionary<NamedTypeSymbol, NamedTypeSymbol> bases) = implementations[i]; 1299Symbol previous = methodSet.First(); 1351Symbol result; 1361MultiDictionary<Symbol, Symbol>.ValueSet methodSet = implementations[0].MethodSet; 1391internal static MultiDictionary<Symbol, Symbol>.ValueSet FindImplementationInInterface(Symbol interfaceMember, NamedTypeSymbol interfaceType) 1405return new MultiDictionary<Symbol, Symbol>.ValueSet(interfaceMember); 1414private static (MethodSymbol interfaceAccessor1, MethodSymbol interfaceAccessor2) GetImplementableAccessors(Symbol interfaceMember) 1475private static bool IsExplicitlyImplementedViaAccessors(bool checkPendingExplicitImplementations, Symbol interfaceMember, TypeSymbol currType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out Symbol implementingMember) 1479Symbol associated1; 1480Symbol associated2; 1512private static bool TryGetExplicitImplementationAssociatedPropertyOrEvent(bool checkPendingExplicitImplementations, MethodSymbol interfaceAccessor, TypeSymbol currType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out Symbol associated) 1518MultiDictionary<Symbol, Symbol>.ValueSet set = currType.GetExplicitImplementationForInterfaceMember(interfaceAccessor); 1521Symbol implementation = set.Single(); 1557ref Symbol implicitImpl) 1562Symbol associatedInterfacePropertyOrEvent = interfaceMethod.AssociatedSymbol; 1573Symbol implementingPropertyOrEvent = implementingType.FindImplementationForInterfaceMemberInNonInterface(associatedInterfacePropertyOrEvent, 1639private static void ReportDefaultInterfaceImplementationMatchDiagnostics(Symbol interfaceMember, TypeSymbol implementingType, Symbol implicitImpl, BindingDiagnosticBag diagnostics) 1687private static void ReportImplicitImplementationMatchDiagnostics(Symbol interfaceMember, TypeSymbol implementingType, Symbol implicitImpl, BindingDiagnosticBag diagnostics) 1742foreach (Symbol member in implicitImpl.ContainingType.GetMembers(implicitImpl.Name)) 1782internal static void CheckModifierMismatchOnImplementingMember(TypeSymbol implementingType, Symbol implementingMember, Symbol interfaceMember, bool isExplicit, BindingDiagnosticBag diagnostics) 1980static void checkRefStructInterfacesFeatureAvailabilityOnUnscopedRefAttribute(Symbol implementingSymbol, BindingDiagnosticBag diagnostics) 1999private static void ReportImplicitImplementationMismatchDiagnostics(Symbol interfaceMember, TypeSymbol implementingType, Symbol closestMismatch, BindingDiagnosticBag diagnostics) 2076internal static bool HaveInitOnlyMismatch(Symbol one, Symbol other) 2094private static Location GetInterfaceLocation(Symbol interfaceMember, TypeSymbol implementingType) 2154internal static Location GetImplicitImplementationDiagnosticLocation(Symbol interfaceMember, TypeSymbol implementingType, Symbol member) 2184Symbol interfaceMember, 2187out Symbol implicitImpl, 2188out Symbol closeMismatch) 2200foreach (Symbol member in currType.GetMembers(interfaceMember.Name)) 2257private static bool IsInterfaceMemberImplementation(Symbol candidateMember, Symbol interfaceMember, bool implementingTypeIsFromSomeCompilation) 2286protected MultiDictionary<Symbol, Symbol>.ValueSet GetExplicitImplementationForInterfaceMember(Symbol interfaceMember) 2302private MultiDictionary<Symbol, Symbol> MakeExplicitInterfaceImplementationMap() 2304var map = new MultiDictionary<Symbol, Symbol>(ExplicitInterfaceImplementationTargetMemberEqualityComparer.Instance); 2305foreach (var member in this.GetMembersUnordered()) 2307foreach (var interfaceMember in member.GetExplicitInterfaceImplementations()) 2373protected class ExplicitInterfaceImplementationTargetMemberEqualityComparer : IEqualityComparer<Symbol> 2378public bool Equals(Symbol x, Symbol y) 2384public int GetHashCode(Symbol obj) 2397internal ImmutableHashSet<Symbol> AbstractMembers 2409private ImmutableHashSet<Symbol> ComputeAbstractMembers() 2411var abstractMembers = ImmutableHashSet.Create<Symbol>(); 2412var overriddenMembers = ImmutableHashSet.Create<Symbol>(); 2414foreach (var member in this.GetMembersUnordered()) 2421Symbol overriddenMember = null; 2449foreach (var baseAbstractMember in this.BaseTypeNoUseSiteDiagnostics.AbstractMembers) 2490public static bool operator ==(Symbol left, TypeSymbol right) 2494public static bool operator !=(Symbol left, TypeSymbol right) 2498public static bool operator ==(TypeSymbol left, Symbol right) 2502public static bool operator !=(TypeSymbol left, Symbol right)
Symbols\TypeSymbol.SymbolAndDiagnostics.cs (2)
23public readonly Symbol Symbol; 26public SymbolAndDiagnostics(Symbol symbol, ReadOnlyBindingDiagnostic<AssemblySymbol> diagnostics)
Symbols\TypeSymbolExtensions.cs (12)
20public Symbol? Symbol; 552private static bool IsNamespaceName(Symbol symbol, string[] names) 674public static bool IsAtLeastAsVisibleAs(this TypeSymbol type, Symbol sym, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 698private static bool IsTypeLessVisibleThan(TypeSymbol type, Symbol sym, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1003internal static bool IsAsRestrictive(this Symbol s1, Symbol sym2, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1012for (Symbol s2 = sym2; s2.Kind != SymbolKind.Namespace; s2 = s2.ContainingSymbol) 1208public static bool ContainsTypeParameter(this TypeSymbol type, Symbol typeParameterContainer) 1216private static readonly Func<TypeSymbol, Symbol, bool, bool> s_isTypeParameterWithSpecificContainerPredicate = 1741internal static TypeParameterSymbol? FindEnclosingTypeParameter(this Symbol methodOrType, string name) 1778var container = type.ContainingSymbol; 2087Symbol declaringSymbol,
Symbols\TypeWithAnnotations.cs (3)
424public bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 427Symbol.GetUnificationUseSiteDiagnosticRecursive(ref result, this.CustomModifiers, owner, ref checkedTypes); 430public bool IsAtLeastAsVisibleAs(Symbol sym, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Symbols\UpdatedContainingSymbolLocal.cs (5)
18internal static UpdatedContainingSymbolAndNullableAnnotationLocal CreateForTest(SourceLocalSymbol underlyingLocal, Symbol updatedContainingSymbol, TypeWithAnnotations updatedType) 23private UpdatedContainingSymbolAndNullableAnnotationLocal(SourceLocalSymbol underlyingLocal, Symbol updatedContainingSymbol, TypeWithAnnotations updatedType, bool assertContaining) 34internal UpdatedContainingSymbolAndNullableAnnotationLocal(SourceLocalSymbol underlyingLocal, Symbol updatedContainingSymbol, TypeWithAnnotations updatedType) 40public override Symbol ContainingSymbol { get; } 43public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\VarianceSafety.cs (11)
45foreach (Symbol member in interfaceType.GetMembersUnordered()) 99internal static NamedTypeSymbol GetEnclosingVariantInterface(Symbol member) 175private static bool SkipVarianceSafetyChecks(Symbol member) 239private static void CheckParametersVarianceSafety(ImmutableArray<ParameterSymbol> parameters, Symbol context, BindingDiagnosticBag diagnostics) 295Symbol context, 299where T : Symbol 363Symbol context, 367where T : Symbol 445Symbol context, 449where T : Symbol 486private static T GetDeclaringSyntax<T>(this Symbol symbol) where T : SyntaxNode
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (24)
CodeGen\CodeGenAsyncIteratorTests.cs (1)
6784var symbol = comp.GetWellKnownTypeMember(member);
CodeGen\CodeGenDynamicTests.cs (2)
680foreach (var member in iteratorClass.GetMembers()) 837foreach (var member in members)
CodeGen\CodeGenTupleTest.cs (8)
4492var stringItem1 = vt2.GetMembers("Item1")[0]; 4496var intItem2 = vt2.GetMembers("Item2")[0]; 11671foreach (var m in members1) 13876private static void AssertTestDisplayString(ImmutableArray<Symbol> symbols, params string[] baseLine) 28199static void verifyTupleTypes(ImmutableArray<Symbol> valueTupleTypes, bool retargeting) 28245void verify(Symbol tuple, string name, string display, int index) 28316static void verifyTuple8Type(Symbol tuple, bool retargeting) 28784static string print(Symbol s)
CodeGen\SwitchTests.cs (1)
3043var member = pid.GetMembers(PrivateImplementationDetails.SynthesizedStringHashFunctionName).Single();
CodeGen\WinMdDelegateTests.cs (2)
237foreach (var member in fieldType.GetMembers()) 257foreach (var field in fields)
Emit\CompilationEmitTests.cs (2)
1076var field = s.GetMember("field"); 1164var field = s.GetMember("field");
Emit\EmitMetadataTests.cs (7)
747Symbol member; 855var c = members.First(member => member.Name == ".ctor"); 1134var overriddenProperty = module.GlobalNamespace.GetTypeMembers("E").Single().GetMembers("Q").Single(); 1137var overriddenAccessor = module.GlobalNamespace.GetTypeMembers("D").Single().GetMembers("set_Q").Single(); 1187var method = containingType.GetMembers(accessor.Name).Single(); 1318var method = property.ContainingType.GetMembers(accessor.Name).Single(); 2200var member = type.GetMembers("Internal").SingleOrDefault();
PrivateProtected.cs (1)
104foreach (var member in bb.GetMembers())
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (29)
Emit\EditAndContinue\EditAndContinueClosureTests.cs (15)
519Assert.True(((Symbol)localFunction0).IsStatic); 522Assert.True(((Symbol)localFunction1).IsStatic); 2467var f_int1 = compilation1.GetMembers("C.F").Single(m => m.ToString() == "C.F(int)"); 2468var f_byte2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F(byte)"); 2584var f_int1 = compilation1.GetMembers("C.F").Single(m => m.ToString() == "C.F<T>(int)"); 2585var f_byte2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F<T>(byte)"); 2723var f_int2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F(int)"); 2866var ctor00 = compilation0.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor()"); 2867var ctor10 = compilation0.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor(System.Int32 x)"); 2868var ctor01 = compilation1.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor()"); 2869var ctor11 = compilation1.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor(System.Int32 x)"); 2972var ctor00 = compilation0.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor()"); 2973var ctor10 = compilation0.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor(System.Int32 x)"); 2974var ctor01 = compilation1.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor()"); 2975var ctor11 = compilation1.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor(System.Int32 x)");
Emit\EditAndContinue\EditAndContinueStateMachineTests.cs (2)
8777var f_int1 = compilation1.GetMembers("C.F").Single(m => m.ToString() == "C.F(int)"); 8778var f_byte2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F(byte)");
Emit\EditAndContinue\EditAndContinueTests.cs (4)
13240var f_byte2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F(dynamic, byte)"); 19334var cm1_gen1 = ((NamedTypeSymbol)compilation1.GetMembers("C")[0]).GetMember("M"); 19427var c1_gen0 = compilation0.GetMember("C"); 19518var c2_gen1 = compilation1.GetMember("C");
Emit\EditAndContinue\SymbolMatcherTests.cs (6)
81var builder = new List<Symbol>(); 109private static void MatchAll(CSharpSymbolMatcher matcher, ImmutableArray<Symbol> members, int startAt) 114var member = members[(i + startAt) % n]; 147foreach (var member in members) 281var f0 = peAssemblySymbol.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMember("F"); 282var g0 = peAssemblySymbol.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMember("G");
Emit\NumericIntPtrTests.cs (2)
74private static int SymbolComparison(Symbol x, Symbol y) => SymbolComparison(x.ToTestDisplayString(), y.ToTestDisplayString());
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (159)
Attributes\AttributeTests.cs (5)
488Symbol assembly = m.ContainingSymbol; 1603var prop = type.GetMember("Prop"); 2825private static string GetSingleAttributeName(Symbol symbol) 2830private static void AssertNoAttributes(Symbol symbol) 3102var assembly = m.ContainingSymbol;
Attributes\AttributeTests_NativeInteger.cs (1)
1494var member = type.GetMembers("F").Single();
Attributes\AttributeTests_Synthesized.cs (56)
267foreach (var member in displayClass.GetMembers()) 306foreach (var member in anon.GetMembers()) 433foreach (var member in iter.GetMembers().Where(member => member is MethodSymbol)) 493foreach (var member in iter.GetMembers().Where(s => s.Kind == SymbolKind.Method)) 672var equalityContractGetter = record.GetMember("get_EqualityContract"); 675var toString = record.GetMember(WellKnownMemberNames.ObjectToString); 678var printMembers = record.GetMember(WellKnownMemberNames.PrintMembersMethodName); 681var op_Equality = record.GetMember(WellKnownMemberNames.EqualityOperatorName); 684var op_Inequality = record.GetMember(WellKnownMemberNames.InequalityOperatorName); 687var getHashCode = record.GetMember(WellKnownMemberNames.ObjectGetHashCode); 695var clone = record.GetMember(WellKnownMemberNames.CloneMethodName); 705var equalityContract = record.GetMember("EqualityContract"); 708var myProperty = record.GetMember("MyProperty"); 711var myPropertyGetter = record.GetMember("get_MyProperty"); 714var myPropertyBackingField = record.GetMember("<MyProperty>k__BackingField"); 718static void validateCompilerGeneratedAttribute(Symbol symbol) 742var toString = record.GetMember(WellKnownMemberNames.ObjectToString); 745var printMembers = record.GetMember(WellKnownMemberNames.PrintMembersMethodName); 748var op_Equality = record.GetMember(WellKnownMemberNames.EqualityOperatorName); 751var op_Inequality = record.GetMember(WellKnownMemberNames.InequalityOperatorName); 754var getHashCode = record.GetMember(WellKnownMemberNames.ObjectGetHashCode); 762var ctor = record.GetMember(WellKnownMemberNames.InstanceConstructorName); 765var myProperty = record.GetMember("MyProperty"); 768var myPropertyGetter = record.GetMember("get_MyProperty"); 771var myPropertyBackingField = record.GetMember("<MyProperty>k__BackingField"); 775static void validateCompilerGeneratedAttribute(Symbol symbol) 805var p1_backingField = record.GetMember("<P1>k__BackingField"); 808var equalityContractGetter = record.GetMember("get_EqualityContract"); 811var get_P1 = record.GetMember("get_P1"); 814var set_P1 = record.GetMember("set_P1"); 817var toString = record.GetMember(WellKnownMemberNames.ObjectToString); 820var printMembers = record.GetMember(WellKnownMemberNames.PrintMembersMethodName); 823var op_Equality = record.GetMember(WellKnownMemberNames.EqualityOperatorName); 826var op_Inequality = record.GetMember(WellKnownMemberNames.InequalityOperatorName); 829var getHashCode = record.GetMember(WellKnownMemberNames.ObjectGetHashCode); 837var clone = record.GetMember(WellKnownMemberNames.CloneMethodName); 847var deconstruct = record.GetMember(WellKnownMemberNames.DeconstructMethodName); 850var equalityContract = record.GetMember("EqualityContract"); 853var p1 = record.GetMember("P1"); 857static void validateCompilerGeneratedAttribute(Symbol symbol) 878var p1_backingField = record.GetMember("<P1>k__BackingField"); 888var get_P1 = record.GetMember("get_P1"); 891var set_P1 = record.GetMember("set_P1"); 894var toString = record.GetMember(WellKnownMemberNames.ObjectToString); 897var printMembers = record.GetMember(WellKnownMemberNames.PrintMembersMethodName); 900var op_Equality = record.GetMember(WellKnownMemberNames.EqualityOperatorName); 903var op_Inequality = record.GetMember(WellKnownMemberNames.InequalityOperatorName); 906var getHashCode = record.GetMember(WellKnownMemberNames.ObjectGetHashCode); 914var deconstruct = record.GetMember(WellKnownMemberNames.DeconstructMethodName); 917var p1 = record.GetMember("P1"); 921void validateCompilerGeneratedAttribute(Symbol symbol) 945var ctor = record.GetMember(WellKnownMemberNames.InstanceConstructorName); 948var toString = record.GetMember(WellKnownMemberNames.ObjectToString); 951var op_Equality = record.GetMember(WellKnownMemberNames.EqualityOperatorName); 954var op_Inequality = record.GetMember(WellKnownMemberNames.InequalityOperatorName); 957var getHashCode = record.GetMember(WellKnownMemberNames.ObjectGetHashCode);
Attributes\AttributeTests_Tuples.cs (3)
272private static string ToTestString(Symbol symbol) 588var prop1 = _derivedClass.GetMember("Prop1"); 595var prop2 = _derivedClass.GetMember("Prop2");
Attributes\AttributeTests_WellKnownAttributes.cs (4)
132var assembly = m.ContainingSymbol; 247var assembly = m.ContainingSymbol; 377var assembly = m.ContainingSymbol; 13243private static string CheckAttributePropagation(Symbol symbol)
Attributes\WellKnownAttributesTestBase.cs (1)
73var assembly = m.ContainingSymbol;
FlowAnalysis\FlowTestBase.cs (3)
67private IEnumerable<MethodSymbol> AllMethods(Symbol symbol) 76foreach (var m in (symbol as NamedTypeSymbol).GetMembers()) 86foreach (var m in (symbol as NamespaceSymbol).GetMembers())
RefReadonlyParameterTests.cs (1)
90var method = parameter.ContainingSymbol;
Semantics\CollectionExpressionTests.cs (2)
13364var sourceMember = sourceType.GetMembers(memberName).Single(); 13365var synthesizedMember = synthesizedType.GetMembers(memberName).Single();
Semantics\ExperimentalAttributeTests.cs (2)
597var m = comp.GetMember("C.M"); 638var m = comp.GetMember("C.M");
Semantics\ExtensionTests.cs (4)
8947Symbol m1 = extensions[0].GetMembers().Single(); 8953Symbol m2 = extensions[1].GetMembers().Single(); 48070Symbol m1 = extensions[0].GetMembers().Single(); 48076Symbol m2 = extensions[1].GetMembers().Single();
Semantics\ExtensionTests2.cs (5)
4905var mSkeleton = comp.GetMember<NamedTypeSymbol>("E").GetTypeMembers().Single().GetMember("M"); 6381var mSkeleton = comp2.GetMember<NamedTypeSymbol>("E").GetTypeMembers().Single().GetMember("M"); 6626var mSkeleton = comp.GetMember<NamedTypeSymbol>("E").GetTypeMembers().First().GetMember("M"); 25641var method = extension.GetMembers().Single(); 25703var member = extension.GetMembers().Single();
Semantics\PatternMatchingTests4.cs (9)
2075var ctorObject = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctorObject); 2078var ctor = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctor); 2081var invalidOperationExceptionCtor = compilation.GetWellKnownTypeMember(WellKnownMember.System_InvalidOperationException__ctor); 2214var ctorObject = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctorObject); 2217var ctor = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctor); 2417var ctorObject = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctorObject); 2606var ctorObject = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctorObject); 2609var ctor = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctor); 2612var invalidOperationExceptionCtor = compilation.GetWellKnownTypeMember(WellKnownMember.System_InvalidOperationException__ctor);
Semantics\PrimaryConstructorTests.cs (2)
3046IEnumerable<string> getAttributeStrings(Symbol symbol) 6304var property = cMember.GetMembers("I1").Single();
Semantics\RecordTests.cs (20)
8669var x = c.GetMembers("X").Single(); 12433private static void VerifyProperty(Symbol symbol, string propertyDescription, string? getterName, string? setterName) 13446var copyCtor = comp.GetMembers("C..ctor")[1]; 13479var sealedCopyCtor = comp.GetMembers("Sealed..ctor")[1]; 13483var unsealedCopyCtor = comp.GetMembers("Unsealed..ctor")[1]; 21184private static ImmutableArray<Symbol> GetProperties(CSharpCompilation comp, string typeName) 23223ImmutableArray<Symbol> cEquals = comp.GetMembers("C.Equals"); 23226var baseEquals = cEquals[1]; 23242private static void VerifyVirtualMethods(ImmutableArray<Symbol> members, params (string displayString, bool isOverride)[] values) 25209IEnumerable<string> getAttributeStrings(Symbol symbol) 25269IEnumerable<string> getAttributeStrings(Symbol symbol) 25346IEnumerable<string> getAttributeStrings(Symbol symbol) 25407IEnumerable<string> getAttributeStrings(Symbol symbol) 25488IEnumerable<string> getAttributeStrings(Symbol symbol) 25572IEnumerable<string> getAttributeStrings(Symbol symbol) 25636IEnumerable<string> getAttributeStrings(Symbol symbol) 28257var property = cMember.GetMembers("I1").Single(); 28409var property = cMember.GetMembers("I1").Single(); 28619var property = cMember.GetMembers("I1").Single(); 29163var property = cMember.GetMembers("I1").Single();
Symbols\UserDefinedCompoundAssignmentOperatorsTests.cs (41)
5900var i1M1 = compilation1.GetTypeByMetadataName("I1").GetMembers().Single(); 5987var i1M1 = compilation1.GetTypeByMetadataName("I1").GetMembers().Single(); 6133var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6175var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 6208var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6242var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6276var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6310var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6352var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 6395var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 6440var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 6474var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6510var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6553var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 6587var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6624var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6661var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6697var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 6741var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 6784var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 6831var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 6866var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 17556var i1M1 = compilation1.GetTypeByMetadataName("I1").GetMembers().Single(); 17643var i1M1 = compilation1.GetTypeByMetadataName("I1").GetMembers().Single(); 17799var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 17832var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 17876var actualSymbols = GetReferencedSymbols(crefSyntax, compilation, out var ambiguityWinner, expected[count]); 17913var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 17956var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 17999var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 18033var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 18067var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 18113var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 18147var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 18190var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 18237var actualSymbols = GetReferencedSymbols(crefSyntax, compilation, out var ambiguityWinner, expected[count]); 18276var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 18322var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 18368var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, expected[count]); 18402var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 18437var actualSymbol = GetReferencedSymbol(crefSyntax, compilation);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (109)
Semantics\AccessCheckTests.cs (41)
771Assert.True(Symbol.IsSymbolAccessible(classA.GetSymbol(), classB.GetSymbol())); 773Assert.True(Symbol.IsSymbolAccessible(aliasA.GetSymbol(), classB.GetSymbol())); 775Assert.True(Symbol.IsSymbolAccessible(pubField.GetSymbol(), classB.GetSymbol())); 777Assert.False(Symbol.IsSymbolAccessible(privField.GetSymbol(), classB.GetSymbol())); 779Assert.False(Symbol.IsSymbolAccessible(karrayType.GetSymbol(), classB.GetSymbol())); 781Assert.True(Symbol.IsSymbolAccessible(aarrayType.GetSymbol(), classB.GetSymbol())); 783Assert.False(Symbol.IsSymbolAccessible(kptrType.GetSymbol(), classB.GetSymbol())); 785Assert.True(Symbol.IsSymbolAccessible(aptrType.GetSymbol(), classB.GetSymbol())); 787Assert.False(Symbol.IsSymbolAccessible(kinreturnfuncptrType.GetSymbol(), classB.GetSymbol())); 789Assert.False(Symbol.IsSymbolAccessible(kinparamfuncptr1Type.GetSymbol(), classB.GetSymbol())); 791Assert.False(Symbol.IsSymbolAccessible(kinparamfuncptr2Type.GetSymbol(), classB.GetSymbol())); 793Assert.True(Symbol.IsSymbolAccessible(afuncptrType.GetSymbol(), classB.GetSymbol())); 795Assert.False(Symbol.IsSymbolAccessible(kdiscard.GetSymbol(), classB.GetSymbol())); 797Assert.True(Symbol.IsSymbolAccessible(adiscard.GetSymbol(), classB.GetSymbol())); 799Assert.False(Symbol.IsSymbolAccessible(kenumType.GetSymbol(), classB.GetSymbol())); 801Assert.True(Symbol.IsSymbolAccessible(aenumType.GetSymbol(), classB.GetSymbol())); 803Assert.True(Symbol.IsSymbolAccessible(unknownType.GetSymbol(), classB.GetSymbol())); 805Assert.True(Symbol.IsSymbolAccessible(globalNS.GetSymbol(), classB.GetSymbol())); 807Assert.True(Symbol.IsSymbolAccessible(protField.GetSymbol(), classA.GetSymbol())); 809Assert.True(Symbol.IsSymbolAccessible(protField.GetSymbol(), classA.GetSymbol(), classADerived.GetSymbol())); 811Assert.False(Symbol.IsSymbolAccessible(protField.GetSymbol(), classB.GetSymbol())); 813Assert.False(Symbol.IsSymbolAccessible(protField.GetSymbol(), classB.GetSymbol(), classADerived.GetSymbol())); 815Assert.True(Symbol.IsSymbolAccessible(protField.GetSymbol(), classA.GetSymbol())); 817Assert.True(Symbol.IsSymbolAccessible(protField.GetSymbol(), classADerived.GetSymbol(), classADerived.GetSymbol())); 819Assert.False(Symbol.IsSymbolAccessible(protField.GetSymbol(), classADerived.GetSymbol(), classADerived2.GetSymbol())); 822Assert.True(Symbol.IsSymbolAccessible(classA.GetSymbol(), sourceAssem.GetSymbol())); 824Assert.True(Symbol.IsSymbolAccessible(aliasA.GetSymbol(), sourceAssem.GetSymbol())); 826Assert.True(Symbol.IsSymbolAccessible(aarrayType.GetSymbol(), sourceAssem.GetSymbol())); 828Assert.False(Symbol.IsSymbolAccessible(karrayType.GetSymbol(), sourceAssem.GetSymbol())); 830Assert.True(Symbol.IsSymbolAccessible(aptrType.GetSymbol(), sourceAssem.GetSymbol())); 832Assert.True(Symbol.IsSymbolAccessible(afuncptrType.GetSymbol(), sourceAssem.GetSymbol())); 834Assert.False(Symbol.IsSymbolAccessible(kptrType.GetSymbol(), sourceAssem.GetSymbol())); 836Assert.False(Symbol.IsSymbolAccessible(kinreturnfuncptrType.GetSymbol(), sourceAssem.GetSymbol())); 838Assert.False(Symbol.IsSymbolAccessible(kinparamfuncptr1Type.GetSymbol(), sourceAssem.GetSymbol())); 840Assert.False(Symbol.IsSymbolAccessible(kinparamfuncptr2Type.GetSymbol(), sourceAssem.GetSymbol())); 842Assert.True(Symbol.IsSymbolAccessible(adiscard.GetSymbol(), sourceAssem.GetSymbol())); 844Assert.False(Symbol.IsSymbolAccessible(kdiscard.GetSymbol(), sourceAssem.GetSymbol())); 846Assert.False(Symbol.IsSymbolAccessible(classA.GetSymbol(), mscorlibAssem.GetSymbol())); 848Assert.False(Symbol.IsSymbolAccessible(aliasA.GetSymbol(), mscorlibAssem.GetSymbol())); 850Assert.True(Symbol.IsSymbolAccessible(unknownType.GetSymbol(), sourceAssem.GetSymbol())); 852Assert.True(Symbol.IsSymbolAccessible(mscorlibAssem.GetSymbol(), sourceAssem.GetSymbol()));
Semantics\AccessibilityTests.cs (1)
67Symbol symbol = CSharpCompilation.Create(
Semantics\ConstantTests.cs (1)
2951var symbol = compilation.GlobalNamespace.GetTypeMembers("c1").First().GetMembers("Z1").First();
Semantics\DelegateTypeTests.cs (1)
14882internal override Symbol UnderlyingSymbol => _underlying;
Semantics\ExpressionBodiedMemberTests.cs (1)
210var prop = accessor.AssociatedSymbol;
Semantics\InitOnlyMemberTests.cs (2)
2561foreach (var member in cMembers) 4151foreach (var member in delegateMemberSymbols)
Semantics\LockTests.cs (1)
694private static void VerifySemanticInfoForLockStatements(CSharpCompilation compilation, Symbol symbol, int index = 1, bool isSymbolNull = false)
Semantics\LookupTests.cs (2)
2039var m = comp.GlobalNamespace.GetTypeMembers("Program").Single().GetMembers("M").Single(); 2069var m = comp.GlobalNamespace.GetTypeMembers("Program").Single().GetMembers("M").Single();
Semantics\NameOfTests.cs (12)
971var cProperty = comp.GetMember("C.Property"); 972var cField = comp.GetMember("C.Field"); 973var cEvent = comp.GetMember("C.Event"); 991void verify(int index, string expression, Symbol symbol) 1062void verify(int index, string expression, ImmutableArray<Symbol> symbols) 1125var c1Property = comp.GetMember("C1.Property"); 1126var c1Field = comp.GetMember("C1.Field"); 1127var c1Event = comp.GetMember("C1.Event"); 1148void verify(int index, string expression, Symbol symbol) 1207var c1Event = comp.GetMember("C1.Event"); 1208var actionInvoke = comp.GetWellKnownType(WellKnownType.System_Action).GetMember("Invoke"); 1226void verify(int index, string expression, params Symbol[] symbols)
Semantics\NativeIntegerTests.cs (14)
430static bool includeUnderlyingMember(Symbol underlyingMember) 462static bool includeNativeIntegerMember(Symbol nativeIntegerMember) 474foreach (var member in allMembers) 491static void verifyMembers(NamedTypeSymbol type, ImmutableArray<Symbol> allMembers, ImmutableArray<Symbol> members) 493foreach (var member in members) 500static void verifyMember(NamedTypeSymbol type, Symbol member) 548private static void VerifyMember(Symbol member, Symbol underlyingMember, bool signed) 613static Symbol getUnderlyingMember(Symbol nativeIntegerMember) 657private static int SymbolComparison(Symbol x, Symbol y) => SymbolComparison(x.ToTestDisplayString(), y.ToTestDisplayString()); 2493foreach (var member in members)
Semantics\NullableContextTests.cs (1)
2255key is Symbol symbol ? symbol.MetadataName : ((SyntaxNode)key).ToString();
Semantics\NullableReferenceTypesTests.cs (19)
97682var b = m.GlobalNamespace.GetMember("B"); 102160var i1 = m.GlobalNamespace.GetMember("I1"); 102229var i1 = m.GlobalNamespace.GetMember("I1"); 102263var i1 = m.GlobalNamespace.GetMember("I1"); 102303var i1 = m.GlobalNamespace.GetMember("I1"); 102341var i1 = m.GlobalNamespace.GetMember("I1"); 102463var i1 = m.GlobalNamespace.GetMember("I1"); 104945var b = m.GlobalNamespace.GetMember("B"); 105022var b = m.GlobalNamespace.GetMember("B"); 115738var implicitOp = comp.GetSpecialTypeMember(SpecialMember.System_Nullable_T__op_Implicit_FromT); 115739var explicitOp = comp.GetSpecialTypeMember(SpecialMember.System_Nullable_T__op_Explicit_ToT); 115740var getDefault = comp.GetWellKnownTypeMember(WellKnownMember.System_Collections_Generic_EqualityComparer_T__get_Default); 138555var c = comp2.GlobalNamespace.GetMember("C"); 138592var cme = Assert.Single(cm.GetExplicitInterfaceImplementations()); 138630var cme = Assert.Single(cm.GetExplicitInterfaceImplementations()); 138664var cme = Assert.Single(cm.GetExplicitInterfaceImplementations()); 138698var cme = Assert.Single(cm.GetExplicitInterfaceImplementations()); 138742var cme = Assert.Single(cm.GetExplicitInterfaceImplementations()); 138784var cme = Assert.Single(cm.GetExplicitInterfaceImplementations());
Semantics\OverloadResolutionPerfTests.cs (2)
533var method = comp.GetMember("Program.F2"); 563var method = comp.GetMember("Program.F");
Semantics\RecordStructTests.cs (5)
3288var property = cMember.GetMembers("I1").Single(); 3363var property = comp.GetMember("C.I1"); 3411var property = comp.GetMember("C.I1"); 3462var property = comp.GetMember("C.I1"); 10590IEnumerable<string> getAttributeStrings(Symbol symbol)
Semantics\ScriptSemanticsTests.cs (1)
413foreach (var member in members)
Semantics\SynthesizedStaticConstructorTests.cs (1)
297foreach (var member in typeSymbol.GetMembers(WellKnownMemberNames.StaticConstructorName))
Semantics\UninitializedNonNullableFieldTests.cs (2)
2751var property = comp.GetTypeByMetadataName("C").GetMember("S"); 2772var property = comp.GetTypeByMetadataName("C").GetMember("S");
Semantics\UnsafeTests.cs (2)
5247if (_binder.IsMoveableVariable(expr, out Symbol accessedLocalOrParameterOpt)) 12343foreach (var member in s.GetMembers())
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (586)
Compilation\GetSemanticInfoBrokenCodeTests.cs (2)
182Symbol member; 183member = type.GetMember<Symbol>("F");
Compilation\ReferenceManagerTests.cs (2)
2188var a0 = c1.GetAssemblyOrModuleSymbol(refVectors40); 2189var a1 = c1.GetAssemblyOrModuleSymbol(refVectors41);
Compilation\SemanticModelAPITests.cs (1)
1924var symbol = ((CSharp.Symbols.PublicModel.LabelSymbol)statModel.GetDeclaredSymbol(switchLabel))?.UnderlyingSymbol;
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (1)
2181var result = lookupResult.IsMultiViable ? lookupResult.Symbols.ToImmutable() : ImmutableArray.Create<Symbol>();
DocumentationComments\ConstructorDocumentationCommentTests.cs (1)
48var staticConstructorSymbol = _widgetClass.GetMembers(WellKnownMemberNames.StaticConstructorName).Single();
DocumentationComments\CrefTests.cs (86)
256var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 330var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 359var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 388var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 408var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 428var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 445var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 470var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 500var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 522var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 542var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 562var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 585var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 608var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 630var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 666var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 700var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1208Symbol actualWinner; 1249var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1271var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1293var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1315var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1337var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1359var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1382Symbol actualWinner; 1410var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1429var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1454var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1480var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1506var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1531var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 1554var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1603var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1633var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1661Symbol actualWinner; 1699Symbol actualWinner; 1736var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1762var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1783var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1806var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1847var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1872Symbol actualSymbol; 1906var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1941var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 1976var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2004Symbol actualWinner; 2046var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2097var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2138var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2168var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2198var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2219var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2240var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2261var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2281var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2307var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2330var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2358var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2381var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2413var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2433var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2453var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2474var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2495var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2519var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2543var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2566var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2598var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2618var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2638var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2659var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2682var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2703var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2727var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2751var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2774var actualSymbol = GetReferencedSymbol(crefSyntax, compilation, 2806var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2842var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2862var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2882var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2903var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 2924var actualSymbol = GetReferencedSymbol(crefSyntax, compilation); 5514Func<Symbol> lookupSymbol = () => 5530var symbol = lookupResult.Symbols.Single(); 5537var symbol1 = lookupSymbol(); 5538var symbol2 = lookupSymbol();
DocumentationComments\FieldDocumentationCommentTests.cs (3)
67var total1 = _valueType.GetMembers("total1").Single(); 68var total2 = _valueType.GetMembers("total2").Single(); 141var field = _enumSymbol.GetMembers("A").Single();
DocumentationComments\IncludeTests.cs (2)
56var symbol = widgetClass.GetMembers(symbolName).Single(); 118var symbol = widgetClass.GetMembers(symbolName).Single();
DocumentationComments\MethodDocumentationCommentTests.cs (2)
90var m0 = _widgetClass.GetMembers("M0").Single(); 209foreach (var member in members)
DocumentationComments\PartialTypeDocumentationCommentTests.cs (3)
68var method = _gooClass.GetMembers("MethodWithNoImplementation").Single(); 82var method = _gooClass.GetMembers("ImplementedMethodWithNoSummaryOnImpl").Single(); 93var method = _gooClass.GetMembers("ImplementedMethod").Single();
SymbolDisplay\SymbolDisplayTests.cs (146)
29Func<NamespaceSymbol, Symbol> findSymbol = global => 48Func<NamespaceSymbol, Symbol> findSymbol = global => 72Func<NamespaceSymbol, Symbol> findSymbol = global => 100Func<NamespaceSymbol, Symbol> findSymbol = global => 128Func<NamespaceSymbol, Symbol> findSymbol = global => 153Func<NamespaceSymbol, Symbol> findSymbol = global => global.GetTypeMembers("A", 0).Single(); 176Func<NamespaceSymbol, Symbol> findSymbol = global => 204Func<NamespaceSymbol, Symbol> findSymbol = global => 229Func<NamespaceSymbol, Symbol> findSymbol = global => 255Func<NamespaceSymbol, Symbol> findSymbol = global => 289Func<NamespaceSymbol, Symbol> findSymbol = global => 338Func<NamespaceSymbol, Symbol> findSymbol = global => 403Func<NamespaceSymbol, Symbol> findSymbol = global => 459Func<NamespaceSymbol, Symbol> findSymbol = global => 524Func<NamespaceSymbol, Symbol> findSymbol = global => 589Func<NamespaceSymbol, Symbol> findSymbol = global => 645Func<NamespaceSymbol, Symbol> findSymbol = global => 697Func<NamespaceSymbol, Symbol> findSymbol = global => 735Func<NamespaceSymbol, Symbol> findSymbol = global => 759Func<NamespaceSymbol, Symbol> findSymbol = global => 797Func<NamespaceSymbol, Symbol> findSymbol = global => 830Func<NamespaceSymbol, Symbol> findSymbol = global => 869Func<NamespaceSymbol, Symbol> findSymbol = global => 904Func<NamespaceSymbol, Symbol> findSymbol = global => 939Func<NamespaceSymbol, Symbol> findSymbol = global => 974Func<NamespaceSymbol, Symbol> findSymbol = global => 1009Func<NamespaceSymbol, Symbol> findSymbol = global => 1063Func<NamespaceSymbol, Symbol> findSymbol = global => 1104Func<NamespaceSymbol, Symbol> findSymbol = global => 1150Func<NamespaceSymbol, Symbol> findSymbol = global => 1179Func<NamespaceSymbol, Symbol> findSymbol = global => 1211Func<NamespaceSymbol, Symbol> findSymbol = global => 1254Func<NamespaceSymbol, Symbol> findSymbol = global => 1279Func<NamespaceSymbol, Symbol> findSymbol = global => 1306Func<NamespaceSymbol, Symbol> findSymbol = global => 1332Func<NamespaceSymbol, Symbol> findSymbol = global => 1356Func<NamespaceSymbol, Symbol> findSymbol = global => 1379Func<NamespaceSymbol, Symbol> findSymbol = global => 1405Func<NamespaceSymbol, Symbol> findSymbol = global => 1445Func<NamespaceSymbol, Symbol> findSymbol = global => 1468Func<NamespaceSymbol, Symbol> findSymbol = global => 1603Func<NamespaceSymbol, Symbol> findSymbol = global => 1633Func<NamespaceSymbol, Symbol> findSymbol = global => 1667Func<NamespaceSymbol, Symbol> findType = global => 1670Func<NamespaceSymbol, Symbol> findTypeParameter = global => 1709Func<NamespaceSymbol, Symbol> findSymbol = global => 1741Func<NamespaceSymbol, Symbol> findSymbol = global => 1774Func<NamespaceSymbol, Symbol> findSymbol = global => 1816Func<NamespaceSymbol, Symbol> findSymbol = global => 1839Func<NamespaceSymbol, Symbol> findSymbol = global => 1876Func<NamespaceSymbol, Symbol> findSymbol = global => 1899Func<NamespaceSymbol, Symbol> findSymbol = global => 1934Func<NamespaceSymbol, Symbol> findSymbol = global => 1957Func<NamespaceSymbol, Symbol> findSymbol = global => 2062Func<NamespaceSymbol, Symbol> findSymbol = global => 2100Func<NamespaceSymbol, Symbol> findSymbol = global => 2138Func<NamespaceSymbol, Symbol> findSymbol = global => 2176Func<NamespaceSymbol, Symbol> findSymbol = global => 2208Func<NamespaceSymbol, Symbol> findSymbol = global => 2242Func<NamespaceSymbol, Symbol> findSymbol = global => 2268Func<NamespaceSymbol, Symbol> findSymbol = global => 2323Func<NamespaceSymbol, Symbol> findSymbol = global => 2422Func<NamespaceSymbol, Symbol> findSymbol1 = global => 2426Func<NamespaceSymbol, Symbol> findSymbol2 = global => 2475Func<NamespaceSymbol, Symbol> findSymbol1 = global => 2479Func<NamespaceSymbol, Symbol> findSymbol2 = global => 2514Func<NamespaceSymbol, Symbol> findSymbol = global => 2551Func<NamespaceSymbol, Symbol> findSymbol = global => 2588Func<NamespaceSymbol, Symbol> findSymbol = global => 2614Func<NamespaceSymbol, Symbol> findSymbol = global => 2644Func<NamespaceSymbol, Symbol> findSymbol = global => 2672Func<NamespaceSymbol, Symbol> findSymbol = global => 2763Func<NamespaceSymbol, Symbol> findSymbol = global => 2824Func<NamespaceSymbol, Symbol> findSymbol = global => 2916Func<NamespaceSymbol, Symbol> findSymbol = global => 2946Func<NamespaceSymbol, Symbol> findSymbol = global => 2980Func<NamespaceSymbol, Symbol> findSymbol = global => 3011Func<NamespaceSymbol, Symbol> findSymbol = global => 3045Func<NamespaceSymbol, Symbol> findSymbol = global => 3072Func<NamespaceSymbol, Symbol> findSymbol = global => 3151var methodSymbol = hostTypeSymbol.GetMember("Method"); 3152var delegateSymbol = hostTypeSymbol.GetMember("MyDelegate"); 3153var fieldSymbol = hostTypeSymbol.GetMember("Field"); 3154var propertySymbol = hostTypeSymbol.GetMember("Property"); 3155var eventSymbol = hostTypeSymbol.GetMember("Event"); 3158var nestedMethodSymbol = nestedTypeSymbol.GetMember("Method"); 3159var nestedDelegateSymbol = nestedTypeSymbol.GetMember("MyDelegate"); 3160var nestedFieldSymbol = nestedTypeSymbol.GetMember("Field"); 3161var nestedPropertySymbol = nestedTypeSymbol.GetMember("Property"); 3162var nestedEventSymbol = nestedTypeSymbol.GetMember("Event"); 3317Func<NamespaceSymbol, Symbol> findSymbol = global => 3340Func<NamespaceSymbol, Symbol> findSymbol = global => 3361Func<NamespaceSymbol, Symbol> findSymbol = global => 3386Func<NamespaceSymbol, Symbol> findSymbol = global => 3696Func<NamespaceSymbol, Symbol> findSymbol, 3707var symbol = findSymbol(global); 3718Func<NamespaceSymbol, Symbol> findSymbol, 3728Func<NamespaceSymbol, Symbol> findSymbol, 3736var symbol = findSymbol(global); 3756Func<NamespaceSymbol, Symbol> findSymbol = global => 3807Func<NamespaceSymbol, Symbol> findSymbol = global => 3861Func<NamespaceSymbol, Symbol> findSymbol = global => 3913Func<NamespaceSymbol, Symbol> findSymbol = global => 3964Func<NamespaceSymbol, Symbol> findSymbol = global => 4045Func<NamespaceSymbol, Symbol> findSymbol = global => 4115Func<NamespaceSymbol, Symbol> findSymbol1 = global => 4117Func<NamespaceSymbol, Symbol> findSymbol2 = global => 4119Func<NamespaceSymbol, Symbol> findSymbol3 = global => 4227Func<NamespaceSymbol, Symbol> findSymbol1 = global => 4229Func<NamespaceSymbol, Symbol> findSymbol2 = global => 4231Func<NamespaceSymbol, Symbol> findSymbol3 = global => 4341Func<NamespaceSymbol, Symbol> findSymbol = global => 4445Func<NamespaceSymbol, Symbol> findSymbol = global => 4549Func<NamespaceSymbol, Symbol> findSymbol = global => 4593Func<NamespaceSymbol, Symbol> findSymbol = global => 4640Func<NamespaceSymbol, Symbol> findSymbol = global => 4682Func<NamespaceSymbol, Symbol> findSymbol = global => 4717Func<NamespaceSymbol, Symbol> findSymbol = global => 4765Func<NamespaceSymbol, Symbol> findSymbol = global => 4806Func<NamespaceSymbol, Symbol> findSymbol = global => 4876Func<NamespaceSymbol, Symbol> findSymbol = global => 5162Assert.False(type is Symbol); 5163Assert.False(method is Symbol); 5164Assert.False(property is Symbol); 5165Assert.False(field is Symbol); 5166Assert.False(@event is Symbol); 5167Assert.False(@delegate is Symbol); 5168Assert.False(error is Symbol); 5403var m1 = cTest.GetMember("M1"); 5407var p1 = cTest.GetMember("P1"); 5411var e1 = cTest.GetMember("E1"); 5456Func<NamespaceSymbol, Symbol> findSymbol = global => 5488Func<NamespaceSymbol, Symbol> findSymbol = global => 5497var symbol = findSymbol(global); 5519Func<NamespaceSymbol, Symbol> findSymbol = global => 5550Func<NamespaceSymbol, Symbol> findSymbol = global => 5587Func<NamespaceSymbol, Symbol> findSymbol = global => 5638Func<NamespaceSymbol, Symbol> findSymbol = global => 8322Func<NamespaceSymbol, Symbol> findSymbol = global => global.GetTypeMembers("Person").Single(); 8343Func<NamespaceSymbol, Symbol> findSymbol = global => global.GetTypeMembers("Person").Single(); 8364Func<NamespaceSymbol, Symbol> findSymbol = global => global.GetTypeMembers("Person").Single(); 8387Func<NamespaceSymbol, Symbol> findSymbol = global => global.GetTypeMembers("Person").Single(); 8414Func<NamespaceSymbol, Symbol> findSymbol = global => 8435Func<NamespaceSymbol, Symbol> findSymbol = global => 8456Func<NamespaceSymbol, Symbol> findSymbol = global => 8477Func<NamespaceSymbol, Symbol> findSymbol = global =>
Symbols\AnonymousTypesSymbolTests.cs (3)
1079private T GetMemberByName<T>(NamedTypeSymbol type, string name) where T : Symbol 1081foreach (var symbol in type.GetMembers(name)) 1145private void TestAttributeOnSymbol(Symbol symbol, params AttributeInfo[] attributes)
Symbols\CheckedUserDefinedOperatorsTests.cs (37)
541var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 599var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 630var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 662var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 713var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 771var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 803var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 836var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 885var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 1083var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1133var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1186var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1236var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1721var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 1781var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1813var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1844var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 1910var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 1954var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2013var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2046var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2079var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2138var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2302var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2396var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2880var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2935var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2964var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2993var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3022var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3046var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 3101var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3130var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3159var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3188var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3280var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3330var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected);
Symbols\CorLibrary\CorTypes.cs (1)
118foreach (var m in namespaces.Dequeue().GetMembers())
Symbols\CovariantReturnTests.cs (8)
247var member = comp.GlobalNamespace.GetMember(methodName); 253Symbol member, 259var overriddenMember = member.GetOverriddenMember(); 351private static Symbol MemberOfConstructedType( 365var method = comp.GlobalNamespace.GetMember(methodName); 366var overridden = method.GetOverriddenMember(); 4024var lastReference = compilation.GetAssemblyOrModuleSymbol(compilation.References.Last()); 4262var lastReference = compilation.GetAssemblyOrModuleSymbol(compilation.References.Last());
Symbols\DefaultInterfaceImplementationTests.cs (2)
49536foreach (var member in i1.GetMembers()) 49584foreach (var member in i1.GetMembers())
Symbols\FunctionPointerTypeSymbolTests.cs (2)
948static void assertSymbolEquality(Symbol s1, Symbol s2, Equality eq)
Symbols\GenericConstraintTests.cs (2)
3358var impl = c1.FindImplementationForInterfaceMember(im); 3415var m = ((NamedTypeSymbol)compilation.GetMember("C1")).GetMember("I.M");
Symbols\IndexerTests.cs (7)
552var indexer0Impl = @class.FindImplementationForInterfaceMember(interfaceIndexers[0]); 553var indexer1Impl = @class.FindImplementationForInterfaceMember(interfaceIndexers[1]); 1171var classEventImpl = @class.GetMembers().Where(m => m.GetExplicitInterfaceImplementations().Contains(interfaceEvent)).Single(); 1172var classPropertyImpl = @class.GetMembers().Where(m => m.GetExplicitInterfaceImplementations().Contains(interfaceProperty)).Single(); 1173var classIndexerImpl = @class.GetMembers().Where(m => m.GetExplicitInterfaceImplementations().Contains(interfaceIndexer)).Single(); 1233var classCIndexer = classC.GetMembers().Where(s => s.Kind == SymbolKind.Property).Single(); 1245var classCIndexer = classC.GetMembers().Where(s => s.Kind == SymbolKind.Property).Single();
Symbols\InterfaceImplementationTests.cs (63)
53var baseMethod = @base.GetMembers("Method").Single(); 65var baseField = @base.GetMembers("Field").Single(); 68var baseNestedInterface = @base.GetMembers("Interface").Single(); 71var baseNestedClass = @base.GetMembers("Class").Single(); 74var baseNestedStruct = @base.GetMembers("Struct").Single(); 77var baseNestedEnum = @base.GetMembers("Enum").Single(); 80var baseNestedDelegate = @base.GetMembers("Delegate").Single(); 87var interfaceMethod = @base.GetMembers("Method").Single(); 123var baseInterfaceMethod = baseInterface.GetMembers("Method").Single(); 126var interfaceMethod = @interface.GetMembers("Method").Single(); 142var implementingMethodBase = @class.FindImplementationForInterfaceMember(baseInterfaceMethod); 145var implementingMethod = @class.FindImplementationForInterfaceMember(interfaceMethod); 193var implementingMethodBase = @class.FindImplementationForInterfaceMember(baseInterfaceIndexer); 196var implementingMethod = @class.FindImplementationForInterfaceMember(interfaceIndexer); 246var baseInterface1Method = baseInterface1.GetMembers("BaseMethod").Single(); 249var baseInterface2Method = baseInterface2.GetMembers("BaseMethod").Single(); 252var interfaceMethod = @interface.GetMembers("Method").Single(); 262var implementingMethod = @class.FindImplementationForInterfaceMember(interfaceMethod); 265var implementingMethodBase1 = @class.FindImplementationForInterfaceMember(baseInterface1Method); 268var implementingMethodBase2 = @class.FindImplementationForInterfaceMember(baseInterface2Method); 330var implementingIndexer = @class.FindImplementationForInterfaceMember(interfaceIndexer); 333var implementingIndexerBase1 = @class.FindImplementationForInterfaceMember(baseInterface1Indexer); 336var implementingIndexerBase2 = @class.FindImplementationForInterfaceMember(baseInterface2Indexer); 375var interfaceMethod = @interface.GetMembers("Method").Single(); 432var baseInterfaceMethod = baseInterface.GetMembers("Method").Single(); 435var interfaceMethod = @interface.GetMembers("Method").Single(); 453var class1ImplementingMethodBase = class1.FindImplementationForInterfaceMember(baseInterfaceMethod); 456var class1ImplementingMethod = class1.FindImplementationForInterfaceMember(interfaceMethod); 461var class2ImplementingMethodBase = class2.FindImplementationForInterfaceMember(baseInterfaceMethod); 464var class2ImplementingMethod = class2.FindImplementationForInterfaceMember(interfaceMethod); 508var baseInterface1Method = baseInterface1.GetMembers("BaseMethod").Single(); 511var baseInterface2Method = baseInterface2.GetMembers("BaseMethod").Single(); 514var interfaceMethod = @interface.GetMembers("Method").Single(); 526var class1ImplementingMethod = class1.FindImplementationForInterfaceMember(interfaceMethod); 529var class1ImplementingMethodBase1 = class1.FindImplementationForInterfaceMember(baseInterface1Method); 532var class1ImplementingMethodBase2 = class1.FindImplementationForInterfaceMember(baseInterface2Method); 537var class2ImplementingMethod = class2.FindImplementationForInterfaceMember(interfaceMethod); 540var class2ImplementingMethodBase1 = class2.FindImplementationForInterfaceMember(baseInterface1Method); 543var class2ImplementingMethodBase2 = class2.FindImplementationForInterfaceMember(baseInterface2Method); 576var interfaceMethod = @interface.GetMembers("Method").Single(); 677var interfaceMethod = @interface.GetMembers("Method").Single(); 683var baseClassImplementingMethod = baseClass.FindImplementationForInterfaceMember(interfaceMethod); 690var class1ImplementingMethod = class1.FindImplementationForInterfaceMember(interfaceMethod); 698var class2ImplementingMethod = class2.FindImplementationForInterfaceMember(interfaceMethod); 738var interfaceMethodVirtual = @interface.GetMembers("Virtual").Single(); 739var interfaceMethodNonVirtual = @interface.GetMembers("NonVirtual").Single(); 751var baseClassImplementingMethodVirtual = baseClass.FindImplementationForInterfaceMember(interfaceMethodVirtual); 754var baseClassImplementingMethodNonVirtual = baseClass.FindImplementationForInterfaceMember(interfaceMethodNonVirtual); 767var class1ImplementingMethodVirtual = class1.FindImplementationForInterfaceMember(interfaceMethodVirtual); 771var class1ImplementingMethodNonVirtual = class1.FindImplementationForInterfaceMember(interfaceMethodNonVirtual); 785var class2ImplementingMethodVirtual = class2.FindImplementationForInterfaceMember(interfaceMethodVirtual); 789var class2ImplementingMethodNonVirtual = class2.FindImplementationForInterfaceMember(interfaceMethodNonVirtual); 828var interfaceMethod = @interface.GetMembers("Method").Single(); 833var nonDeclaring1Method = nonDeclaring1.GetMembers("Method").Single(); 843var nonDeclaring2Method = nonDeclaring2.GetMembers("Method").Single(); 872var interfaceMethod = @interface.GetMembers("Method1").Single(); 882var derivedClassMethod = derivedClass.GetMembers("I1.Method1").Single(); 1073var classMethod1Impl = @class.FindImplementationForInterfaceMember(interfaceMethod1); 1077var classMethod2Impl = @class.FindImplementationForInterfaceMember(interfaceMethod2); 2497var implementation = derivedType.FindImplementationForInterfaceMember(baseType.Interfaces().Single().GetMember("GetHashCode")); 2710var implementingMember = derivedType.FindImplementationForInterfaceMember(interfaceMember); 2733var i1M = comp1.GetMember("I1.M"); 2757var i1M = comp1.GetMember("I1.M");
Symbols\Metadata\MetadataTypeTests.cs (1)
590foreach (var member in @namespace.GetMembers())
Symbols\Metadata\PE\BaseTypeResolution.cs (2)
75foreach (var p in orderablePartitioners) 94foreach (var p in partitioners)
Symbols\Metadata\PE\HasUnsupportedMetadata.cs (9)
166var f1 = c3.GetMembers("F1").Single(); 170var m1 = c3.GetMembers("M1").Single(); 178var e1 = c3.GetMembers("E1").Single(); 182var p1 = c3.GetMembers("P1").Single(); 370var f1 = c3.GetMembers("F1").Single(); 374var m1 = c3.GetMembers("M1").Single(); 382var e1 = c3.GetMembers("E1").Single(); 386var p1 = c3.GetMembers("P1").Single(); 397var begin = vector.GetMember("begin");
Symbols\Metadata\PE\LoadingAttributes.cs (2)
543private void CheckAttributes(Symbol s, AttributeArgs[] expected) 707Assert.Equal("object", ((Symbol)attrSym.CommonConstructorArguments[0].ValueInternal).ToString());
Symbols\Metadata\PE\LoadingEvents.cs (4)
334var outerInterfaceEvent = outerInterface.GetMembers().Single(m => m.Kind == SymbolKind.Event); 344var innerInterfaceEvent = innerInterface.GetMembers().Single(m => m.Kind == SymbolKind.Event); 359private static void CheckInnerClassHelper(NamedTypeSymbol innerClass, string methodName, Symbol interfaceEvent) 606private static VirtualnessModifiers GetVirtualnessModifiers(Symbol symbol)
Symbols\Metadata\PE\LoadingMetadataTokens.cs (10)
52var field = class1.GetMember("f"); 55var property = class1.GetMember("P"); 58var method = class1.GetMember("M"); 64var genericMethod = class1.GetMember("GM"); 70var event1 = class1.GetMember("E"); 110var field = class1.GetMember("f"); 113var property = class1.GetMember("P"); 116var method = class1.GetMember("M"); 122var genericMethod = class1.GetMember("GM"); 128var event1 = class1.GetMember("E");
Symbols\Metadata\PE\LoadingMethods.cs (15)
94var varC108 = localC107.GetMembers("C108").Single(); 98var sameName1 = csharpC1.GetMembers("SameName").Single(); 99var sameName2 = csharpC1.GetMembers("sameName").Single(); 706var outerInterfaceMethod = outerInterface.GetMembers().Single(); 716var innerInterfaceMethod = innerInterface.GetMembers().Single(); 731private static void CheckInnerClassHelper(NamedTypeSymbol innerClass, string methodName, Symbol interfaceMethod) 1180foreach (var m in compilation.GetTypeByMetadataName("cls1").GetMembers()) 1185foreach (var m in compilation.GetTypeByMetadataName("Instance_vs_Static").GetMembers()) 1190foreach (var m in compilation.GetTypeByMetadataName("ReturnAValue1").GetMembers()) 1195foreach (var m in compilation.GetTypeByMetadataName("ReturnAValue2").GetMembers()) 1200foreach (var m in compilation.GetTypeByMetadataName("Generic1").GetMembers()) 1205foreach (var m in compilation.GetTypeByMetadataName("Generic2").GetMembers()) 1210foreach (var m in compilation.GetTypeByMetadataName("HasParameter").GetMembers()) 1215foreach (var m in compilation.GetTypeByMetadataName("Virtual").GetMembers()) 1242foreach (var m in compilation.GetTypeByMetadataName("Microsoft.FSharp.Control.IDelegateEvent`1").GetMembers())
Symbols\Metadata\PE\LoadingNamespacesAndTypes.cs (1)
79foreach (var c in children)
Symbols\Metadata\PE\LoadingProperties.cs (4)
168var outerInterfaceProperty = outerInterface.GetMembers().Single(m => m.Kind == SymbolKind.Property); 178var innerInterfaceProperty = innerInterface.GetMembers().Single(m => m.Kind == SymbolKind.Property); 193private static void CheckInnerClassHelper(NamedTypeSymbol innerClass, string methodName, Symbol interfaceProperty) 381private static VirtualnessModifiers GetVirtualnessModifiers(Symbol symbol)
Symbols\MethodEqualityTests.cs (2)
50Assert.NotEqual<Symbol>(class1, class1Method1); 51Assert.NotEqual<Symbol>(class1Method1, class1);
Symbols\MissingSpecialMember.cs (2)
556var symbol = comp.GetSpecialTypeMember(special); 1089var symbol = comp.GetWellKnownTypeMember(wkm);
Symbols\MockNamedTypeSymbol.cs (9)
19private Symbol _container; 22private readonly IEnumerable<Symbol> _children; 24public void SetContainer(Symbol container) 98public override ImmutableArray<Symbol> GetMembers() 108public override ImmutableArray<Symbol> GetMembers(string name) 115internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 120internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 156public override Symbol ContainingSymbol 174public MockNamedTypeSymbol(string name, IEnumerable<Symbol> children, TypeKind kind = TypeKind.Class)
Symbols\MockNamespaceSymbol.cs (6)
19private readonly IEnumerable<Symbol> _children; 22public MockNamespaceSymbol(string name, NamespaceExtent extent, IEnumerable<Symbol> children) 29public void SetContainer(Symbol container) 50public override ImmutableArray<Symbol> GetMembers() 55public override ImmutableArray<Symbol> GetMembers(ReadOnlyMemory<char> name) 74public override Symbol ContainingSymbol
Symbols\MockSymbolTests.cs (9)
26NamedTypeSymbol elementType = new MockNamedTypeSymbol("TestClass", Enumerable.Empty<Symbol>()); // this can be any type. 53NamedTypeSymbol pointedAtType = new MockNamedTypeSymbol("TestClass", Enumerable.Empty<Symbol>()); // this can be any type. 69NamedTypeSymbol container = new MockNamedTypeSymbol("TestClass", Enumerable.Empty<Symbol>(), TypeKind.Class); 103private Symbol CreateMockSymbol(NamespaceExtent extent, XElement xel) 105Symbol result; 132private void DumpSymbol(Symbol sym, StringBuilder builder, int level) 154foreach (Symbol child in q) 174private string DumpSymbol(Symbol sym) 268void SetContainer(Symbol container);
Symbols\RequiredMembersTests.cs (2)
39var member = module.GlobalNamespace.GetMember(memberPath); 70foreach (var ctor in type.GetMembers().Where(m => m is MethodSymbol { MethodKind: MethodKind.Constructor }))
Symbols\Retargeting\RetargetCustomAttributes.cs (1)
101public void TestAttributeRetargeting(Symbol symbol)
Symbols\Retargeting\RetargetExplicitInterfaceImplementation.cs (4)
81foreach (var member in classC.GetMembers()) 389var interfaceV2Method1 = interfaceV2.GetMembers("Method1").Single(); 390var interfaceV2Property1 = interfaceV2.GetMembers("Property1").Single(); 391var interfaceV2Event1 = interfaceV2.GetMembers("Event1").Single();
Symbols\Retargeting\RetargetingTests.cs (22)
679private void CheckTypes(Symbol source, Symbol retargeting) 684private void CheckMethods(Symbol source, Symbol retargeting) 705private void CheckParameters(Symbol source, Symbol retargeting) 710private void CheckUnderlyingMember(Symbol source, Symbol underlying) 1158public void CheckSymbols(Symbol a, Symbol b, bool recurse) 1198protected abstract void CheckSymbolsInternal(Symbol a, Symbol b); 1201where T : Symbol 1215CheckSymbols((Symbol)a.TryGetSafeArrayElementUserDefinedSubtype(), 1216(Symbol)b.TryGetSafeArrayElementUserDefinedSubtype(), 1281public static void CheckSymbols(Symbol a, Symbol b) 1287protected override void CheckSymbolsInternal(Symbol a, Symbol b) 1291var underlying = GetUnderlyingSymbol(b); 1296private static Symbol GetUnderlyingSymbol(Symbol symbol)
Symbols\Source\CustomModifierCopyTests.cs (3)
2122private static Func<Symbol, bool> IsPropertyWithSingleParameter(SpecialType paramSpecialType, bool isArrayType = false) 2136private static void AssertAllParametersHaveConstModOpt(Symbol member, bool ignoreLast = false) 2150private static void AssertNoParameterHasModOpts(Symbol member)
Symbols\Source\DeclaringSyntaxNodeTests.cs (1)
112private void AssertDeclaringSyntaxNodes(Symbol symbol, CSharpCompilation compilation, params SyntaxNode[] expectedSyntaxNodes)
Symbols\Source\EnumTests.cs (6)
990private List<Symbol> VerifyEnumsValue(string text, string enumName, params object[] expectedEnumValues) 1003private List<Symbol> VerifyEnumsValue(CSharpCompilation comp, string enumName, SpecialType underlyingType, params object[] expectedEnumValues) 1013var fields = symEnum.GetMembers().OfType<FieldSymbol>().Cast<Symbol>().ToList(); 1017foreach (var item in fields) 1026private static Symbol GetSymbolByFullName(CSharpCompilation compilation, string memberName) 1029Symbol currentSymbol = compilation.GlobalNamespace;
Symbols\Source\ExpressionBodiedMethodTests.cs (1)
290var implements = method.ContainingType.FindImplementationForInterfaceMember(iM);
Symbols\Source\ExpressionBodiedPropertyTests.cs (1)
394var implements = prop.ContainingType.FindImplementationForInterfaceMember(iP);
Symbols\Source\FieldTests.cs (2)
97foreach (var g in gs) 122foreach (var f in fs)
Symbols\Source\FileModifierTests.cs (30)
745var c = comp.GetMember("C"); 777var c = comp.GetMember("C"); 808var c = comp.GetMember("C"); 890var classC = comp.GetMember("C"); 937var member = comp.GetMember("C"); 972var classC = comp.GetMember("NS1.NS2.C"); 1002var classC = comp.GetMember("C"); 1087var sourceFileTypeSymbol = comp.GetMember("C"); 1129var classC = comp.GetMember("C"); 1152var c = comp.GetMember("C"); 1213var expectedSymbol = cs[0]; 1297var cs = comp.GetMember("C"); 1353var c0 = cs[0]; 1361var c1 = cs[1]; 1419var c0 = cs[0]; 1423var c1 = cs[1]; 1481var c0 = cs[0]; 1485var c1 = cs[1]; 1539var c0 = cs[0]; 1546var c1 = cs[1]; 1563var c = comp.GetMember("NS.C"); 1613var c0 = cs[0]; 1617var c1 = cs[1]; 1788var expectedSymbol = cs[0]; 1862var expectedSymbol = cs[0]; 2598var expectedSymbol = fileClassBase.GetMember("M0"); 2637var expectedSymbol = comp.GetMember("Base.M0"); 3557var expectedMember = comp.GetMember("D.M"); 4237var sourceMember = comp.GetMembers("C")[0]; 4252var metadataMember = comp2.GetMembers("C")[0];
Symbols\Source\LocationTests.cs (1)
44private void AssertPos(Symbol sym, int start, int length)
Symbols\Source\MethodTests.cs (4)
973var list = new List<Symbol>(); 1082var list = new List<Symbol>(); 2067var symbol = comp.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMembers(WellKnownMemberNames.UnaryPlusOperatorName).Single(); 2088var symbol = comp.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMembers(WellKnownMemberNames.ExplicitConversionName).Single();
Symbols\Source\PropertyTests.cs (4)
400foreach (var m in mems) 419foreach (var m in mems) 601var method = type.GetMembers(accessor.Name).Single(); 1928foreach (var x in xs)
Symbols\Source\SourcePlusMetadataTests.cs (2)
232var srcSym = classC.GetMembers("I1.Method").Single(); 237var metaSym = metaType.GetMembers("I1.Method").First();
Symbols\Source\UpdatedContainingSymbolAndNullableAnntotationTests.cs (3)
41Symbol m2 = model.GetDeclaredSymbol(root.DescendantNodes().OfType<MethodDeclarationSyntax>().ElementAt(1)).GetSymbol(); 55void assertEquality(Symbol symbol1, Symbol symbol2, bool nullableIgnored, bool considerEverything)
Symbols\StaticAbstractMembersInInterfacesTests.cs (25)
16856var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 16938var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 17166var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 17253var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 17347var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 17449var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 22250var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 22462var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 23153foreach (var m01 in compilation1.GlobalNamespace.GetTypeMember("I1").GetMembers()) 23237foreach (var m01 in compilation1.GlobalNamespace.GetTypeMember("I1").GetMembers()) 25358var c2M01Get = c3.FindImplementationForInterfaceMember(m01.GetMethod); 25361var c2M01Set = c3.FindImplementationForInterfaceMember(m01.SetMethod); 25932foreach (var m01 in compilation1.GlobalNamespace.GetTypeMember("I1").GetMembers()) 26020foreach (var m01 in compilation1.GlobalNamespace.GetTypeMember("I1").GetMembers()) 28023var c2M01Add = c3.FindImplementationForInterfaceMember(m01.AddMethod); 28026var c2M01Remove = c3.FindImplementationForInterfaceMember(m01.RemoveMethod); 30185var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 32169var bM1 = b.FindImplementationForInterfaceMember(biMethods[0]); 32173var bM2 = b.FindImplementationForInterfaceMember(biMethods[1]); 32204var dM1 = d.FindImplementationForInterfaceMember(diMethods[0]); 32208var dM2 = d.FindImplementationForInterfaceMember(diMethods[1]); 32267var dM1 = d.FindImplementationForInterfaceMember(diMethods[0]); 32271var dM2 = d.FindImplementationForInterfaceMember(diMethods[1]); 32338var dM1 = d.FindImplementationForInterfaceMember(diMethods[0]); 32342var dM2 = d.FindImplementationForInterfaceMember(diMethods[1]);
Symbols\SymbolEqualityTests.cs (2)
194var member1 = comp.GetMember("A.field1"); 195var member2 = comp.GetMember("A.field2");
Symbols\SymbolErrorTests.cs (1)
1576foreach (var n in ns)
Symbols\TypeTests.cs (11)
468var field1 = classTest.GetMembers("intAryField").Single(); 622foreach (var m in a.GetMembers()) 639var obj = a.GetMembers("field1").Single(); 647var dyn = a.GetMembers("field2").Single(); 681private void CheckField(Symbol symbol, string name, bool isStatic) 929var memSym = typeSym.GetMembers("Main").First(); 1388var iGooGetGoo = comp.GetTypeByMetadataName("Bar+IGoo").GetMembers("GetGoo").Single(); 1506var mem = topType.GetMembers("field01").Single(); 1615var mem = topType.GetMembers("efield").Single(); 2456foreach (var member in namespaceMembers) 2622foreach (var member in namespaceMembers)
Symbols\UnsignedRightShiftTests.cs (10)
2707var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2762var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2791var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2819var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, 2852var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2876var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2931var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2960var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2988var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, 3021var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected);
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (2)
Diagnostics\DiagnosticTest.cs (2)
112var symbol = (Symbol)comp.GlobalNamespace;
Microsoft.CodeAnalysis.CSharp.Test.Utilities (68)
CompilationTestUtils.cs (2)
45where TSymbol : Symbol 77internal static void CheckSymbol(Symbol symbol, string description)
CSharpTestBase.cs (11)
1927internal static void VerifyUsesOfNullability(Symbol symbol, ImmutableArray<string> expectedUsesOfNullable) 1929var builder = ArrayBuilder<Symbol>.GetInstance(); 2395internal static Symbol? GetReferencedSymbol(CrefSyntax crefSyntax, CSharpCompilation compilation, params DiagnosticDescription[] expectedDiagnostics) 2397Symbol ambiguityWinner; 2405internal static ImmutableArray<Symbol> GetReferencedSymbols(CrefSyntax crefSyntax, CSharpCompilation compilation, out Symbol ambiguityWinner, params DiagnosticDescription[] expectedDiagnostics) 2540Symbol reference = _decoder.GetSymbolForILToken(MetadataTokens.EntityHandle((int)token)); 2541return string.Format("\"{0}\"", (reference is Symbol symbol) ? symbol.ToDisplayString(SymbolDisplayFormat.ILVisualizationFormat) : (object)reference); 2546Symbol? symbol; 2554symbol = type as Symbol; 2558symbol = (type as Cci.IReference)?.GetInternalSymbol() as Symbol;
Extensions.cs (21)
165public static Symbol GetMember(this CSharpCompilation compilation, string qualifiedName) 171public static T GetMember<T>(this CSharpCompilation compilation, string qualifiedName) where T : Symbol 222public static ImmutableArray<Symbol> GetMembers(this Compilation compilation, string qualifiedName) 234private static ImmutableArray<Symbol> GetMembers(NamespaceOrTypeSymbol container, string qualifiedName, out NamespaceOrTypeSymbol lastContainer) 280public static Symbol GetMember(this NamespaceOrTypeSymbol container, string qualifiedName) 312public static T GetMember<T>(this NamespaceOrTypeSymbol symbol, string qualifiedName) where T : Symbol 364public static IEnumerable<CSharpAttributeData> GetAttributes(this Symbol @this, NamedTypeSymbol c) 369public static IEnumerable<CSharpAttributeData> GetAttributes(this Symbol @this, string namespaceName, string typeName) 374public static IEnumerable<CSharpAttributeData> GetAttributes(this Symbol @this, AttributeDescription description) 379public static CSharpAttributeData GetAttribute(this Symbol @this, NamedTypeSymbol c) 384public static CSharpAttributeData GetAttribute(this Symbol @this, string namespaceName, string typeName) 389public static CSharpAttributeData GetAttribute(this Symbol @this, MethodSymbol m) 396public static bool HasAttribute(this Symbol @this, MethodSymbol m) 564public static void CheckAccessorShape(this MethodSymbol accessor, Symbol propertyOrEvent) 620internal static void CheckAccessorModifiers(this MethodSymbol accessor, Symbol propertyOrEvent) 640internal static Symbol GetDeclaredSymbolFromSyntaxNode(this CSharpSemanticModel model, Microsoft.CodeAnalysis.SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken)) 666return (Symbol)model.GetDeclaredSymbol(declaration, cancellationToken); 731public static string ToTestDisplayString(this Symbol symbol) 882public static DiagnosticInfo GetUseSiteDiagnostic(this Symbol @this) 934public static ImmutableArray<Symbol> BindCref(this Microsoft.CodeAnalysis.CSharp.Binder binder, CrefSyntax syntax, out Symbol ambiguityWinner, DiagnosticBag diagnostics)
LifetimeAnnotationAttributesVisitor.cs (3)
34public override void DefaultVisit(Symbol symbol) 45foreach (var member in @namespace.GetMembers()) 53foreach (var member in type.GetMembers())
NullableAttributesVisitor.cs (3)
61protected override void ReportSymbol(Symbol symbol) 97private static Symbol GetAccessSymbol(Symbol symbol)
RequiredMemberAttributesVisitor.cs (1)
29protected override void ReportSymbol(Symbol symbol)
SymbolUtilities.cs (3)
56public static Symbol ChildSymbol(this NamespaceOrTypeSymbol parent, string name) 121public static string[] ToTestDisplayStrings(this IEnumerable<Symbol> symbols, SymbolDisplayFormat format = null) 133public static string ToTestDisplayString(this Symbol symbol, bool includeNonNullable)
TestAttributesVisitor.cs (13)
17protected readonly HashSet<Symbol> _reported; 22_reported = new HashSet<Symbol>(); 25public override void DefaultVisit(Symbol symbol) 45foreach (var member in type.GetMembers()) 80private void VisitList<TSymbol>(ImmutableArray<TSymbol> symbols) where TSymbol : Symbol 93private static Symbol? GetContainingSymbol(Symbol symbol) 99var containingSymbol = symbol.ContainingSymbol; 103protected static string GetIndentString(Symbol symbol) 106var current = symbol; 121protected void ReportContainingSymbols(Symbol symbol) 123var s = GetContainingSymbol(symbol); 138protected virtual void ReportSymbol(Symbol symbol)
UsesIsNullableVisitor.cs (11)
20private readonly ArrayBuilder<Symbol> _builder; 22private UsesIsNullableVisitor(ArrayBuilder<Symbol> builder) 27internal static void GetUses(ArrayBuilder<Symbol> builder, Symbol symbol) 33private void Add(Symbol symbol) 75private bool VisitList<TSymbol>(ImmutableArray<TSymbol> symbols) where TSymbol : Symbol 92private bool AddIfUsesIsNullable(Symbol symbol, ImmutableArray<ParameterSymbol> parameters, ConsList<TypeParameterSymbol> inProgress) 105private bool AddIfUsesIsNullable(Symbol symbol, ImmutableArray<TypeParameterSymbol> typeParameters, ConsList<TypeParameterSymbol> inProgress) 118private bool AddIfUsesIsNullable(Symbol symbol, ImmutableArray<NamedTypeSymbol> types, ConsList<TypeParameterSymbol> inProgress) 131private bool AddIfUsesIsNullable(Symbol symbol, TypeWithAnnotations type, ConsList<TypeParameterSymbol> inProgress) 141private bool AddIfUsesIsNullable(Symbol symbol, TypeSymbol type, ConsList<TypeParameterSymbol> inProgress)
Microsoft.CodeAnalysis.CSharp.WinRT.UnitTests (4)
Metadata\WinMdDumpTest.cs (2)
54foreach (var member in container.GetMembers().OrderBy(m => m.Name, System.StringComparer.InvariantCulture)) 219private static void AppendCustomAttributes(StringBuilder result, Symbol symbol, string indent, bool inBlock)
Metadata\WinMdMetadataTests.cs (2)
134var blk = clas.GetMembers("Black").Single(); 177var puint = clas.GetMembers("ParseUInt").Single();