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)
24internal 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)
18internal abstract partial class PropertySymbol : Symbol
Symbols\RangeVariableSymbol.cs (1)
20internal class RangeVariableSymbol : Symbol
3933 references to Symbol
Microsoft.CodeAnalysis.CSharp (2978)
Binder\Binder.CapturedParametersFinder.cs (1)
153foreach (var candidate in lookupResult.Symbols)
Binder\Binder.cs (19)
239internal virtual Symbol? ContainingMemberOrLambda 425var member = this.ContainingMemberOrLambda; 443var containingMember = this.ContainingMemberOrLambda; 587internal void ReportDiagnosticsIfObsolete(DiagnosticBag diagnostics, Symbol symbol, SyntaxNode node, bool hasBaseReceiver) 597internal void ReportDiagnosticsIfObsolete(DiagnosticBag diagnostics, Symbol symbol, SyntaxNodeOrToken node, bool hasBaseReceiver) 611internal void ReportDiagnosticsIfObsolete(BindingDiagnosticBag diagnostics, Symbol symbol, SyntaxNodeOrToken node, bool hasBaseReceiver) 629Symbol symbol, 632Symbol? containingMember, 656Symbol leastOverriddenSymbol = symbol.GetLeastOverriddenMember(containingType); 695Symbol symbol, 698Symbol? containingMember, 708internal static ObsoleteDiagnosticKind ReportDiagnosticsIfObsoleteInternal(DiagnosticBag diagnostics, Symbol symbol, SyntaxNodeOrToken node, Symbol? containingMember, BinderFlags location) 734internal static void ReportDiagnosticsIfObsoleteInternal(BindingDiagnosticBag diagnostics, Symbol symbol, SyntaxNodeOrToken node, Symbol containingMember, BinderFlags location) 761Symbol symbol, 769Symbol symbol, 778Symbol symbol, 906var currentContainer = scope.ContainingMemberOrLambda;
Binder\Binder.IdentifierUsedAsValueFinder.cs (2)
271var members = ArrayBuilder<Symbol>.GetInstance(); 272Symbol symbol = enclosingBinder.GetSymbolOrMethodOrPropertyGroup(lookupResult, memberAccessNode, memberName, targetMemberArity, members, BindingDiagnosticBag.Discarded, wasError: out _,
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 (26)
448Symbol otherSymbol = null; 483(object)otherSymbol == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(otherSymbol), 1205Symbol containing = this.ContainingMemberOrLambda; 1414private static bool RequiresVariableReceiver(BoundExpression receiver, Symbol symbol) 1518var containing = this.ContainingMemberOrLambda; 1673var containingMember = ContainingMemberOrLambda; 1689private bool IsBadBaseAccess(SyntaxNode node, BoundExpression receiverOpt, Symbol member, BindingDiagnosticBag diagnostics, 1690Symbol propertyOrEventSymbolOpt = null) 1738Symbol symbol, 1831Symbol symbol, 1882private static bool ReturnsRefToRefStruct(Symbol symbol) 1905Symbol symbol, 1991Symbol symbol, 2058Symbol symbol, 2212Symbol symbol, 2256static bool hasRefLikeReturn(Symbol symbol) 2288Symbol symbol, 2366Symbol symbol, 2376private bool UseUpdatedEscapeRulesForInvocation(Symbol symbol) 2389var symbol = argument switch 2418Symbol symbol, 2520Symbol symbol, 2607private static bool IsReceiverRefReadOnly(Symbol methodOrPropertySymbol) => methodOrPropertySymbol switch 2854private static void ReportReadOnlyError(Symbol symbol, SyntaxNode node, BindValueKind kind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 4587Symbol containingSymbol, 4716Symbol containingSymbol,
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, 139internal BoundAttribute BindAttribute(AttributeSyntax node, NamedTypeSymbol attributeType, Symbol? attributedMember, BindingDiagnosticBag diagnostics) 156private BoundAttribute BindAttributeCore(AttributeSyntax node, NamedTypeSymbol attributeType, Symbol? attributedMember, BindingDiagnosticBag diagnostics) 507Symbol namedArgumentNameSymbol = BindNamedAttributeArgumentName(namedArgument, attributeType, diagnostics, out wasError, out resultKind); 574private Symbol BindNamedAttributeArgumentName(AttributeArgumentSyntax namedArgument, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics, out bool wasError, out LookupResultKind resultKind) 583Symbol resultSymbol = this.ResultSymbol(result, name, 0, identifierName, diagnostics, false, out wasError, qualifierOpt: null); 589private TypeSymbol BindNamedAttributeArgumentType(AttributeArgumentSyntax namedArgument, Symbol namedArgumentNameSymbol, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics)
Binder\Binder_Await.cs (1)
151var containingMemberOrLambda = this.ContainingMemberOrLambda;
Binder\Binder_Constraints.cs (3)
24Symbol containingSymbol, 369Symbol containingSymbol = typeParameter.ContainingSymbol; 405Symbol containingSymbol,
Binder\Binder_Conversions.cs (1)
1121private bool MemberGroupFinalValidationAccessibilityChecks(BoundExpression? receiverOpt, Symbol memberSymbol, SyntaxNode node, BindingDiagnosticBag diagnostics, bool invokedAsExtensionMethod)
Binder\Binder_Crefs.cs (71)
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) 44private ImmutableArray<Symbol> BindTypeCref(TypeCrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 60return ImmutableArray.Create<Symbol>(result); 63private ImmutableArray<Symbol> BindQualifiedCref(QualifiedCrefSyntax syntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 99private ImmutableArray<Symbol> BindMemberCref(MemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 110return ImmutableArray<Symbol>.Empty; 113ImmutableArray<Symbol> result; 142private ImmutableArray<Symbol> BindNameMemberCref(NameMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 172return ImmutableArray<Symbol>.Empty; 175ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, memberNameText, arity, syntax.Parameters != null, diagnostics); 180return ImmutableArray<Symbol>.Empty; 193private ImmutableArray<Symbol> BindIndexerMemberCref(IndexerMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 197ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, WellKnownMemberNames.Indexer, memberNameText: WellKnownMemberNames.Indexer, arity, syntax.Parameters != null, diagnostics); 202return ImmutableArray<Symbol>.Empty; 221private ImmutableArray<Symbol> BindOperatorMemberCref(OperatorMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 242return ImmutableArray<Symbol>.Empty; 245ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, memberNameText: memberName, arity, syntax.Parameters != null, diagnostics); 250return ImmutableArray<Symbol>.Empty; 264private ImmutableArray<Symbol> BindConversionOperatorMemberCref(ConversionOperatorMemberCrefSyntax syntax, NamespaceOrTypeSymbol? containerOpt, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 277return ImmutableArray<Symbol>.Empty; 291ImmutableArray<Symbol> sortedSymbols = ComputeSortedCrefMembers(syntax, containerOpt, memberName, memberNameText: memberName, arity, syntax.Parameters != null, diagnostics); 296return ImmutableArray<Symbol>.Empty; 308return ImmutableArray<Symbol>.Empty; 329private ImmutableArray<Symbol> ComputeSortedCrefMembers(CSharpSyntaxNode syntax, NamespaceOrTypeSymbol? containerOpt, string memberName, string memberNameText, int arity, bool hasParameterList, BindingDiagnosticBag diagnostics) 337private ImmutableArray<Symbol> ComputeSortedCrefMembers(NamespaceOrTypeSymbol? containerOpt, string memberName, string memberNameText, int arity, bool hasParameterList, CSharpSyntaxNode syntax, 342ArrayBuilder<Symbol> builder; 360builder = ArrayBuilder<Symbol>.GetInstance(); 372builder = ArrayBuilder<Symbol>.GetInstance(); 447return ImmutableArray<Symbol>.Empty; 450builder = ArrayBuilder<Symbol>.GetInstance(numInstanceConstructors); 455return ImmutableArray<Symbol>.Empty; 476private ImmutableArray<Symbol> ProcessCrefMemberLookupResults( 477ImmutableArray<Symbol> symbols, 482out Symbol? ambiguityWinner, 492ArrayBuilder<Symbol> candidates = ArrayBuilder<Symbol>.GetInstance(); 496ImmutableArray<Symbol> results = PerformCrefOverloadResolution(candidates, parameterSymbols, arity, memberSyntax, out ambiguityWinner, diagnostics); 627private ImmutableArray<Symbol> ProcessParameterlessCrefMemberLookupResults( 628ImmutableArray<Symbol> symbols, 632out Symbol? ambiguityWinner, 642foreach (Symbol s in symbols) 673Symbol symbol = symbols[0]; 680ArrayBuilder<Symbol> unwrappedSymbols = ArrayBuilder<Symbol>.GetInstance(symbols.Length); 682foreach (Symbol wrapped in symbols) 725return ImmutableArray.Create<Symbol>(ConstructWithCrefTypeParameters(arity, typeArgumentListSyntax, symbol)); 732private void GetCrefOverloadResolutionCandidates(ImmutableArray<Symbol> symbols, int arity, TypeArgumentListSyntax? typeArgumentListSyntax, ArrayBuilder<Symbol> candidates) 734foreach (Symbol candidate in symbols) 736Symbol constructedCandidate = ConstructWithCrefTypeParameters(arity, typeArgumentListSyntax, candidate); 758private static ImmutableArray<Symbol> PerformCrefOverloadResolution(ArrayBuilder<Symbol> candidates, ImmutableArray<ParameterSymbol> parameterSymbols, int arity, MemberCrefSyntax memberSyntax, out Symbol? ambiguityWinner, BindingDiagnosticBag diagnostics) 760ArrayBuilder<Symbol>? viable = null; 762foreach (Symbol candidate in candidates) 770Symbol signatureMember; 834viable = ArrayBuilder<Symbol>.GetInstance(); 861return ImmutableArray<Symbol>.Empty; 881private Symbol ConstructWithCrefTypeParameters(int arity, TypeArgumentListSyntax? typeArgumentListSyntax, Symbol symbol)
Binder\Binder_Deconstruct.cs (1)
639var variableSymbol = variableOpt switch
Binder\Binder_Expressions.cs (74)
36var memberOpt = this.ContainingMemberOrLambda?.ContainingNonLambdaMember(); 107return BadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty); 115return BadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childNode); 123return BadExpression(syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childNodes); 131return BadExpression(syntax, lookupResultKind, ImmutableArray<Symbol>.Empty); 139return BadExpression(syntax, lookupResultKind, ImmutableArray<Symbol>.Empty, childNode); 145private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols) 158private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols, BoundExpression childNode) 171private BoundBadExpression BadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol> symbols, ImmutableArray<BoundExpression> childNodes, bool wasCompilerGenerated = false) 211ArrayBuilder<Symbol> symbols = ArrayBuilder<Symbol>.GetInstance(); 312if (op.NoCommonTypeError == ErrorCode.ERR_InvalidQM && trueArg is Symbol trueSymbol && falseArg is Symbol falseSymbol) 818node, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray<BoundExpression>.Empty, 1005argumentSyntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, 1289Symbol container = this.ContainingMemberOrLambda; 1515var members = ArrayBuilder<Symbol>.GetInstance(); 1516Symbol symbol = GetSymbolOrMethodOrPropertyGroup(lookupResult, node, name, node.Arity, members, diagnostics, out isError, qualifierOpt: null); // reports diagnostics in result. 1684private BoundExpression SynthesizeMethodGroupReceiver(CSharpSyntaxNode syntax, ArrayBuilder<Symbol> members) 1777private bool IsBadLocalOrParameterCapture(Symbol symbol, TypeSymbol type, RefKind refKind) 1794private BoundExpression BindNonMethod(SimpleNameSyntax node, Symbol symbol, BindingDiagnosticBag diagnostics, LookupResultKind resultKind, bool indexed, bool isError) 2041private bool ReportSimpleProgramLocalReferencedOutsideOfTopLevelStatement(SimpleNameSyntax node, Symbol symbol, BindingDiagnosticBag diagnostics) 2058private BoundExpression SynthesizeReceiver(SyntaxNode node, Symbol member, BindingDiagnosticBag diagnostics) 2095var containingMember = ContainingMember(); 2118internal Symbol ContainingMember() 2148var containingMember = this.ContainingMemberOrLambda; 2227var symbol = this.BindNamespaceAliasSymbol(node, diagnostics); 2231private static BoundExpression CreateBoundNamespaceOrTypeExpression(ExpressionSyntax node, Symbol symbol) 3026internal static void CheckRestrictedTypeInAsyncMethod(Symbol containingSymbol, TypeSymbol type, BindingDiagnosticBag diagnostics, SyntaxNode syntax, bool forUsingExpression = false) 3043foreach (Symbol member in ContainingType?.GetMembers(identifier) ?? ImmutableArray<Symbol>.Empty) 3161where TMember : Symbol 3797ImmutableArray<Symbol>.Empty, 3836ImmutableArray<Symbol>.Empty, 4169symbols: ImmutableArray<Symbol>.Empty, 4180symbols: ImmutableArray<Symbol>.Empty, //CONSIDER: we could look for a matching constructor on System.ValueType 4223symbols: ImmutableArray<Symbol>.Empty, //CONSIDER: we could look for a matching constructor on System.ValueType 4609return new BoundBadExpression(node, LookupResultKind.NotInvocable, StaticCast<Symbol>.From(type.InstanceConstructors), ImmutableArray.Create(argument), type); 4656return new BoundBadExpression(node, LookupResultKind.OverloadResolutionFailure, StaticCast<Symbol>.From(type.InstanceConstructors), childNodes, type); 4753return new BoundBadExpression(node, LookupResultKind.NotCreatable, ImmutableArray.Create<Symbol?>(type), children.ToImmutableAndFree(), type) { WasCompilerGenerated = wasCompilerGenerated }; 5249var memberSymbol = assignmentOperator.Left switch 5265if (!requiredMembersBuilder.TryGetValue(memberSymbol.Name, out var requiredMember)) 5496return BadExpression(elementInitializer, LookupResultKind.NotInvocable, ImmutableArray<Symbol>.Empty, boundElementInitializerExpressions); 5775ArrayBuilder<Symbol> symbols = ArrayBuilder<Symbol>.GetInstance(); 5955return new BoundBadExpression(node, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol>.Empty, children, interfaceType); 6383Symbol leftSymbol; 6702ArrayBuilder<Symbol> symbols = lookupResult.Symbols; 6707Symbol sym = ResultSymbol(lookupResult, rightName, rightArity, node, diagnostics, false, out wasError, ns, options); 6983ReportQueryLookupFailed(node, boundLeft, plainName, ImmutableArray<Symbol>.Empty, diagnostics); 7045return this.BindMemberAccessBadResult(syntax, node.Name, node.ReceiverOpt, node.LookupError, StaticCast<Symbol>.From(node.Methods), node.ResultKind); 7056ImmutableArray<Symbol> symbols, 7062foreach (var s in symbols) 7088var symbolOpt = symbols.Length == 1 ? symbols[0] : null; 7092(object)symbolOpt == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(symbolOpt), 7097private TypeSymbol GetNonMethodMemberType(Symbol symbolOpt) 7168var members = ArrayBuilder<Symbol>.GetInstance(); 7171Symbol symbol = GetSymbolOrMethodOrPropertyGroup(lookupResult, right, plainName, arity, members, diagnostics, out wasError, 7401var members = ArrayBuilder<Symbol>.GetInstance(); 7403Symbol symbol = GetSymbolOrMethodOrPropertyGroup(lookupResult, node, rightName, arity, members, diagnostics, out wasError, qualifierOpt: null); 7609private void CheckReceiverAndRuntimeSupportForSymbolAccess(SyntaxNode node, BoundExpression receiverOpt, Symbol symbol, BindingDiagnosticBag diagnostics) 7707Symbol symbol, 7748private Symbol GetSymbolOrMethodOrPropertyGroup(LookupResult result, SyntaxNode node, string plainName, int arity, ArrayBuilder<Symbol> methodOrPropertyGroup, BindingDiagnosticBag diagnostics, out bool wasError, NamespaceOrTypeSymbol qualifierOpt) 7758Symbol other = null; // different member type from 'methodOrPropertyGroup' 7763foreach (var symbol in result.Symbols) 7830private static bool IsMethodOrPropertyGroup(ArrayBuilder<Symbol> members) 7834var member = members[0]; 7929return new BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, childBoundNodes, CreateErrorType(), hasErrors: true); 8275foreach (Symbol symbol in lookupResult.Symbols) 8669foreach (var candidate in lookupResult.Symbols) 8724foreach (var candidate in lookupResult.Symbols) 9331return Symbol.ReportUseSiteDiagnostic(diagnosticInfo, diagnostics, location); 9426internal 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 (6)
100Symbol symbol; 812BindingDiagnosticBag diagnostics) where TMethodOrPropertySymbol : Symbol 1275Symbol? attributedMember = null) 1297var containingMember = InAttributeArgument ? attributedMember : ContainingMember() switch 1346BoundExpression bindDefaultArgument(SyntaxNode syntax, ParameterSymbol parameter, Symbol? containingMember, bool enableCallerInfo, BindingDiagnosticBag diagnostics, ArrayBuilder<BoundExpression> argumentsBuilder, int argumentsCount, ImmutableArray<int> argsToParamsOpt) 1849where TMember : Symbol
Binder\Binder_Lookup.cs (56)
302Symbol existingDefinition = submissionSymbols.Symbols.First(); 336Symbol firstSymbol = submissionSymbols.Symbols.First(); 447foreach (Symbol member in members) 521Symbol symbolWithoutSuffix; 527Symbol symbolWithSuffix = null; 587private bool IsAmbiguousResult(LookupResult result, out Symbol resultSymbol) 613private Symbol ResolveMultipleSymbolsInAttributeTypeLookup(ArrayBuilder<Symbol> symbols) 632var srcSymbol = symbols[best.Index]; 633var mdSymbol = symbols[secondBest.Index]; 645private static bool NameAndArityMatchRecursively(Symbol x, Symbol y) 665static bool isRoot(Symbol symbol) => symbol is null || symbol is NamespaceSymbol { IsGlobalNamespace: true }; 668private bool IsSingleViableAttributeType(LookupResult result, out Symbol symbol, ref CompoundUseSiteInfo<AssemblySymbol> attributeTypeViabilityUseSiteInfo) 684private SingleLookupResult GenerateNonViableAttributeTypeResult(Symbol symbol, DiagnosticInfo diagInfo, bool diagnose) 694private bool CheckAttributeTypeViability(Symbol symbol, bool diagnose, ref DiagnosticInfo diagInfo, ref CompoundUseSiteInfo<AssemblySymbol> attributeTypeViabilityUseSiteInfo) 768foreach (Symbol member in members) 838var other = GetNearestOtherSymbol(basesBeingResolved, type); 893var allMembers = new HashSet<Symbol>(comparer); 894var conflictingMembers = new HashSet<Symbol>(comparer); 899foreach (var sym in result.Symbols) 924foreach (var sym in tmp.Symbols) 938foreach (var sym in result.Symbols) 947foreach (var sym in allMembers) 988private static Symbol GetNearestOtherSymbol(ConsList<TypeSymbol> list, TypeSymbol type) 1237var sym = hiddenSymbols[i]; 1243var hidingSym = hidingSymbols[j]; 1288private static bool IsMethodOrIndexer(Symbol symbol) 1293internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, string name, LookupOptions options, Binder originalBinder) 1297return nsOrType.GetTypeMembers(name).Cast<NamedTypeSymbol, Symbol>(); 1305return ImmutableArray<Symbol>.Empty; 1317internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, LookupOptions options, Binder originalBinder) 1321return StaticCast<Symbol>.From(nsOrType.GetTypeMembersUnordered()); 1329return ImmutableArray<Symbol>.Empty; 1337private bool IsInScopeOfAssociatedSyntaxTree(Symbol symbol) 1385internal SingleLookupResult CheckViability(Symbol symbol, int arity, LookupOptions options, TypeSymbol accessThroughType, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null) 1394var unwrappedSymbol = symbol.Kind == SymbolKind.Alias 1441var unwrappedSymbols = ImmutableArray.Create<Symbol>(unwrappedSymbol); 1466diagInfo = new CSDiagnosticInfo(ErrorCode.ERR_BadAccess, new[] { unwrappedSymbol }, ImmutableArray.Create<Symbol>(unwrappedSymbol), additionalLocations: ImmutableArray<Location>.Empty); 1540private CSDiagnosticInfo MakeCallMethodsDirectlyDiagnostic(Symbol symbol) 1577/// Does not consider <see cref="Symbol.CanBeReferencedByName"/> - that is left to the caller. 1579internal bool CanAddLookupSymbolInfo(Symbol symbol, LookupOptions options, LookupSymbolsInfo info, TypeSymbol accessThroughType, AliasSymbol aliasSymbol = null) 1645private bool IsCrefAccessible(Symbol symbol) 1650private static bool IsEffectivelyPrivate(Symbol symbol) 1652for (Symbol s = symbol; (object)s != null; s = s.ContainingSymbol) 1667internal bool IsAccessible(Symbol symbol, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, TypeSymbol accessThroughType = null, ConsList<TypeSymbol> basesBeingResolved = null) 1673internal bool IsAccessible(Symbol symbol, SyntaxNode syntax, BindingDiagnosticBag diagnostics) 1686internal bool IsAccessible(Symbol symbol, TypeSymbol accessThroughType, out bool failedThroughTypeCheck, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null) 1698/// Should only be called by <see cref="IsAccessible(Symbol, TypeSymbol, out bool, ref CompoundUseSiteInfo{AssemblySymbol}, ConsList{TypeSymbol})"/>, 1701internal virtual bool IsAccessibleHelper(Symbol symbol, TypeSymbol accessThroughType, out bool failedThroughTypeCheck, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved) 1707internal bool IsNonInvocableMember(Symbol symbol) 1723private bool IsInvocableMember(Symbol symbol) 1748private static bool IsInstance(Symbol symbol) 1765private static bool WrongArity(Symbol symbol, int arity, bool diagnose, LookupOptions options, out DiagnosticInfo diagInfo) 1951foreach (var symbol in candidateMembers) 1963foreach (var symbol in candidateMembers)
Binder\Binder_NameConflicts.cs (4)
18internal bool ValidateDeclarationNameConflictsInScope(Symbol symbol, BindingDiagnosticBag diagnostics) 24private static Location GetLocation(Symbol symbol) 96private bool ValidateNameConflictsInScope(Symbol? symbol, Location location, string name, BindingDiagnosticBag diagnostics) 137var containingMemberOrLambda = this.ContainingMemberOrLambda;
Binder\Binder_Operators.cs (2)
2531internal bool IsMoveableVariable(BoundExpression expr, out Symbol accessedLocalOrParameterOpt) 3233diagnostics.Add(ErrorCode.WRN_IsTypeNamedUnderscore, node.Right.Location, typeExpression.AliasOpt ?? (Symbol)targetType);
Binder\Binder_Patterns.cs (10)
334out Symbol? variableSymbol, out BoundExpression? variableAccess); 370lengthAccess = new BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType(), hasErrors: true) { WasCompilerGenerated = true }; 838hasErrors: ref hasErrors, variableSymbol: out Symbol? variableSymbol, variableAccess: out BoundExpression? variableAccess); 863out Symbol? variableSymbol, 1025ref hasErrors, out Symbol? variableSymbol, out BoundExpression? variableAccess); 1290foreach (var symbol in tupleType.GetMembers(name)) 1322Symbol foundSymbol = BindTypeOrAliasOrKeyword(node.VarKeyword, node, diagnostics, out bool isVar).Symbol; 1352variableSymbol: out Symbol? variableSymbol, variableAccess: out BoundExpression? variableAccess); 1504Symbol? symbol = null; 1530private Symbol? BindPropertyPatternMember(
Binder\Binder_Query.cs (6)
302state.selectOrGroup, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, 735yExpression = new BoundBadExpression(yExpression.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), CreateErrorType()); 741yExpression = new BoundBadExpression(yExpression.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), yExpression.Type); 802field2Value = new BoundBadExpression(field2Value.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(field2Value), field2Value.Type, true); 974receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.NotAValue, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(receiver), CreateErrorType()); 996receiver = 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)
31internal virtual ImmutableHashSet<Symbol> LockedOrDisposedVariables 592Symbol.CheckForBlockAndExpressionBody( 1708internal static Symbol? GetIndexerOrImplicitIndexerSymbol(BoundExpression? e) 1762internal static bool AccessingAutoPropertyFromConstructor(BoundPropertyAccess propertyAccess, Symbol fromMember) 1767private static bool AccessingAutoPropertyFromConstructor(BoundExpression receiver, PropertySymbol propertySymbol, Symbol fromMember) 1784private static bool IsConstructorOrField(Symbol member, bool isStatic) 2843var symbol = this.ContainingMemberOrLambda; 2849var symbol = this.ContainingMemberOrLambda; 2855var symbol = this.ContainingMemberOrLambda; 2957var container = this.ContainingMemberOrLambda;
Binder\Binder_Symbols.cs (54)
196Symbol symbol = null; 346private NamespaceOrTypeSymbol GetContainingNamespaceOrType(Symbol symbol) 351internal Symbol BindNamespaceAliasSymbol(IdentifierNameSyntax node, BindingDiagnosticBag diagnostics) 366Symbol bindingResult = ResultSymbol(result, plainName, 0, node, diagnostics, false, out wasError, qualifierOpt: null, options: LookupOptions.NamespaceAliasesOnly); 577var bindingResult = BindNamespaceAliasSymbol(node.Alias, diagnostics); 876Symbol bindingResult = null; 954foreach (var s in result.Symbols) 975foreach (var s in result.Symbols) 1049Symbol.ReportUseSiteDiagnostic(info, diagnostics, node.Location); 1082private static Symbol UnwrapAliasNoDiagnostics(Symbol symbol, ConsList<TypeSymbol> basesBeingResolved = null) 1114private Symbol UnwrapAlias(Symbol symbol, BindingDiagnosticBag diagnostics, SyntaxNode syntax, ConsList<TypeSymbol> basesBeingResolved = null) 1120private Symbol UnwrapAlias(Symbol symbol, out AliasSymbol alias, BindingDiagnosticBag diagnostics, SyntaxNode syntax, ConsList<TypeSymbol> basesBeingResolved = null) 1278Symbol lookupResultSymbol = ResultSymbol(lookupResult, plainName, arity, node, diagnostics, (basesBeingResolved != null), out wasError, qualifierOpt, options); 1307ImmutableArray.Create<Symbol>(lookupResultSymbol), 1401ArrayBuilder<Symbol> members, 1449receiver = new BoundBadExpression(receiver.Syntax, LookupResultKind.Ambiguous, ImmutableArray<Symbol>.Empty, ImmutableArray.Create(receiver), receiver.Type, hasErrors: true).MakeCompilerGenerated(); 1503ArrayBuilder<Symbol> members, TypeSymbol receiverType, 1526foreach (var symbol in lookupResult.Symbols) 1548private static readonly Func<Symbol, MethodSymbol> s_toMethodSymbolFunc = s => (MethodSymbol)s; 1549private static readonly Func<Symbol, PropertySymbol> s_toPropertySymbolFunc = s => (PropertySymbol)s; 1657internal Symbol GetSpecialTypeMember(SpecialMember member, BindingDiagnosticBag diagnostics, SyntaxNode syntax) 1659Symbol memberSymbol; 1666where TSymbol : Symbol 1687private static UseSiteInfo<AssemblySymbol> GetUseSiteInfoForWellKnownMemberOrContainingType(Symbol symbol) 1702internal static bool ReportUseSite(Symbol symbol, BindingDiagnosticBag diagnostics, SyntaxNode node) 1707internal static bool ReportUseSite(Symbol symbol, BindingDiagnosticBag diagnostics, SyntaxToken token) 1718internal static bool ReportUseSite(Symbol symbol, BindingDiagnosticBag diagnostics, Location location) 1770internal Symbol GetWellKnownTypeMember(WellKnownMember member, BindingDiagnosticBag diagnostics, Location location = null, SyntaxNode syntax = null, bool isOptional = false) 1779internal static Symbol GetWellKnownTypeMember(CSharpCompilation compilation, WellKnownMember member, BindingDiagnosticBag diagnostics, Location location = null, SyntaxNode syntax = null, bool isOptional = false) 1784Symbol memberSymbol = GetWellKnownTypeMember(compilation, member, out useSiteInfo, isOptional); 1789internal static Symbol GetWellKnownTypeMember(CSharpCompilation compilation, WellKnownMember member, out UseSiteInfo<AssemblySymbol> useSiteInfo, bool isOptional = false) 1791Symbol memberSymbol = compilation.GetWellKnownTypeMember(member); 1832private class ConsistentSymbolOrder : IComparer<Symbol> 1835public int Compare(Symbol fst, Symbol snd) 1857internal Symbol ResultSymbol( 1868Symbol symbol = resultSymbol(result, simpleName, arity, where, diagnostics, suppressUseSiteDiagnostics, out wasError, qualifierOpt, options); 1886Symbol resultSymbol( 1925var srcSymbol = symbols[best.Index]; 1926var mdSymbol = symbols[secondBest.Index]; 1984var first = symbols[best.Index]; 1985var second = symbols[secondBest.Index]; 1987Debug.Assert(!Symbol.Equals(originalSymbols[best.Index], originalSymbols[secondBest.Index], TypeCompareKind.ConsiderEverything) || options.IsAttributeTypeLookup(), 1990Debug.Assert(!Symbol.Equals(first, second, TypeCompareKind.ConsiderEverything) || !Symbol.Equals(originalSymbols[best.Index], originalSymbols[secondBest.Index], TypeCompareKind.ConsiderEverything), 2146!Symbol.Equals(originalSymbols[best.Index], originalSymbols[secondBest.Index], TypeCompareKind.ConsiderEverything), 2201var singleResult = symbols[0]; 2309private static AssemblySymbol GetContainingAssembly(Symbol symbol) 2429private BestSymbolInfo GetBestSymbolInfo(ArrayBuilder<Symbol> symbols, out BestSymbolInfo secondBest) 2437var symbol = symbols[i]; 2475private 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; 32internal void Initialize(int position, CSharpSyntaxNode memberDeclarationOpt, Symbol memberOpt) 419Symbol containingSymbol = binder.ContainingMemberOrLambda; 543private Symbol GetMemberSymbol(string memberName, TextSpan memberSpan, NamedTypeSymbol container, SymbolKind kind) 549foreach (Symbol sym in sourceMemberContainerTypeSymbol.GetMembersToMatchAgainstDeclarationSpan()) 556if (sym.Name == memberName && checkSymbol(sym, memberSpan, kind, out Symbol result)) 564foreach (Symbol sym in container.GetMembers(memberName)) 566if (checkSymbol(sym, memberSpan, kind, out Symbol result)) 575bool checkSymbol(Symbol sym, TextSpan memberSpan, SymbolKind kind, out Symbol result)
Binder\BinderFactory.cs (2)
107internal Binder GetBinder(SyntaxNode node, CSharpSyntaxNode memberDeclarationOpt = null, Symbol memberOpt = null) 122internal Binder GetBinder(SyntaxNode node, int position, CSharpSyntaxNode memberDeclarationOpt = null, Symbol memberOpt = null)
Binder\BindingDiagnosticBag.cs (6)
88internal void AddDependencies(Symbol? symbol) 96internal bool ReportUseSite(Symbol? symbol, SyntaxNode node) 101internal bool ReportUseSite(Symbol? symbol, SyntaxToken token) 106internal bool ReportUseSite(Symbol? symbol, Location location) 149return Symbol.ReportUseSiteDiagnostic(diagnosticInfo, diagnosticBag, location); 166internal 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)
360private 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 617internal class ExpressionFieldFinder : ExpressionVariableFinder<Symbol> 624ArrayBuilder<Symbol> builder, 648protected override Symbol MakePatternVariable(TypeSyntax type, SingleVariableDesignationSyntax designation, SyntaxNode nodeToBind) 656protected override Symbol MakeDeclarationExpressionVariable(DeclarationExpressionSyntax node, SingleVariableDesignationSyntax designation, BaseArgumentListSyntax argumentListSyntaxOpt, SyntaxNode nodeToBind) 664protected override Symbol MakeDeconstructionVariable(
Binder\ForEachLoopBinder.cs (4)
671ImmutableArray<Symbol>.Empty, 1175foreach (Symbol member in lookupResult.Symbols) 1437Symbol lookupSymbol = lookupResult.SingleSymbolOrDefault; 1501private void ReportEnumerableWarning(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)
26private SmallDictionary<string, Symbol> _lazyDefinitionMap; 48private static void RecordDefinition<T>(SmallDictionary<string, Symbol> declarationMap, ImmutableArray<T> definitions) where T : Symbol 50foreach (Symbol s in definitions) 71internal override Symbol ContainingMemberOrLambda 242private static bool ReportConflictWithParameter(Symbol parameter, Symbol newSymbol, string name, Location newLocation, BindingDiagnosticBag diagnostics) 322internal override bool EnsureSingleDefinition(Symbol symbol, string name, Location location, BindingDiagnosticBag diagnostics) 336map = new SmallDictionary<string, Symbol>(); 343Symbol existingDeclaration;
Binder\LocalBinderFactory.cs (8)
35private Symbol _containingMemberOrLambda; 72Symbol containingMemberOrLambda, 134private LocalBinderFactory(Symbol containingMemberOrLambda, SyntaxNode root, Binder enclosing) 223var attributeTarget = getAttributeTarget(_enclosing); 246static Symbol getAttributeTarget(Binder current) 255static WithTypeParametersBinder? getExtraWithTypeParametersBinder(Binder enclosing, Symbol target) 260static Binder? getExtraWithParametersBinder(Binder enclosing, Symbol target) 366Symbol oldMethod = _containingMemberOrLambda;
Binder\LocalScopeBinder.cs (6)
129where TSymbol : Symbol 455private bool ReportConflictWithLocal(Symbol local, Symbol newSymbol, string name, Location newLocation, BindingDiagnosticBag diagnostics) 495internal virtual bool EnsureSingleDefinition(Symbol symbol, string name, Location location, BindingDiagnosticBag diagnostics) 507var existingSymbol = (Symbol)existingLocal ?? existingLocalFunction;
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 (3)
21public readonly Symbol OtherSymbol; 32public MethodGroupResolution(Symbol otherSymbol, LookupResultKind resultKind, ImmutableBindingDiagnostic<AssemblySymbol> diagnostics) 39Symbol otherSymbol,
Binder\PatternExplainer.cs (2)
533var properties = new Dictionary<Symbol, string>(); 651foreach (var declaredMember in e.GetMembers())
Binder\RefSafetyAnalysis.cs (6)
16internal static void Analyze(CSharpCompilation compilation, Symbol symbol, BoundNode node, BindingDiagnosticBag diagnostics) 34internal static void Analyze(CSharpCompilation compilation, Symbol symbol, ImmutableArray<BoundInitializer> fieldAndPropertyInitializers, BindingDiagnosticBag diagnostics) 55private static bool InUnsafeMethod(Symbol symbol) 77private readonly Symbol _symbol; 88Symbol symbol, 528static uint getPositionalValEscape(Symbol? symbol, uint 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, 344Symbol within, 493Symbol within,
Binder\Semantics\OverloadResolution\MemberAnalysisResult.cs (1)
120internal bool HasUseSiteDiagnosticToReportFor(Symbol symbol)
Binder\Semantics\OverloadResolution\MemberResolutionResult.cs (1)
14internal readonly struct MemberResolutionResult<TMember> where TMember : Symbol
Binder\Semantics\OverloadResolution\MethodGroup.cs (2)
43ArrayBuilder<Symbol> members, 50foreach (var member in members)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (50)
65where TMember : Symbol 79where TMember : Symbol 172where TMember : Symbol 195where TMember : Symbol 244where TMember : Symbol 362BoundExpression receiverOpt) where TMember : Symbol 389private static void RemoveStaticInstanceMismatches<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, bool requireStatic) where TMember : Symbol 402private static void RemoveMethodsNotDeclaredStatic<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results) where TMember : Symbol 418private void RemoveConstraintViolations<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, CompoundUseSiteInfo<AssemblySymbol> template) where TMember : Symbol 432var member = (MethodSymbol)(Symbol)result.Member; 445private void RemoveCallingConventionMismatches<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, in CallingConventionInfo expectedConvention) where TMember : Symbol 468var member = (MethodSymbol)(Symbol)result.Member; 621bool isFunctionPointerConversion) where TMember : Symbol 637var method = (MethodSymbol)(Symbol)result.Member; 669private static Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>> PartitionMembersByContainingType<TMember>(ArrayBuilder<TMember> members) where TMember : Symbol 687private static void ClearContainingTypeMap<TMember>(ref Dictionary<NamedTypeSymbol, ArrayBuilder<TMember>> containingTypeMapOpt) where TMember : Symbol 828where TMember : Symbol 1019public static bool IsValidParams(Symbol member) 1051Symbol member, 1052Symbol moreDerivedOverride, 1084where TMember : Symbol 1108where TMember : Symbol 1128private static bool HidesByName(Symbol member) 1142where TMember : Symbol 1164where TMember : Symbol 1287where TMember : Symbol 1325where TMember : Symbol 1428where TMember : Symbol 1437where TMember : Symbol 1497where TMember : Symbol 1674where TMember : Symbol 1714where TMember : Symbol 2119where TMember : Symbol 2143where TMember : Symbol 2202private static void GetParameterCounts<TMember>(MemberResolutionResult<TMember> m, ArrayBuilder<BoundExpression> arguments, out int declaredParameterCount, out int parametersUsedIncludingExpansionAndOptional) where TMember : Symbol 3112where TMember : Symbol 3126out bool hasAnyRefOmittedArgument) where TMember : Symbol 3216bool allowRefOmittedArguments) where TMember : Symbol 3230out bool hasAnyRefOmittedArgument) where TMember : Symbol 3274where TMember : Symbol 3356where TMember : Symbol 3426where TMember : Symbol 3432if (member.Kind == SymbolKind.Method && (method = (MethodSymbol)(Symbol)member).Arity > 0) 3450MethodSymbol leastOverriddenMethod = (MethodSymbol)(Symbol)leastOverriddenMember; 3475member = (TMember)(Symbol)method.Construct(typeArguments); 3476leastOverriddenMember = (TMember)(Symbol)leastOverriddenMethod.ConstructedFrom.Construct(typeArguments); 3603Symbol candidate, // method or property 3752Symbol candidate, // method or property 3828private static TMember GetConstructedFrom<TMember>(TMember member) where TMember : Symbol 3835return (TMember)(Symbol)(member as MethodSymbol).ConstructedFrom;
Binder\Semantics\OverloadResolution\OverloadResolution_ArgsToParameters.cs (1)
59Symbol symbol,
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (25)
26internal class OverloadResolutionResult<TMember> where TMember : Symbol 203TypeSymbol delegateOrFunctionPointerType = null) where T : Symbol 214var symbols = StaticCast<Symbol>.From(memberGroup); 559private static void ReportUnsupportedMetadata(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, MemberResolutionResult<TMember> firstUnsupported) 571Symbol.ReportUseSiteDiagnostic(diagInfo, diagnostics, location); 574private static void ReportWrongCallingConvention(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, MemberResolutionResult<TMember> firstSupported, MethodSymbol target) 601ImmutableArray<Symbol> symbols, 620ImmutableArray<Symbol> symbols, 635Symbol symbol = staticInstanceMismatch.Member; 689var method = (MethodSymbol)(Symbol)mismatch.Member; 719ImmutableArray<Symbol> symbols, 772ImmutableArray<Symbol> symbols) 792ImmutableArray<Symbol> symbols) 825ImmutableArray<Symbol> symbols) 860ImmutableArray<Symbol> symbols, 905ImmutableArray<Symbol> symbols, 1024MethodSymbol method = (MethodSymbol)(Symbol)result.Member; 1060ImmutableArray<Symbol> symbols, 1119ImmutableArray<Symbol> symbols, 1303private static Symbol UnwrapIfParamsArray(ParameterSymbol parameter, bool isLastParameter) 1317private bool HadAmbiguousWorseMethods(BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, Location location, bool isQuery, BoundExpression receiver, string name) 1381private bool HadAmbiguousBestMethods(BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, Location location) 1433private 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)
442return 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)
29internal override Symbol ContainingMemberOrLambda
Binder\WithUsingNamespacesAndTypesBinder.cs (4)
139ImmutableArray<Symbol> candidates = Binder.GetCandidateMembers(typeOrNamespace.NamespaceOrType, name, options, originalBinder: originalBinder); 140foreach (Symbol symbol in candidates) 161private static bool IsValidLookupCandidateInUsings(Symbol symbol) 207foreach (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)
89public virtual Symbol? ExpressionSymbol 223public override Symbol? ExpressionSymbol 234public override Symbol ExpressionSymbol 245public override Symbol ExpressionSymbol 247get { return this.AliasOpt ?? (Symbol)this.Type; } 265public override Symbol ExpressionSymbol 267get { return this.AliasOpt ?? (Symbol)this.NamespaceSymbol; } 273public override Symbol ExpressionSymbol 291public override Symbol? ExpressionSymbol 299public override Symbol? ExpressionSymbol 307public override Symbol? ExpressionSymbol 339public override Symbol ExpressionSymbol 347public override Symbol ExpressionSymbol 357public override Symbol? ExpressionSymbol => this.Method; 372public override Symbol ExpressionSymbol 380public override Symbol? ExpressionSymbol 388public override Symbol? ExpressionSymbol 396public override Symbol? ExpressionSymbol 419public override Symbol? ExpressionSymbol 467public override Symbol ExpressionSymbol 497public override Symbol ExpressionSymbol 505public override Symbol ExpressionSymbol 513public override Symbol ExpressionSymbol 521public override Symbol? ExpressionSymbol 550public override Symbol ExpressionSymbol 561public override Symbol ExpressionSymbol 572public override Symbol? ExpressionSymbol 583public override Symbol ExpressionSymbol 606public Symbol ValueSymbol { get; } 612public BoundTypeOrValueData(Symbol valueSymbol, BoundExpression valueExpression, BindingDiagnosticBag valueDiagnostics, BoundExpression typeExpression, BindingDiagnosticBag typeDiagnostics)
BoundTree\BoundExpressionExtensions.cs (4)
150public static void GetExpressionSymbols(this BoundExpression node, ArrayBuilder<Symbol> symbols, BoundNode parent, Binder binder) 169foreach (var s in ((BoundBadExpression)node).Symbols) 178var ctor = expr.Type.GetMembers(WellKnownMemberNames.InstanceConstructorName).FirstOrDefault(); 212var symbol = node.ExpressionSymbol;
BoundTree\Constructors.cs (1)
542public BoundBadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol type)
BoundTree\NullabilityRewriter.cs (9)
82private T GetUpdatedSymbol<T>(BoundNode expr, T sym) where T : Symbol? 86Symbol? updatedSymbol = null; 102if (_remappedSymbols.TryGetValue(param, out var updatedParam)) 111Symbol remapLambda(BoundLambda boundLambda, LambdaSymbol lambda) 115if (!_remappedSymbols.TryGetValue(lambda.ContainingSymbol, out Symbol? updatedContaining) && updatedDelegateType is null) 143Symbol remapLocal(SourceLocalSymbol local) 145if (_remappedSymbols.TryGetValue(local, out var updatedLocal)) 152if (!_remappedSymbols.TryGetValue(local.ContainingSymbol, out Symbol? updatedContaining) && !updatedType.HasValue) 185private 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, 842Symbol containingSymbol, 857internal LambdaSymbol CreateLambdaSymbol(NamedTypeSymbol delegateType, Symbol containingSymbol) 1379=> x.IsExpressionTree == y.IsExpressionTree && Symbol.Equals(x.Type, y.Type, TypeCompareKind.ConsiderEverything);
CodeGen\EmitConversion.cs (1)
378foreach (var possibleCtor in delegateType.GetMembers(WellKnownMemberNames.InstanceConstructorName))
CodeGen\Optimizer.cs (1)
2263public override Symbol ContainingSymbol
CommandLine\CSharpCompiler.cs (1)
247Symbol? entryPoint = comp.ScriptClass;
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 (25)
1089internal new Symbol? GetAssemblyOrModuleSymbol(MetadataReference reference) 1571internal Symbol GetSpecialTypeMember(SpecialMember specialMember) 1600ImmutableArray<Symbol>.Empty, 1881var taskCandidates = taskEntryPoints.SelectAsArray(s => (Symbol)s.Candidate); 1884foreach (var candidate in taskCandidates) 1955symbols: viableEntryPoints.OfType<Symbol>().AsImmutable(), 1979ArrayBuilder<MethodSymbol> entryPointCandidates, IEnumerable<Symbol> members) 1981foreach (var member in members) 2223Symbol? symbol0 = symbol.EnsureCSharpSymbolOrNull(nameof(symbol)); 2224Symbol? within0 = within.EnsureCSharpSymbolOrNull(nameof(within)); 2804private static bool IsDefinedOrImplementedInSourceTree(Symbol symbol, SyntaxTree tree, TextSpan? span) 2910filterOpt: filterTree is object ? (Predicate<Symbol>?)(s => IsDefinedOrImplementedInSourceTree(s, filterTree, filterSpan)) : (Predicate<Symbol>?)null, 3312foreach (var childSymbol in symbol.GetMembers()) 4331internal IEnumerable<Symbol> GetSymbolsWithNameCore(string name, SymbolFilter filter = SymbolFilter.TypeAndMember, CancellationToken cancellationToken = default) 4394internal bool ShouldEmitNullableAttributes(Symbol symbol) 4420static Symbol getExplicitAccessibilitySymbol(Symbol symbol) 4446internal void SymbolDeclaredEvent(Symbol symbol) 4512var sustainedLowLatency = GetWellKnownTypeMember(WellKnownMember.System_Runtime_GCLatencyMode__SustainedLowLatency); 4546public IEnumerable<Symbol> GetSymbolsWithName() 4548var result = new HashSet<Symbol>(); 4560HashSet<Symbol> set) 4614ArrayBuilder<MergedNamespaceOrTypeDeclaration> spine, MergedTypeDeclaration current, HashSet<Symbol> set) 4622foreach (var member in container.GetMembers())
Compilation\CSharpSemanticModel.cs (131)
167internal abstract BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols); 177internal abstract ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken)); 279protected BoundExpression GetSpeculativelyBoundExpressionWithoutNullability(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 286crefSymbols = default(ImmutableArray<Symbol>); 298crefSymbols = ImmutableArray.Create<Symbol>(binder.BindType(expression, BindingDiagnosticBag.Discarded).Type); 324internal static ImmutableArray<Symbol> BindCref(CrefSyntax crefSyntax, Binder binder) 326Symbol unusedAmbiguityWinner; 336ImmutableArray<Symbol> symbols = BindCref(crefSyntax, binder); 365private static SymbolInfo GetCrefSymbolInfo(ImmutableArray<Symbol> symbols, SymbolInfoOptions options, bool hasParameterList) 721ImmutableArray<Symbol> crefSymbols; 1051ImmutableArray<Symbol> crefSymbols; 1198ImmutableArray<Symbol> crefSymbols; 1690Symbol uniqueSymbol; 1752Symbol singleSymbol = binder.ResultSymbol(lookupResult, name, arity, this.Root, BindingDiagnosticBag.Discarded, true, out wasError, container, options); 1760foreach (var symbol in lookupResult.Symbols) 1768foreach (var symbol in lookupResult.Symbols) 1778private Symbol RemapSymbolIfNecessary(Symbol symbol) 1796internal abstract Symbol RemapSymbolIfNecessaryCore(Symbol symbol); 1834public bool IsAccessible(int position, Symbol symbol) 1886Constraint = "Provide " + nameof(ArrayBuilder<Symbol>) + " capacity to reduce number of allocations.")] 1923ImmutableArray<Symbol> symbols = GetSemanticSymbols( 1924boundExpr, boundNodeForSyntacticParent, binderOpt, options, out bool isDynamic, out LookupResultKind resultKind, out ImmutableArray<Symbol> unusedMemberGroup); 1930ImmutableArray<Symbol> unusedHighestMemberGroup; 1931ImmutableArray<Symbol> highestSymbols = GetSemanticSymbols( 1970return SymbolInfoFactory.Create(ImmutableArray<Symbol>.Empty, LookupResultKind.Empty, isDynamic); 1976var builder = ArrayBuilder<Symbol>.GetInstance(symbols.Length); 1977foreach (Symbol symbol in symbols) 1998private static SymbolInfo GetSymbolInfoForSubpattern(Symbol subpatternSymbol) 2013private static void AddUnwrappingErrorTypes(ArrayBuilder<Symbol> builder, Symbol s) 2270internal ImmutableArray<Symbol> GetMemberGroupForNode( 2279ImmutableArray<Symbol> memberGroup; 2286return ImmutableArray<Symbol>.Empty; 2308internal static SymbolInfo GetSymbolInfoForSymbol(Symbol symbol, SymbolInfoOptions options) 2313Symbol unwrapped = UnwrapAlias(symbol); 2322var symbols = ImmutableArray<Symbol>.Empty; 2340var symbolToReturn = ((options & SymbolInfoOptions.ResolveAliases) != 0) ? unwrapped : symbol; 2346internal static CSharpTypeInfo GetTypeInfoForSymbol(Symbol symbol) 2356protected static Symbol UnwrapAlias(Symbol symbol) 2361protected static ImmutableArray<Symbol> UnwrapAliases(ImmutableArray<Symbol> symbols) 2365foreach (Symbol symbol in symbols) 2374ArrayBuilder<Symbol> builder = ArrayBuilder<Symbol>.GetInstance(); 2375foreach (Symbol symbol in symbols) 3334private ImmutableArray<Symbol> GetSemanticSymbols( 3341out ImmutableArray<Symbol> memberGroup) 3343memberGroup = ImmutableArray<Symbol>.Empty; 3344ImmutableArray<Symbol> symbols = ImmutableArray<Symbol>.Empty; 3399var typeSymbol = boundType.AliasOpt ?? (Symbol)boundType.Type; 3409symbols = ImmutableArray.Create<Symbol>(typeSymbol); 3442symbols = StaticCast<Symbol>.From(CreateReducedExtensionMethodsFromOriginalsIfNecessary(call, Compilation)); 3451symbols = ImmutableArray.Create<Symbol>(invocation.FunctionPointer); 3480symbols = originalIndexersOpt.IsDefault ? ImmutableArray.Create<Symbol>(indexerAccess.Indexer) : StaticCast<Symbol>.From(originalIndexersOpt); 3495symbols = ImmutableArray<Symbol>.Empty; 3500symbols = ImmutableArray.Create<Symbol>(methodSymbol); 3506boundNode.ExpressionSymbol is Symbol accessSymbol && 3512symbols = ImmutableArray.Create<Symbol>(parentOperator.Event); 3525symbols = ImmutableArray.Create<Symbol>(ReducedExtensionMethodSymbol.Create(symbol)); 3610var builder = ArrayBuilder<Symbol>.GetInstance(); 3621symbols = memberGroup = dynamicInvocation.ApplicableMethods.Cast<MethodSymbol, Symbol>(); 3628symbols = memberGroup = collectionInit.ApplicableMethods.Cast<MethodSymbol, Symbol>(); 3635symbols = memberGroup = dynamicIndexer.ApplicableIndexers.Cast<PropertySymbol, Symbol>(); 3646symbols = memberGroup = objectCreation.ApplicableMethods.Cast<MethodSymbol, Symbol>(); 3656symbols = ImmutableArray.Create<Symbol>(boundObjectCreation.Constructor); 3660symbols = StaticCast<Symbol>.From(boundObjectCreation.ConstructorsGroup); 3664memberGroup = boundObjectCreation.ConstructorsGroup.Cast<MethodSymbol, Symbol>(); 3672var containingMember = binder.ContainingMember(); 3675symbols = thisParam != null ? ImmutableArray.Create<Symbol>(thisParam) : ImmutableArray<Symbol>.Empty; 3684symbols = ImmutableArray.Create<Symbol>(fromEndIndexExpression.MethodOpt); 3694symbols = ImmutableArray.Create<Symbol>(rangeExpression.MethodOpt); 3701if (boundNode.ExpressionSymbol is Symbol symbol) 3719private static ParameterSymbol GetThisParameter(TypeSymbol typeOfThis, NamedTypeSymbol containingType, Symbol containingMember, out LookupResultKind resultKind) 3782private static void GetSymbolsAndResultKind(BoundUnaryOperator unaryOperator, out bool isDynamic, ref LookupResultKind resultKind, ref ImmutableArray<Symbol> symbols) 3798symbols = ImmutableArray.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(unaryOperator.Operand.Type.StrippedType(), 3805private static void GetSymbolsAndResultKind(BoundIncrementOperator increment, out bool isDynamic, ref LookupResultKind resultKind, ref ImmutableArray<Symbol> symbols) 3821symbols = ImmutableArray.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(increment.Operand.Type.StrippedType(), 3828private static void GetSymbolsAndResultKind(BoundBinaryOperator binaryOperator, out bool isDynamic, ref LookupResultKind resultKind, ref ImmutableArray<Symbol> symbols) 3854symbols = ImmutableArray.Create<Symbol>(new SynthesizedIntrinsicOperatorSymbol(objectType, 3872private static Symbol GetIntrinsicOperatorSymbol(BinaryOperatorKind op, bool isDynamic, TypeSymbol leftType, TypeSymbol rightType, TypeSymbol returnType, bool isChecked) 3901private static void GetSymbolsAndResultKind(BoundCompoundAssignmentOperator compoundAssignment, out bool isDynamic, ref LookupResultKind resultKind, ref ImmutableArray<Symbol> symbols) 3927private static void GetSymbolsAndResultKind(BoundExpression node, Symbol symbolOpt, ImmutableArray<MethodSymbol> originalCandidates, out ImmutableArray<Symbol> symbols, out LookupResultKind resultKind) 3936symbols = StaticCast<Symbol>.From(originalCandidates); 3941symbols = ImmutableArray<Symbol>.Empty; 3954ref ImmutableArray<Symbol> symbols, 3955ref ImmutableArray<Symbol> memberGroup) 4007ref ImmutableArray<Symbol> symbols, 4008ref ImmutableArray<Symbol> memberGroup) 4048symbols = ImmutableArray.Create<Symbol>(constructorOpt); 4052symbols = StaticCast<Symbol>.From(candidateConstructors); 4057memberGroup = candidateConstructors.Cast<MethodSymbol, Symbol>(); 4095PooledHashSet<Symbol> hiddenSymbols = null; 4098Symbol symbol = iSymbol.GetSymbol(); 4104foreach (Symbol overridden in overriddenOrHiddenMembers.OverriddenMembers) 4108hiddenSymbols = PooledHashSet<Symbol>.GetInstance(); 4116foreach (Symbol hidden in overriddenOrHiddenMembers.HiddenMembers) 4120hiddenSymbols = PooledHashSet<Symbol>.GetInstance(); 4188HashSet<Symbol> hiddenSymbols = new HashSet<Symbol>(); 4193foreach (Symbol overridden in overriddenOrHiddenMembers.OverriddenMembers) 4201foreach (Symbol hidden in overriddenOrHiddenMembers.HiddenMembers) 4217private ImmutableArray<Symbol> GetMethodGroupSemanticSymbols( 4223out ImmutableArray<Symbol> methodGroup) 4227ImmutableArray<Symbol> symbols = ImmutableArray<Symbol>.Empty; 4239methodGroup = GetReducedAndFilteredMethodGroupSymbols(binder, boundNode).Cast<MethodSymbol, Symbol>(); 4262symbols = StaticCast<Symbol>.From(CreateReducedExtensionMethodsFromOriginalsIfNecessary(call, Compilation)); 4292symbols = ImmutableArray.Create((Symbol)method); 4304symbols = dynamicInvocation.ApplicableMethods.Cast<MethodSymbol, Symbol>(); 4310ImmutableArray<Symbol> myMethodGroup = methodGroup; 4363private ImmutableArray<Symbol> GetPropertyGroupSemanticSymbols( 4368out ImmutableArray<Symbol> propertyGroup) 4372ImmutableArray<Symbol> symbols = ImmutableArray<Symbol>.Empty; 4381propertyGroup = boundNode.Properties.Cast<PropertySymbol, Symbol>(); 4398symbols = ImmutableArray.Create<Symbol>(indexer.Indexer); 4404symbols = StaticCast<Symbol>.From(indexer.OriginalIndexersOpt); 4411ImmutableArray<Symbol> myPropertyGroup = propertyGroup; 4569var otherSymbol = node.LookupSymbolOpt; 4759private ImmutableArray<Symbol> CreateReducedExtensionMethodIfPossible(BoundCall call) 4773return ImmutableArray.Create<Symbol>(method); 4776private ImmutableArray<Symbol> CreateReducedExtensionMethodIfPossible(BoundDelegateCreationExpression delegateCreation, BoundExpression receiverOpt) 4786return ImmutableArray.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)
27private readonly Symbol _memberSymbol; 35private ImmutableDictionary<Symbol, Symbol> _lazyRemappedSymbols; 36private readonly ImmutableDictionary<Symbol, Symbol> _parentRemappedSymbolsOpt; 46Symbol memberSymbol, 49ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt) 83internal Symbol MemberSymbol 152internal ImmutableDictionary<Symbol, Symbol> GetRemappedSymbols() 181internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 195ImmutableDictionary<Symbol, Symbol> ignored = null; 710private T GetRemappedSymbol<T>(T originalSymbol) where T : Symbol 715if (_lazyRemappedSymbols.TryGetValue(originalSymbol, out Symbol? remappedSymbol)) 1223internal override ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken)) 1464protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1472protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 2023ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols); 2304internal override Symbol RemapSymbolIfNecessaryCore(Symbol symbol) 2315if (_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)
28internal readonly ImmutableDictionary<Symbol, Symbol>? RemappedSymbols; 35ImmutableDictionary<Symbol, Symbol>? remappedSymbols = null) 51ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt = null) 119ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt, 131ImmutableDictionary<Symbol, Symbol> parentRemappedSymbolsOpt, 295ref ImmutableDictionary<Symbol, Symbol> remappedSymbols)
Compilation\PublicSemanticModel.cs (2)
23Symbol? attributeTarget = getAttributeTarget(attribute.Parent?.Parent); 34Symbol? getAttributeTarget(SyntaxNode? targetSyntax)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (15)
47ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt) 56static Symbol? getAttributeTargetFromPosition(int position, SyntaxTreeSemanticModel model) 73Symbol owner, 76ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt) 89Symbol owner, 92ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt, 105ImmutableDictionary<Symbol, Symbol>? parentRemappedSymbolsOpt, 456internal override ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken)) 496internal override Symbol RemapSymbolIfNecessaryCore(Symbol symbol) 561internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
Compilation\SymbolInfoFactory.cs (1)
18internal static SymbolInfo Create(ImmutableArray<Symbol> symbols, LookupResultKind resultKind, bool isDynamic)
Compilation\SyntaxTreeSemanticModel.cs (17)
280var symbol = GetSemanticInfoSymbolInNonMemberContext(node, bindVarAsAliasFirst: (options & SymbolInfoOptions.PreserveAliases) != 0); 318var symbol = GetSemanticInfoSymbolInNonMemberContext(node, bindVarAsAliasFirst: false); // Don't care about aliases here. 326private Symbol GetSemanticInfoSymbolInNonMemberContext(CSharpSyntaxNode node, bool bindVarAsAliasFirst) 352Symbol result = bindVarAsAliasFirst 393internal override ImmutableArray<Symbol> GetMemberGroupWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken = default(CancellationToken)) 399return model == null ? ImmutableArray<Symbol>.Empty : model.GetMemberGroupWorker(node, options, cancellationToken); 734internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols) 1726private Symbol GetDeclaredMember(NamespaceOrTypeSymbol container, TextSpan declarationSpan, NameSyntax name) 1753private Symbol GetDeclaredMember(NamespaceOrTypeSymbol container, TextSpan declarationSpan, string name = null) 1763Symbol zeroWidthMatch = null; 1764foreach (var symbol in collection) 1770var result = GetDeclaredMember(namedType, declarationSpan, name); 1830var result = this.GetDeclaredMember(container, declarationSyntax.Span, declarationSyntax.Identifier.ValueText); 2288private static BoundNode GetBoundRoot(MemberSemanticModel memberModel, out Symbol member) 2340private Symbol GetDeclaredMemberSymbol(CSharpSyntaxNode declarationSyntax) 2379internal override Symbol RemapSymbolIfNecessaryCore(Symbol symbol)
Compilation\SyntaxTreeSemanticModel_RegionAnalysisContext.cs (2)
38Symbol member; 55Symbol member;
Compiler\ClsComplianceChecker.cs (37)
32private readonly ConcurrentDictionary<Symbol, Compliance> _declaredOrInheritedCompliance; 52_declaredOrInheritedCompliance = new ConcurrentDictionary<Symbol, Compliance>(Symbols.SymbolEqualityComparer.ConsiderEverything); 205foreach (var m in symbol.GetMembersUnordered()) 223foreach (var m in symbol.GetMembersUnordered()) 260foreach (var m in symbol.GetMembersUnordered()) 413private bool VisitTypeOrMember(Symbol symbol, Compliance compliance) 490private void CheckForNonCompliantAbstractMember(Symbol symbol) 534private void CheckForCompliantWithinNonCompliant(Symbol symbol) 578private void CheckForAttributeWithArrayArgument(Symbol symbol) 673Symbol container = parameters[0].ContainingSymbol; 676Symbol associated = ((MethodSymbol)container).AssociatedSymbol; 704private void CheckReturnTypeCompliance(Symbol symbol) 759private bool TryGetClsComplianceAttributeLocation(ImmutableArray<CSharpAttributeData> attributes, Symbol targetSymbol, out Location attributeLocation) 777private bool CheckForDeclarationWithoutAssemblyDeclaration(Symbol symbol, Compliance compliance) 800MultiDictionary<string, Symbol> seenByName = new MultiDictionary<string, Symbol>(CaseInsensitiveComparison.Comparer); 816foreach (Symbol member in @interface.GetMembersUnordered()) 831foreach (Symbol member in baseType.GetMembersUnordered()) 848foreach (Symbol member in symbol.GetMembers()) 877private void CheckSymbolDistinctness(Symbol symbol, string symbolName, MultiDictionary<string, Symbol>.ValueSet sameNameSymbols) 884foreach (Symbol other in sameNameSymbols) 899foreach (Symbol other in sameNameSymbols) 920private void CheckName(Symbol symbol) 953private bool DoNotVisit(Symbol symbol) 966private bool IsSyntacticallyFilteredOut(Symbol symbol) 1107private Compliance GetDeclaredOrInheritedCompliance(Symbol symbol) 1120Symbol associated = method.AssociatedSymbol; 1163private Compliance GetInheritedCompliance(Symbol symbol) 1167Symbol containing = (Symbol)symbol.ContainingType ?? symbol.ContainingAssembly; 1177private bool? GetDeclaredCompliance(Symbol symbol, out Location attributeLocation) 1213private static bool IsAccessibleOutsideAssembly(Symbol symbol) 1226private static bool IsAccessibleIfContainerIsAccessible(Symbol symbol) 1260private static bool IsImplicitClass(Symbol symbol) 1309private static bool TryGetCollisionErrorCode(Symbol x, Symbol y, out ErrorCode code)
Compiler\DocumentationCommentCompiler.cs (18)
139internal static string GetDocumentationCommentXml(Symbol symbol, bool processIncludes, CancellationToken cancellationToken) 200foreach (var s in symbol.GetMembers()) 231foreach (Symbol member in symbol.GetMembers()) 244public override void DefaultVisit(Symbol symbol) 286var symbolForDocComments = symbol is SynthesizedRecordPropertySymbol ? symbol.ContainingType : symbol; 403private static bool ShouldSkip(Symbol symbol) 485Symbol symbol, 592private static Location GetLocationInTreeReportingDocumentationCommentDiagnostics(Symbol symbol) 608private static ImmutableArray<ParameterSymbol> GetParameters(Symbol symbol) 631private static ImmutableArray<TypeParameterSymbol> GetTypeParameters(Symbol symbol) 649private static bool RequiresDocumentationComment(Symbol symbol) 680private bool TryGetDocumentationCommentNodes(Symbol symbol, out DocumentationMode maxDocumentationMode, out ImmutableArray<DocumentationCommentTriviaSyntax> nodes) 1064Symbol ambiguityWinner; 1065ImmutableArray<Symbol> symbols = binder.BindCref(crefSyntax, out ambiguityWinner, diagnostics); 1067Symbol symbol; 1121Symbol memberSymbol, 1154ImmutableArray<Symbol> referencedSymbols = binder.BindXmlNameAttribute(syntax, ref useSiteInfo); 1179foreach (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)
591foreach (Symbol member in baseType.GetMembers(WellKnownMemberNames.DestructorName))
Compiler\MethodCompiler.cs (11)
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, 392foreach (var s in symbol.GetMembersUnordered()) 484var member = members[memberOrdinal]; 816Symbol associatedPropertyOrEvent = method.AssociatedSymbol; 1835ImmutableDictionary<Symbol, Symbol>? remappedSymbols = null; 2266private static BoundBlock GetSynthesizedEmptyBody(Symbol symbol) 2310private static bool PassesFilter(Predicate<Symbol> filterOpt, Symbol symbol)
Compiler\SynthesizedMetadataCompiler.cs (2)
56foreach (var s in symbol.GetMembers()) 82foreach (Symbol member in symbol.GetMembers())
Declarations\DeclarationTreeBuilder.cs (2)
613Symbol.ReportErrorIfHasConstraints(node.ConstraintClauses, diagnostics); 715Symbol.ReportErrorIfHasConstraints(node.ConstraintClauses, diagnostics);
DocumentationComments\DocumentationCommentIDVisitor.cs (1)
20public override object DefaultVisit(Symbol symbol, StringBuilder builder)
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (2)
153Symbol containingSymbol = symbol.ContainingSymbol; 272private 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)
133foreach (var member in ((TypeSymbol)stateMachineType).GetMembers())
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (45)
66if (definition.GetInternalSymbol() is Symbol symbol) 87if (reference.GetInternalSymbol() is Symbol symbol) 240foreach (var member in @namespace.GetMembers()) 282private sealed class MatchSymbols : CSharpSymbolVisitor<Symbol?> 301private readonly ConcurrentDictionary<Symbol, Symbol?> _matches = new(ReferenceEqualityComparer.Instance); 345public override Symbol DefaultVisit(Symbol symbol) 351public override Symbol? Visit(Symbol symbol) 360public override Symbol? VisitArrayType(ArrayTypeSymbol symbol) 379public override Symbol? VisitEvent(EventSymbol symbol) 382public override Symbol? VisitField(FieldSymbol symbol) 385public override Symbol? VisitMethod(MethodSymbol symbol) 392public override Symbol? VisitModule(ModuleSymbol module) 421public override Symbol? VisitAssembly(AssemblySymbol assembly) 459public override Symbol? VisitNamespace(NamespaceSymbol @namespace) 461var otherContainer = Visit(@namespace.ContainingSymbol); 484public override Symbol VisitDynamicType(DynamicTypeSymbol symbol) 489public override Symbol? VisitNamedType(NamedTypeSymbol sourceType) 533var otherContainer = this.Visit(sourceType.ContainingSymbol); 580public override Symbol VisitParameter(ParameterSymbol parameter) 586public override Symbol? VisitPointerType(PointerTypeSymbol symbol) 599public override Symbol? VisitFunctionPointerType(FunctionPointerTypeSymbol symbol) 641public override Symbol? VisitProperty(PropertySymbol symbol) 644public override Symbol VisitTypeParameter(TypeParameterSymbol symbol) 651var otherContainer = Visit(symbol.ContainingSymbol); 740private Symbol? VisitNamedTypeMember<T>(T member, Func<T, T, bool> predicate) 741where T : Symbol 756where T : Symbol 1037internal sealed class DeepTranslator : CSharpSymbolVisitor<Symbol> 1039private readonly ConcurrentDictionary<Symbol, Symbol> _matches; 1044_matches = new ConcurrentDictionary<Symbol, Symbol>(ReferenceEqualityComparer.Instance); 1048public override Symbol DefaultVisit(Symbol symbol) 1054public override Symbol Visit(Symbol symbol) 1059public override Symbol VisitArrayType(ArrayTypeSymbol symbol) 1072public override Symbol VisitDynamicType(DynamicTypeSymbol symbol) 1077public override Symbol VisitNamedType(NamedTypeSymbol type) 1102public override Symbol VisitPointerType(PointerTypeSymbol symbol) 1109public override Symbol VisitFunctionPointerType(FunctionPointerTypeSymbol symbol) 1138public 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)
204internal sealed override Symbol AdaptedSymbol => AdaptedEventSymbol;
Emitter\Model\FieldSymbolAdapter.cs (1)
348internal sealed override Symbol AdaptedSymbol => AdaptedFieldSymbol;
Emitter\Model\FunctionPointerTypeSymbolAdapter.cs (1)
129internal sealed override Symbol AdaptedSymbol => AdaptedFunctionPointerTypeSymbol;
Emitter\Model\MethodReference.cs (1)
26protected override Symbol UnderlyingSymbol
Emitter\Model\MethodSymbolAdapter.cs (1)
698internal sealed override Symbol AdaptedSymbol => AdaptedMethodSymbol;
Emitter\Model\NamedTypeSymbolAdapter.cs (7)
320foreach (var member in AdaptedNamedTypeSymbol.GetMembers()) 363foreach (Symbol objectMember in objectType.GetMembers(WellKnownMemberNames.DestructorName)) 516foreach (var member in AdaptedNamedTypeSymbol.GetMembers(WellKnownMemberNames.StaticConstructorName)) 930foreach (var m in this.GetMembers()) 1009foreach (var m in this.GetMembers()) 1026foreach (var m in this.GetMembers()) 1050internal sealed override Symbol AdaptedSymbol => AdaptedNamedTypeSymbol;
Emitter\Model\NamespaceSymbolAdapter.cs (1)
59internal sealed override Symbol AdaptedSymbol => AdaptedNamespaceSymbol;
Emitter\Model\ParameterSymbolAdapter.cs (1)
279internal sealed override Symbol AdaptedSymbol => AdaptedParameterSymbol;
Emitter\Model\PEModuleBuilder.cs (22)
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); 235foreach (var member in symbol.GetMembers()) 350foreach (var member in symbol.GetMembers()) 373foreach (var member in symbol.GetMembers()) 434private void AddSymbolLocation(MultiDictionary<Cci.DebugSourceDocument, Cci.DefinitionWithLocation> result, Symbol symbol) 461private Location GetSmallestSourceLocationOrNull(Symbol symbol) 548foreach (var member in ns.GetMembers()) 581foreach (var member in symbol.GetMembers()) 804Symbol.ReportUseSiteDiagnostic(info, 1053private object GetCciAdapter(Symbol symbol) 1184public static Cci.TypeMemberVisibility MemberVisibility(Symbol symbol) 1450var container = param.ContainingSymbol; 1486private static bool ContainerIsGeneric(Symbol container) 1549internal SynthesizedAttributeData SynthesizeIsReadOnlyAttribute(Symbol symbol) 1560internal SynthesizedAttributeData SynthesizeIsUnmanagedAttribute(Symbol symbol) 1571internal SynthesizedAttributeData SynthesizeIsByRefLikeAttribute(Symbol symbol) 1587internal SynthesizedAttributeData SynthesizeNullableAttributeIfNecessary(Symbol symbol, byte? nullableContextValue, TypeWithAnnotations type) 1647internal SynthesizedAttributeData SynthesizeNullableContextAttribute(Symbol symbol, byte value) 1672internal SynthesizedAttributeData SynthesizeNativeIntegerAttribute(Symbol symbol, TypeSymbol type)
Emitter\Model\PointerTypeSymbolAdapter.cs (1)
150internal sealed override Symbol AdaptedSymbol => AdaptedPointerTypeSymbol;
Emitter\Model\PropertySymbolAdapter.cs (1)
336internal 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)
173internal abstract Symbol AdaptedSymbol { get; }
Emitter\Model\TypeMemberReference.cs (1)
15protected abstract Symbol UnderlyingSymbol { get; }
Emitter\Model\TypeParameterSymbolAdapter.cs (1)
384internal sealed override Symbol AdaptedSymbol => AdaptedTypeParameterSymbol;
Emitter\NoPia\EmbeddedEvent.cs (1)
129foreach (Symbol m in sourceInterface.GetMembers(UnderlyingEvent.AdaptedEventSymbol.MetadataName))
Emitter\NoPia\EmbeddedType.cs (1)
297foreach (Symbol s in UnderlyingNamedType.AdaptedNamedTypeSymbol.GetMembers(defaultMember))
Emitter\NoPia\EmbeddedTypesManager.cs (7)
40private readonly ConcurrentDictionary<Symbol, bool> _reportedSymbolsMap = new ConcurrentDictionary<Symbol, bool>(ReferenceEqualityComparer.Instance); 72Symbol.ReportUseSiteDiagnostic(info.DiagnosticInfo, 109Symbol.ReportUseSiteDiagnostic(info.DiagnosticInfo, 254foreach (Symbol member in namedType.GetMembersUnordered()) 313private static void ReportNotEmbeddableSymbol(ErrorCode error, Symbol symbol, SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics, EmbeddedTypesManager optTypeManager) 493Symbol propertyOrEvent = method.AdaptedMethodSymbol.AssociatedSymbol;
Errors\CSDiagnosticInfo.cs (4)
23: this(code, Array.Empty<object>(), ImmutableArray<Symbol>.Empty, ImmutableArray<Location>.Empty) 28: this(code, args, ImmutableArray<Symbol>.Empty, ImmutableArray<Location>.Empty) 32internal CSDiagnosticInfo(ErrorCode code, ImmutableArray<Symbol> symbols, object[] args) 37internal 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)
101var info = new CSDiagnosticInfo((ErrorCode)code, args, ImmutableArray<Symbol>.Empty, ImmutableArray<Location>.Empty);
FlowAnalysis\AbstractFlowPass.cs (3)
56protected Symbol _symbol; 61protected Symbol CurrentSymbol; 184Symbol symbol,
FlowAnalysis\AbstractFlowPass_LocalFunctions.cs (1)
67var oldSymbol = this.CurrentSymbol;
FlowAnalysis\AbstractRegionControlFlowPass.cs (1)
16Symbol member,
FlowAnalysis\AbstractRegionDataFlowPass.cs (2)
18Symbol member, 22HashSet<Symbol> initiallyAssignedVariables = null,
FlowAnalysis\AlwaysAssignedWalker.cs (7)
27private AlwaysAssignedWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 32internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 39return badRegion ? SpecializedCollections.EmptyEnumerable<Symbol>() : result; 47private List<Symbol> Analyze(ref bool badRegion) 50List<Symbol> result = new List<Symbol>();
FlowAnalysis\ControlFlowPass.cs (3)
34internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node) 39internal ControlFlowPass(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 154public 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) 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; 484Symbol associatedPropertyOrEvent = field.AssociatedSymbol; 664foreach (Symbol captured in _capturedVariables) 686private void CheckCaptured(Symbol variable, ParameterSymbol? rangeVariableUnderlyingParameter = null) 689Symbol.IsCaptured(rangeVariableUnderlyingParameter ?? variable, sourceMethod)) 700private void NoteCaptured(Symbol variable) 715protected IEnumerable<Symbol> GetCapturedInside() => _capturedInside.ToArray(); 716protected IEnumerable<Symbol> GetCapturedOutside() => _capturedOutside.ToArray(); 717protected IEnumerable<Symbol> GetCaptured() => _capturedVariables.ToArray(); 718protected IEnumerable<Symbol> GetUnsafeAddressTaken() => _unsafeAddressTakenVariables.Keys.ToArray(); 723private void NotePrimaryConstructorParameterReadIfNeeded(Symbol symbol) 732Symbol variable, 821protected virtual void NoteWrite(Symbol variable, BoundExpression value, bool read) 1021protected override bool TryGetReceiverAndMember(BoundExpression expr, out BoundExpression receiver, out Symbol member) 1107protected void CheckAssigned(Symbol symbol, SyntaxNode node) 1126private void ReportUnassignedIfNotCapturedInLocalFunction(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration = true) 1143protected virtual void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration) 1212void addDiagnosticForStructThis(Symbol thisParameter, int thisSlot) 1258var associatedSymbol = fieldSymbol.AssociatedSymbol; 1414private Symbol UseNonFieldSymbolUnsafely(BoundExpression expression) 1685Symbol current = CurrentSymbol; 1711Symbol containing = current.ContainingSymbol; 2260var oldSymbol = this.CurrentSymbol; 2378Symbol variable = UseNonFieldSymbolUnsafely(operand); 2486foreach (var symbol in namedType.GetMembersUnordered()) 2534Symbol 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)
144foreach (var member in type.OriginalDefinition.GetMembersUnordered()) 183foreach (var member in type.OriginalDefinition.GetMembersUnordered()) 197private FieldSymbol GetActualField(Symbol member, NamedTypeSymbol type) 221private bool ShouldIgnoreStructField(Symbol member, TypeSymbol memberType) 258private static bool IsAccessibleInAssembly(Symbol symbol, SourceAssemblySymbol assembly)
FlowAnalysis\EntryPointsWalker.cs (2)
23internal static IEnumerable<LabeledStatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, out bool? succeeded) 48private 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) 199protected abstract bool TryGetReceiverAndMember(BoundExpression expr, out BoundExpression? receiver, [NotNullWhen(true)] out Symbol? member); 222if (TryGetReceiverAndMember(node, out BoundExpression? receiver, out Symbol? member)) 234protected int MakeMemberSlot(BoundExpression? receiverOpt, Symbol member) 257protected static bool HasInitializer(Symbol field) => field switch
FlowAnalysis\NullableWalker.cs (109)
416Symbol? symbol, 626var alreadyWarnedMembers = PooledHashSet<Symbol>.GetInstance(); 627foreach (var member in method.ContainingType.GetMembersUnordered()) 671void checkMemberStateOnConstructorExit(MethodSymbol constructor, Symbol member, LocalState state, int thisSlot, Location? exitLocation, ImmutableArray<string> membersWithStateEnforcedByRequiredMembers, bool forcePropertyAnalysis) 690Symbol symbol; 696symbol = (Symbol?)(f.AssociatedSymbol as PropertySymbol) ?? f; 753var info = new CSDiagnosticInfo(ErrorCode.WRN_UninitializedNonNullableField, new object[] { symbol.Kind.Localize(), symbol.Name }, ImmutableArray<Symbol>.Empty, additionalLocations: symbol.Locations); 760foreach (var member in method.ContainingType.GetMembers(memberName)) 804void enforceMemberNotNullWhenIfAffected(SyntaxNode? syntaxOpt, bool sense, ImmutableArray<Symbol> members, LocalState state, LocalState otherState) 806foreach (var member in members) 823foreach (var member in method.ContainingType.GetMembers(memberName)) 831void reportMemberIfBadConditionalState(SyntaxNode? syntaxOpt, bool sense, Symbol member, LocalState state) 840bool memberHasBadState(Symbol member, LocalState state) 871foreach (var member in getMembersNeedingDefaultInitialState()) 878var memberToInitialize = member; 929ImmutableArray<Symbol> getMembersNeedingDefaultInitialState() 933return ImmutableArray<Symbol>.Empty; 973static ImmutableArray<Symbol> membersToBeInitialized(NamedTypeSymbol containingType, bool includeAllMembers, bool includeCurrentTypeRequiredMembers, bool includeBaseRequiredMembers) 978=> ImmutableArray<Symbol>.Empty, 996static ImmutableArray<Symbol> getAllTypeAndRequiredMembers(TypeSymbol containingType) 999var requiredMembers = containingType.BaseTypeNoUseSiteDiagnostics?.AllRequiredMembers ?? ImmutableSegmentedDictionary<string, Symbol>.Empty; 1006var builder = ArrayBuilder<Symbol>.GetInstance(members.Length + requiredMembers.Count); 1017static IEnumerable<Symbol> getAllMembersToBeDefaulted(Symbol requiredMember) 1033foreach (var member in property.ContainingType.GetMembers(notNullMemberName)) 1041static Symbol getFieldSymbolToBeInitialized(Symbol requiredMember) 1058foreach (var member in type.GetMembers(memberName)) 1068int getSlotForFieldOrPropertyOrEvent(Symbol member) 1355internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody) 1425Symbol? symbol, 1440Symbol? symbol, 1447ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1456Symbol? symbol, 1519ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1524var symbol = variables.Symbol; 1560private static BoundNode Rewrite(ImmutableDictionary<BoundExpression, (NullabilityInfo, TypeSymbol?)> updatedNullabilities, SnapshotManager? snapshotManager, BoundNode node, ref ImmutableDictionary<Symbol, Symbol>? remappedSymbols) 1562var remappedSymbolsBuilder = ImmutableDictionary.CreateBuilder<Symbol, Symbol>(Symbols.SymbolEqualityComparer.ConsiderEverything, Symbols.SymbolEqualityComparer.ConsiderEverything); 1671Symbol? symbol, 1723Symbol? symbol, 1756private void RecordNullableAnalysisData(Symbol? symbol, bool requiredAnalysis) 1783private void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 1806if (lambdaIsExactMatch || Symbol.Equals(originalSymbol, updatedSymbol, TypeCompareKind.ConsiderEverything)) 1858var symbol = variable.Symbol; 1891protected override bool TryGetReceiverAndMember(BoundExpression expr, out BoundExpression? receiver, [NotNullWhen(true)] out Symbol? member) 2059var container = method.ContainingSymbol; 2070protected override int GetOrCreateSlot(Symbol symbol, int containingSlot = 0, bool forceSlotEvenIfEmpty = false, bool createIfMissing = true) 2170var containingSymbol = parameterOpt?.ContainingSymbol; 2542private bool IsSlotMember(int slot, Symbol possibleMember) 2554private void InheritNullableStateOfMember(int targetContainerSlot, int valueContainerSlot, Symbol member, bool isDefaultValue, int skipSlot) 2650var symbol = AsMemberOfType(targetType, variable.Symbol); 2657private NullableFlowState GetDefaultState(Symbol symbol) 2670var member = variable.Symbol; 3029var symbol = variables[variables.RootSlot(slot)].Symbol; 3030if (Symbol.IsCaptured(symbol, localFunc)) 3074var oldSymbol = this._symbol; 3076var oldCurrentSymbol = this.CurrentSymbol; 3380private static bool AreCloseEnough(Symbol original, Symbol updated) 3712Symbol? symbol = getTargetMember(containingType, objectInitializer); 3728Action<int, Symbol>? initializationCompletion = null; 3752Action<int, Symbol>? initializationCompletion, 3774Action<int, Symbol>? initializationCompletion) 3778Symbol? symbol = getTargetMember(containingType, (BoundObjectInitializerMember)node.Left); 3790static Symbol? getTargetMember(TypeSymbol containingType, BoundObjectInitializerMember objectInitializer) 3792var symbol = objectInitializer.MemberSymbol; 3803int getOrCreateSlot(int containingSlot, Symbol symbol) 3808Action<int, Symbol>? visitNestedInitializer(int containingSlot, TypeSymbol containingType, Symbol symbol, BoundObjectInitializerExpressionBase initializer, bool delayCompletionForType) 3818Action<int, Symbol>? completeNestedInitializerAnalysis( 3819Symbol symbol, BoundObjectInitializerExpressionBase initializer, int slot, Action<int, TypeSymbol>? nestedCompletion, 3840Action<int, Symbol>? completeNestedInitializerAnalysisAsContinuation(BoundObjectInitializerExpressionBase initializer, Action<int, TypeSymbol>? nestedCompletion) 3842return (int containingSlot, Symbol symbol) => 3850Action<int, Symbol>? visitMemberAssignment(BoundAssignmentOperator node, int containingSlot, Symbol symbol, bool delayCompletionForType, Func<TypeWithAnnotations, TypeWithState>? conversionCompletion = null) 3883Action<int, Symbol>? visitMemberAssignmentAsContinuation(BoundAssignmentOperator node, Func<TypeWithAnnotations, TypeWithState> conversionCompletion) 3885return (int containingSlot, Symbol symbol) => 5029foreach (var member in getMembers(expressionType)) 5046static IEnumerable<Symbol> getMembers(TypeSymbol type) 5049foreach (var member in type.GetMembers()) 5054foreach (var member in baseType.GetMembers()) 5059foreach (var member in interfaceType.GetMembers()) 5788var implementationMethod = baseType.FindImplementationForInterfaceMember(constructedMethod); 5996private FlowAnalysisAnnotations GetRValueAnnotations(Symbol? symbol) 6428foreach (Symbol member in type.GetMembers(memberName)) 7328private static Symbol AsMemberOfType(TypeSymbol? type, Symbol symbol) 7373if (tryAsMemberOfSingleType(containingType, out var result)) 7389if (tryAsMemberOfSingleType(containingType, out var result)) 7403bool tryAsMemberOfSingleType(NamedTypeSymbol singleType, [NotNullWhen(true)] out Symbol? result) 7410var symbolDef = symbol.OriginalDefinition; 7659int targetSlot = GetNullableOfTValueSlot(containingType, containingSlot, out Symbol? symbol); 9168private FlowAnalysisAnnotations GetObjectInitializerMemberLValueAnnotations(Symbol memberSymbol) 9788var updatedSymbol = VisitMemberAccess(node, node.ReceiverOpt, node.FieldSymbol); 9798var updatedMember = VisitMemberAccess(node, node.ReceiverOpt, property); 9869var updatedSymbol = VisitMemberAccess(node, node.ReceiverOpt, node.EventSymbol); 9874private Symbol VisitMemberAccess(BoundExpression node, BoundExpression? receiverOpt, Symbol member) 9922private SpecialMember? GetNullableOfTMember(Symbol member) 9942private int GetNullableOfTValueSlot(TypeSymbol containingType, int containingSlot, out Symbol? valueProperty, bool forceSlotEvenIfEmpty = false) 11742private sealed class ExpressionAndSymbolEqualityComparer : IEqualityComparer<(BoundNode? expr, Symbol symbol)> 11748public bool Equals((BoundNode? expr, Symbol symbol) x, (BoundNode? expr, Symbol symbol) y) 11759public 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)
34private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol> _updatedSymbolsMap; 38private SnapshotManager(ImmutableArray<SharedWalkerState> walkerSharedStates, ImmutableArray<(int position, Snapshot snapshot)> incrementalSnapshots, ImmutableDictionary<(BoundNode?, Symbol), Symbol> updatedSymbolsMap) 77if (_updatedSymbolsMap.TryGetValue((null, lambda), out var updatedDelegate)) 85internal bool TryGetUpdatedSymbol(BoundNode node, Symbol symbol, [NotNullWhen(true)] out Symbol? updatedSymbol) 151private readonly ImmutableDictionary<(BoundNode?, Symbol), Symbol>.Builder _updatedSymbolMap = ImmutableDictionary.CreateBuilder<(BoundNode?, Symbol), Symbol>(ExpressionAndSymbolEqualityComparer.Instance, Symbols.SymbolEqualityComparer.ConsiderEverything); 169private readonly PooledDictionary<Symbol, int> _symbolToSlot = PooledDictionary<Symbol, int>.GetInstance(); 184internal int EnterNewWalker(Symbol symbol) 223internal void SetUpdatedSymbol(BoundNode node, Symbol originalSymbol, Symbol updatedSymbol) 231internal void RemoveSymbolIfPresent(BoundNode node, Symbol symbol) 236private 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 (24)
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; 102Symbol containing = current.ContainingSymbol; 125protected override void NoteRead(Symbol variable, ParameterSymbol rangeVariableUnderlyingParameter = null) 132protected override void NoteWrite(Symbol variable, BoundExpression value, bool read) 165private void NoteReceiverReadOrWritten(BoundFieldAccess expr, 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)
22internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion) 29return badRegion ? SpecializedCollections.EmptyEnumerable<Symbol>() : walker._variablesDeclared; 37private HashSet<Symbol> _variablesDeclared = new HashSet<Symbol>(); 39internal VariablesDeclaredWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
Generated\BoundNodes.xml.Generated.cs (53)
517public BoundDeconstructValuePlaceholder(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression, TypeSymbol type, bool hasErrors) 527public BoundDeconstructValuePlaceholder(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression, TypeSymbol type) 538public Symbol? VariableSymbol { get; } 544public BoundDeconstructValuePlaceholder Update(Symbol? variableSymbol, bool isDiscardExpression, TypeSymbol type) 967public BoundBadExpression(SyntaxNode syntax, LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type, bool hasErrors = false) 980public ImmutableArray<Symbol?> Symbols { get; } 986public BoundBadExpression Update(LookupResultKind resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type) 5963public 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) 5982public Symbol? LookupSymbolOpt { get; } 5990public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt, LookupResultKind resultKind) 6476public BoundObjectInitializerMember(SyntaxNode syntax, Symbol? memberSymbol, ImmutableArray<BoundExpression> arguments, ImmutableArray<string> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, TypeSymbol receiverType, TypeSymbol type, bool hasErrors = false) 6496public Symbol? MemberSymbol { get; } 6509public BoundObjectInitializerMember Update(Symbol? memberSymbol, ImmutableArray<BoundExpression> arguments, ImmutableArray<string> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, LookupResultKind resultKind, TypeSymbol receiverType, TypeSymbol type) 7768protected BoundObjectPattern(BoundKind kind, SyntaxNode syntax, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 7779public Symbol? Variable { get; } 7785public BoundDeclarationPattern(SyntaxNode syntax, BoundTypeExpression declaredType, bool isVar, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false) 7803public BoundDeclarationPattern Update(BoundTypeExpression declaredType, bool isVar, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 7817public 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) 7840public BoundRecursivePattern Update(BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 7854public 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) 7884public BoundListPattern Update(ImmutableArray<BoundPattern> subpatterns, bool hasSlice, BoundExpression? lengthAccess, BoundExpression? indexerAccess, BoundListPatternReceiverPlaceholder? receiverPlaceholder, BoundListPatternIndexPlaceholder? argumentPlaceholder, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType) 7987public BoundPositionalSubpattern(SyntaxNode syntax, Symbol? symbol, BoundPattern pattern, bool hasErrors = false) 7996public Symbol? Symbol { get; } 8001public BoundPositionalSubpattern Update(Symbol? symbol, BoundPattern pattern) 8045public BoundPropertySubpatternMember(SyntaxNode syntax, BoundPropertySubpatternMember? receiver, Symbol? symbol, TypeSymbol type, bool hasErrors = false) 8057public Symbol? Symbol { get; } 8063public BoundPropertySubpatternMember Update(BoundPropertySubpatternMember? receiver, Symbol? symbol, TypeSymbol type) 8272protected VariablePendingInference(BoundKind kind, SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false) 8283public Symbol VariableSymbol { get; } 8289public OutVariablePendingInference(SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false) 8301public OutVariablePendingInference Update(Symbol variableSymbol, BoundExpression? receiverOpt) 8315public DeconstructionVariablePendingInference(SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false) 8327public DeconstructionVariablePendingInference Update(Symbol variableSymbol, BoundExpression? receiverOpt) 8341public OutDeconstructVarPendingInference(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression, bool hasErrors) 8348public OutDeconstructVarPendingInference(SyntaxNode syntax, Symbol? variableSymbol, bool isDiscardExpression) 8356public Symbol? VariableSymbol { get; } 8362public OutDeconstructVarPendingInference Update(Symbol? variableSymbol, bool isDiscardExpression) 11785private readonly ImmutableDictionary<Symbol, Symbol>.Builder _remappedSymbols; 11787public NullabilityRewriter(ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> updatedNullabilities, NullableWalker.SnapshotManager? snapshotManager, ImmutableDictionary<Symbol, Symbol>.Builder remappedSymbols) 11849Symbol? variableSymbol = GetUpdatedSymbol(node, node.VariableSymbol); 12015ImmutableArray<Symbol?> symbols = GetUpdatedArray(node, node.Symbols); 13426Symbol? lookupSymbolOpt = GetUpdatedSymbol(node, node.LookupSymbolOpt); 13647Symbol? memberSymbol = GetUpdatedSymbol(node, node.MemberSymbol); 14190Symbol? variable = GetUpdatedSymbol(node, node.Variable); 14201Symbol? variable = GetUpdatedSymbol(node, node.Variable); 14213Symbol? variable = GetUpdatedSymbol(node, node.Variable); 14248Symbol? symbol = GetUpdatedSymbol(node, node.Symbol); 14255Symbol? symbol = GetUpdatedSymbol(node, node.Symbol); 14324Symbol variableSymbol = GetUpdatedSymbol(node, node.VariableSymbol); 14342Symbol variableSymbol = GetUpdatedSymbol(node, node.VariableSymbol); 14360Symbol? variableSymbol = GetUpdatedSymbol(node, node.VariableSymbol);
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (2)
55Roslyn.Utilities.IReadOnlySet<Symbol> hoistedVariables, 56IReadOnlyDictionary<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)
73Roslyn.Utilities.IReadOnlySet<Symbol> hoistedVariables, 74IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> nonReusableLocalProxies,
Lowering\AsyncRewriter\AsyncRewriter.AsyncIteratorRewriter.cs (1)
262protected 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\ClosureConversion\ClosureConversion.Analysis.cs (2)
486foreach (var variable in scopeEnv.CapturedVariables) 547public static Scope GetVariableDeclarationScope(Scope startingScope, Symbol variable)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (17)
52public readonly SetWithInsertionOrder<Symbol> DeclaredVariables = new SetWithInsertionOrder<Symbol>(); 133public readonly PooledHashSet<Symbol> CapturedVariables = PooledHashSet<Symbol>.GetInstance(); 175public readonly SetWithInsertionOrder<Symbol> CapturedVariables; 187public ClosureEnvironment(IEnumerable<Symbol> capturedVariables, bool isStruct) 189CapturedVariables = new SetWithInsertionOrder<Symbol>(); 190foreach (var item in capturedVariables) 289private readonly SmallDictionary<Symbol, Scope> _localToScope = new SmallDictionary<Symbol, Scope>(); 303private readonly HashSet<Symbol> _freeVariables = new HashSet<Symbol>(); 376DeclareLocals(_currentScope, ImmutableArray.Create<Symbol>(thisParam)); 587private void AddIfCaptured(Symbol symbol, SyntaxNode syntax) 661private void AddDiagnosticIfRestrictedType(Symbol capturedVariable, SyntaxNode syntax) 691where TSymbol : Symbol 767where TSymbol : Symbol
Lowering\ClosureConversion\ClosureConversion.cs (14)
91private readonly Dictionary<NamedTypeSymbol, Symbol> _framePointers = new Dictionary<NamedTypeSymbol, Symbol>(); 110private Symbol _innermostFramePointer; 145/// This should only be used by <see cref="NeedsProxy(Symbol)"/> which 150private readonly ImmutableHashSet<Symbol> _allCapturedVariables; 188var allCapturedVars = ImmutableHashSet.CreateBuilder<Symbol>(); 198protected override bool NeedsProxy(Symbol localOrParameter) 382foreach (var captured in env.CapturedVariables) 610Symbol framePointer = _framePointers[frameClass]; 700foreach (var variable in env.CapturedVariables) 705Symbol oldInnermostFramePointer = _innermostFramePointer; 733private void InitVariableProxy(SyntaxNode syntax, Symbol symbol, LocalSymbol framePointer, ArrayBuilder<BoundExpression> prologue) 1532var oldInnermostFramePointer = _innermostFramePointer; 1703return new BoundBadExpression(F.Syntax, LookupResultKind.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (8)
353return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType); 384return new BoundBadExpression(node.Syntax, 0, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType); 830private BoundExpression InitializerMemberSetter(Symbol symbol) 845private BoundExpression InitializerMemberGetter(Symbol symbol) 872var sym = ((BoundObjectInitializerMember)a.Left).MemberSymbol; 1000return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type); 1007return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type); 1039return new BoundBadExpression(node.Syntax, default(LookupResultKind), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\ClosureConversion\LambdaCapturedVariable.cs (4)
38public static LambdaCapturedVariable Create(SynthesizedClosureEnvironment frame, Symbol captured, ref int uniqueId) 47private static bool IsThis(Symbol captured) 53private static string GetCapturedVariableFieldName(Symbol variable, ref int uniqueId) 96private static TypeSymbol GetCapturedVariableFieldType(SynthesizedContainer frame, Symbol variable)
Lowering\ClosureConversion\SynthesizedClosureEnvironment.cs (5)
35private ArrayBuilder<Symbol> _membersBuilder = ArrayBuilder<Symbol>.GetInstance(); 36private ImmutableArray<Symbol> _members; 102public override ImmutableArray<Symbol> GetMembers() 132public override Symbol ContainingSymbol => _topLevelMethod.ContainingSymbol;
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
195private void CheckReferenceToVariable(BoundExpression node, Symbol symbol) 199if (_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\Instrumentation\LocalStateTracingInstrumenter.cs (6)
204private MethodSymbol? GetLocalOrParameterStoreLogger(TypeSymbol variableType, Symbol targetSymbol, bool? refAssignmentSourceIsLocal, SyntaxNode syntax) 390if (!TryGetLocalOrParameterInfo(original.Left, out var targetSymbol, out var targetType, out var targetIndex)) 411private bool TryGetLocalOrParameterInfo(BoundNode node, [NotNullWhen(true)] out Symbol? symbol, [NotNullWhen(true)] out TypeSymbol? type, [NotNullWhen(true)] out BoundExpression? indexExpression) 439Symbol targetSymbol, 487private BoundExpression VariableRead(Symbol localOrParameterSymbol) 585if (!TryGetLocalOrParameterInfo(arguments[i], out var targetSymbol, out var targetType, out var targetIndex))
Lowering\IteratorRewriter\IteratorFinallyMethodSymbol.cs (2)
179public override Symbol AssociatedSymbol 199public override Symbol ContainingSymbol
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (2)
61Roslyn.Utilities.IReadOnlySet<Symbol> hoistedVariables, 62IReadOnlyDictionary<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 (2)
16private readonly Symbol _containingSymbol; 40public override Symbol ContainingSymbol => _containingSymbol;
Lowering\LocalRewriter\DelegateCacheRewriter.cs (2)
142for (Symbol? enclosingSymbol = currentFunction; enclosingSymbol is MethodSymbol enclosingMethod; enclosingSymbol = enclosingSymbol.ContainingSymbol) 176for (Symbol? enclosingSymbol = currentFunction; enclosingSymbol is MethodSymbol enclosingMethod; enclosingSymbol = enclosingSymbol.ContainingSymbol)
Lowering\LocalRewriter\DynamicSiteContainer.cs (1)
24public override Symbol ContainingSymbol
Lowering\LocalRewriter\LocalRewriter.cs (2)
523return new BoundBadExpression(syntax, LookupResultKind.NotReferencable, ImmutableArray<Symbol?>.Empty, children, resultType); 526private bool TryGetWellKnownTypeMember<TSymbol>(SyntaxNode? syntax, WellKnownMember member, out TSymbol symbol, bool isOptional = false, Location? location = null) where TSymbol : Symbol
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (3)
852var lengthMember = stringPatternInput switch 865var charsMember = stringPatternInput switch 936var charsMember = stringPatternInput switch
Lowering\LocalRewriter\LocalRewriter_Call.cs (5)
424Symbol methodOrIndexer, 758Symbol methodOrIndexer, 951Symbol methodOrIndexer, 1006Symbol methodOrIndexer, 1144Symbol methodOrIndexer,
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (2)
160private BoundExpression? TransformPropertyOrEventReceiver(Symbol propertyOrEvent, BoundExpression? receiverOpt, bool isRegularCompoundAssignment, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps) 451private 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)
118clearCall = new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(removeDelegate), ErrorTypeSymbol.UnknownResultType); 161marshalCall = new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, marshalArguments, ErrorTypeSymbol.UnknownResultType); 255getOrCreateCall = new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(fieldAccess), ErrorTypeSymbol.UnknownResultType); 277return new BoundBadExpression(syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(getOrCreateCall), ErrorTypeSymbol.UnknownResultType); 323return new BoundBadExpression(node.Syntax, LookupResultKind.NotCreatable, ImmutableArray.Create<Symbol?>(node.Event),
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (2)
450helperCall = new BoundBadExpression(fixedInitializer.Syntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType); 511lengthCall = 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)
72exitCallExpr = new BoundBadExpression(lockSyntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(boundLockTemp), ErrorTypeSymbol.UnknownResultType); 166enterCallExpr = new BoundBadExpression(lockSyntax, LookupResultKind.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(boundLockTemp), ErrorTypeSymbol.UnknownResultType);
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (4)
210var property = left.MemberSymbol; 379newGuid = new BoundBadExpression(node.Syntax, LookupResultKind.NotCreatable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType); 397callGetTypeFromCLSID = new BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType); 409rewrittenObjectCreation = new BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, node.Type);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
500var memberSymbol = rewrittenLeft.MemberSymbol;
Lowering\LocalRewriter\LocalRewriter_StackAlloc.cs (1)
70symbols: ImmutableArray<Symbol?>.Empty,
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
417foreach (var member in typeToStringMembers)
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (1)
377: 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)
526var binderFactory = _factory.WellKnownMember(factoryMethod);
Lowering\MethodToClassRewriter.cs (8)
28protected Dictionary<Symbol, CapturedSymbolReplacement> proxies = new Dictionary<Symbol, CapturedSymbolReplacement>(); 78protected abstract bool NeedsProxy(Symbol localOrParameter); 367private bool TryReplaceWithProxy(Symbol parameterOrLocal, SyntaxNode syntax, [NotNullWhen(true)] out BoundNode? replacement) 418private bool TryGetHoistedField(Symbol variable, [NotNullWhen(true)] out FieldSymbol? field) 630foreach (var member in newType.GetMembers(method.Name)) 673foreach (var member in newType.GetMembers(property.Name)) 697var member = node.MemberSymbol;
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (17)
30private readonly OrderedSet<Symbol> _variablesToHoist = new OrderedSet<Symbol>(); 34private MultiDictionary<Symbol, SyntaxNode> _lazyDisallowedCaptures; 42private IteratorAndAsyncCaptureWalker(CSharpCompilation compilation, MethodSymbol method, BoundNode node, HashSet<Symbol> initiallyAssignedVariables) 53public static OrderedSet<Symbol> Analyze(CSharpCompilation compilation, MethodSymbol method, BoundNode node, DiagnosticBag diagnostics) 78var variable = kvp.Key; 97var variablesToHoist = new OrderedSet<Symbol>(); 103var symbol = v.Symbol; 119private static bool HoistInDebugBuild(Symbol symbol) 138var symbol = variableBySlot[i].Symbol; 192private void CaptureVariable(Symbol variable, SyntaxNode syntax) 197(_lazyDisallowedCaptures ??= new MultiDictionary<Symbol, SyntaxNode>()).Add(variable, syntax); 232protected override void ReportUnassigned(Symbol symbol, SyntaxNode node, int slot, bool skipIfUseBeforeDeclaration) 322private readonly HashSet<Symbol> _localsInScope; 332_localsInScope = new HashSet<Symbol>(); 361private void AddVariable(Symbol local) 396private void Capture(Symbol s, SyntaxNode syntax)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (5)
86private readonly Roslyn.Utilities.IReadOnlySet<Symbol> _hoistedVariables; 105Roslyn.Utilities.IReadOnlySet<Symbol> hoistedVariables, 106IReadOnlyDictionary<Symbol, CapturedSymbolReplacement> nonReusableLocalProxies, 170protected override bool NeedsProxy(Symbol localOrParameter) 191internal Roslyn.Utilities.IReadOnlySet<Symbol> HoistedVariables
Lowering\StateMachineRewriter\StateMachineRewriter.cs (10)
31protected 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, 141var proxiesBuilder = new Dictionary<Symbol, CapturedSymbolReplacement>(); 149foreach (var variable in variablesToHoist) 301protected 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)
134internal override Symbol? ContainingMemberOrLambda { get { return _factory.CurrentFunction; } } 135internal override bool IsAccessibleHelper(Symbol symbol, TypeSymbol accessThroughType, out bool failedThroughTypeCheck, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved) 280return new BoundBadExpression(Syntax, LookupResultKind.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, type, hasErrors: true); 362public Symbol? WellKnownMember(WellKnownMember wm, bool isOptional) 364Symbol? wellKnownMember = Binder.GetWellKnownTypeMember(Compilation, wm, Diagnostics, syntax: Syntax, isOptional: true); 375public Symbol WellKnownMember(WellKnownMember wm) 397public Symbol SpecialMember(SpecialMember sm) 399Symbol specialMember = Compilation.GetSpecialTypeMember(sm); 761return new BoundBadExpression(Syntax, default(LookupResultKind), ImmutableArray<Symbol?>.Empty, args.AsImmutable(), receiver);
Operations\CSharpOperationFactory.cs (3)
458private static TypeParameterSymbol? GetConstrainedToType(Symbol targetMember, BoundExpression? receiverOpt) 847Symbol? memberSymbol = boundObjectInitializerMember.MemberSymbol; 2747IPropertySubpatternOperation createPropertySubpattern(Symbol? symbol, IPatternOperation pattern, ITypeSymbol receiverType, SyntaxNode nameSyntax, bool isSingle)
Operations\CSharpOperationFactory_Methods.cs (2)
98internal IOperation? CreateReceiverOperation(BoundNode? instance, Symbol? symbol) 279Symbol 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) 441internal 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; 781foreach (var member in ((NamedTypeSymbol)translatedType.OriginalDefinition).GetMembers(method.Name))
Symbols\AnonymousTypes\PublicSymbols\AnonymousManager.TypeOrDelegatePublicSymbol.cs (3)
46internal sealed override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 51internal sealed override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 56public 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 (6)
18private readonly ImmutableArray<Symbol> _members; 49_members = ImmutableArray.Create<Symbol>(constructor, invokeMethod); 111_members = ImmutableArray.Create<Symbol>(constructor, invokeMethod); 182_members = ImmutableArray.Create<Symbol>(constructor, invokeMethod); 219public override ImmutableArray<Symbol> GetMembers() => _members; 221public 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 204public 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)
118internal sealed override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 123internal sealed override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 128public sealed override Symbol ContainingSymbol
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeParameterSymbol.cs (3)
20private readonly Symbol _container; 24public AnonymousTypeParameterSymbol(Symbol container, int ordinal, string name) 123public override Symbol ContainingSymbol
Symbols\ArrayTypeSymbol.cs (6)
260public override ImmutableArray<Symbol> GetMembers() 262return ImmutableArray<Symbol>.Empty; 265public override ImmutableArray<Symbol> GetMembers(string name) 267return ImmutableArray<Symbol>.Empty; 301public override Symbol? ContainingSymbol 462internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\AssemblySymbol.cs (3)
307public sealed override Symbol ContainingSymbol 1022internal virtual Symbol GetDeclaredSpecialTypeMember(SpecialMember member) 1030internal virtual Symbol GetSpecialTypeMember(SpecialMember member)
Symbols\Attributes\AttributeData.cs (9)
100internal bool IsTargetAttribute(Symbol targetSymbol, AttributeDescription description) 105internal abstract int GetTargetAttributeSignatureIndex(Symbol targetSymbol, AttributeDescription description); 235internal void DecodeSecurityAttribute<T>(Symbol targetSymbol, CSharpCompilation compilation, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData, AttributeLocation> arguments) 310foreach (Symbol foundMember in type.GetMembers(memberName)) 359private DeclarativeSecurityAction DecodeSecurityAttributeAction(Symbol targetSymbol, CSharpCompilation compilation, AttributeSyntax? nodeOpt, out bool hasErrors, BindingDiagnosticBag diagnostics) 402private DeclarativeSecurityAction DecodeSecurityAction(TypedConstant typedValue, Symbol targetSymbol, AttributeSyntax? nodeOpt, BindingDiagnosticBag diagnostics, out bool hasErrors) 668foreach (var member in AttributeClass.GetMembers(memberName)) 687internal bool ShouldEmitAttribute(Symbol target, bool isReturnType, bool emittingAssemblyAttributesInNetModule) 812internal static int IndexOfAttribute(this ImmutableArray<CSharpAttributeData> attributes, Symbol targetSymbol, AttributeDescription description)
Symbols\Attributes\PEAttributeData.cs (1)
144internal override int GetTargetAttributeSignatureIndex(Symbol targetSymbol, AttributeDescription description)
Symbols\Attributes\RetargetingAttributeData.cs (1)
33internal override TypeSymbol GetSystemType(Symbol targetSymbol)
Symbols\Attributes\SourceAttributeData.cs (2)
190internal override int GetTargetAttributeSignatureIndex(Symbol targetSymbol, AttributeDescription description) 435internal virtual TypeSymbol GetSystemType(Symbol targetSymbol)
Symbols\BaseTypeAnalysis.cs (8)
23var hs = PooledHashSet<Symbol>.GetInstance(); 32private static void TypeDependsClosure(NamedTypeSymbol type, CSharpCompilation currentCompilation, HashSet<Symbol> partialClosure) 68var hs = PooledHashSet<Symbol>.GetInstance(); 77private static void StructDependsClosure(NamedTypeSymbol type, HashSet<Symbol> partialClosure, NamedTypeSymbol on) 93foreach (var member in type.GetMembersUnordered()) 130var hs = PooledHashSet<Symbol>.GetInstance(); 150static (bool definitelyManaged, bool hasGenerics) dependsOnDefinitelyManagedType(NamedTypeSymbol type, HashSet<Symbol> partialClosure, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 157foreach (var member in type.GetInstanceFieldsAndEvents())
Symbols\Compilation_UsedAssemblies.cs (1)
41Symbol? symbol = GetBoundReferenceManager().GetReferencedAssemblySymbol(reference);
Symbols\Compilation_WellKnownMembers.cs (12)
32private Symbol?[]? _lazyWellKnownTypeMembers; 74internal Symbol? GetWellKnownTypeMember(WellKnownMember member) 85var wellKnownTypeMembers = new Symbol[(int)WellKnownMember.Count]; 99Symbol? result = null; 242internal static Symbol? GetRuntimeMember(NamedTypeSymbol declaringType, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt) 248internal static Symbol? GetRuntimeMember(ImmutableArray<Symbol> members, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt) 254Symbol? result = null; 285foreach (var member in members) 293!(member.DeclaredAccessibility == Accessibility.Public || (accessWithinOpt is object && Symbol.IsSymbolAccessible(member, accessWithinOpt)))) 415var wellKnownMember = Binder.GetWellKnownTypeMember(this, arg.Key, useSiteInfo: out _, isOptional: true); 659var member = Binder.GetWellKnownTypeMember(this, attributeCtor,
Symbols\ConstantValueUtils.cs (1)
81Symbol thisSymbol,
Symbols\ConstraintsHelper.cs (10)
835this Symbol containingSymbol, 873Symbol containingSymbol, 951Symbol containingSymbol, 988if (typeArgument.Type is NamedTypeSymbol { IsInterface: true } iface && SelfOrBaseHasStaticAbstractMember(iface, ref useSiteInfo, out Symbol member)) 1015static bool errorIfNotSatisfiesConstructorConstraint(Symbol containingSymbol, TypeParameterSymbol typeParameter, TypeWithAnnotations typeArgument, ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder) 1039Symbol containingSymbol, 1062Symbol containingSymbol, 1295private static bool SelfOrBaseHasStaticAbstractMember(NamedTypeSymbol iface, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out Symbol memberWithoutImplementation) 1299foreach (Symbol m in iface.GetMembers()) 1310foreach (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)
132public override ImmutableArray<Symbol> GetMembers() 134return ImmutableArray<Symbol>.Empty; 137public override ImmutableArray<Symbol> GetMembers(string name) 139return ImmutableArray<Symbol>.Empty; 167public override Symbol? ContainingSymbol 183internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\ErrorMethodSymbol.cs (2)
104public override Symbol ContainingSymbol 114public 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)
52public virtual ImmutableArray<Symbol> CandidateSymbols 56return ImmutableArray<Symbol>.Empty; 140public override ImmutableArray<Symbol> GetMembers() 144var result = MakeSynthesizedTupleMembers(ImmutableArray<Symbol>.Empty); 149return ImmutableArray<Symbol>.Empty; 157public override ImmutableArray<Symbol> GetMembers(string name) 167internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 172internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 239public override Symbol? ContainingSymbol 603public override ImmutableArray<Symbol> CandidateSymbols 662public override Symbol? ContainingSymbol 701public override Symbol ContainingSymbol
Symbols\ErrorTypeSymbol.ErrorTypeParameterSymbol.cs (1)
42public override Symbol ContainingSymbol
Symbols\EventSymbol.cs (2)
42protected sealed override Symbol OriginalSymbolDefinition 330public 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(); 150public override Symbol? ContainingSymbol 269foreach (Symbol sym in oldError._candidateSymbols) 311private static int GetArity(Symbol symbol)
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, 511public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (4)
700public override bool Equals(Symbol other, TypeCompareKind compareKind) 784internal bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo? result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 801public override Symbol? ContainingSymbol => null; 809public override Symbol? AssociatedSymbol => null;
Symbols\FunctionPointers\FunctionPointerParameterSymbol.cs (2)
29public override Symbol ContainingSymbol => _containingSymbol; 37public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (6)
79public override Symbol? ContainingSymbol => null; 92public override ImmutableArray<Symbol> GetMembers() => ImmutableArray<Symbol>.Empty; 93public override ImmutableArray<Symbol> GetMembers(string name) => ImmutableArray<Symbol>.Empty; 155internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo? result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\FunctionTypeSymbol.cs (4)
110public override Symbol? ContainingSymbol => null; 136public override ImmutableArray<Symbol> GetMembers() => throw ExceptionUtilities.Unreachable(); 138public override ImmutableArray<Symbol> GetMembers(string name) => throw ExceptionUtilities.Unreachable(); 156internal 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 (13)
35internal sealed class MemberSignatureComparer : IEqualityComparer<Symbol> 376public bool Equals(Symbol member1, Symbol member2) 486public int GetHashCode(Symbol member) 518private static bool HaveSameReturnTypes(Symbol member1, TypeMap typeMap1, Symbol member2, TypeMap typeMap2, TypeCompareKind typeComparison) 569private static TypeMap GetTypeMap(Symbol member) 580private static bool HaveSameConstraints(Symbol member1, TypeMap typeMap1, Symbol member2, TypeMap typeMap2) 777private static Cci.CallingConvention GetCallingConvention(Symbol member) 791private static bool IsVarargMethod(Symbol member) 809internal static bool ConsideringTupleNamesCreatesDifference(Symbol member1, Symbol member2)
Symbols\MemberSymbolExtensions.cs (37)
24internal static bool HasParamsParameter(this Symbol member) 33internal static ImmutableArray<ParameterSymbol> GetParameters(this Symbol member) 51internal static ImmutableArray<TypeWithAnnotations> GetParameterTypes(this Symbol member) 66internal static bool GetIsVararg(this Symbol member) 83internal static ImmutableArray<RefKind> GetParameterRefKinds(this Symbol member) 98internal static int GetParameterCount(this Symbol member) 114internal static bool HasUnsafeParameter(this Symbol member) 127public static bool IsEventOrPropertyWithImplementableNonPublicAccessor(this Symbol symbol) 160public static bool IsAccessor(this Symbol symbol) 167var propertyOrEvent = methodSymbol.AssociatedSymbol; 176public static bool IsOperator(this Symbol symbol) 181public static bool IsIndexer(this Symbol symbol) 186public static bool IsIndexedProperty(this Symbol symbol) 191public static bool IsUserDefinedConversion(this Symbol symbol) 218public static int CustomModifierCount(this Symbol m) 267internal static Symbol SymbolAsMember(this Symbol s, NamedTypeSymbol newOwner) 289internal static int GetMemberArity(this Symbol symbol) 322internal static ImmutableArray<TypeParameterSymbol> GetMemberTypeParameters(this Symbol symbol) 340internal static ImmutableArray<TypeSymbol> GetMemberTypeArgumentsNoUseSiteDiagnostics(this Symbol symbol) 533internal static bool IsExplicitInterfaceImplementation(this Symbol member) 548internal static bool IsPartialMethod(this Symbol member) 554internal static bool IsPartialImplementation(this Symbol member) 560internal static bool IsPartialDefinition(this Symbol member) 566internal static bool ContainsTupleNames(this Symbol member) 583internal static ImmutableArray<Symbol> GetExplicitInterfaceImplementations(this Symbol member) 588return ((MethodSymbol)member).ExplicitInterfaceImplementations.Cast<MethodSymbol, Symbol>(); 590return ((PropertySymbol)member).ExplicitInterfaceImplementations.Cast<PropertySymbol, Symbol>(); 592return ((EventSymbol)member).ExplicitInterfaceImplementations.Cast<EventSymbol, Symbol>(); 594return ImmutableArray<Symbol>.Empty; 598internal static Symbol GetOverriddenMember(this Symbol member) 613internal static Symbol GetLeastOverriddenMember(this Symbol member, NamedTypeSymbol accessingTypeOpt) 634internal static bool IsFieldOrFieldLikeEvent(this Symbol member, out FieldSymbol field) 650internal static string GetMemberCallerName(this Symbol member)
Symbols\MergedNamespaceSymbol.cs (11)
46private readonly CachingDictionary<string, Symbol> _cachedLookup; 51private ImmutableArray<Symbol> _allMembers; 96_cachedLookup = new CachingDictionary<string, Symbol>(SlowGetChildrenOfName, SlowGetChildNames, EqualityComparer<string>.Default); 135private ImmutableArray<Symbol> SlowGetChildrenOfName(string name) 138var otherSymbols = ArrayBuilder<Symbol>.GetInstance(); 143foreach (Symbol childSymbol in namespaceSymbol.GetMembers(name)) 175foreach (var child in ns.GetMembersUnordered()) 208public override ImmutableArray<Symbol> GetMembers() 213var builder = ArrayBuilder<Symbol>.GetInstance(); 221public override ImmutableArray<Symbol> GetMembers(string name) 242public override Symbol ContainingSymbol
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 447public override Symbol AssociatedSymbol
Symbols\Metadata\PE\PEGlobalNamespaceSymbol.cs (1)
34public override Symbol ContainingSymbol
Symbols\Metadata\PE\PEMethodSymbol.cs (4)
355private Symbol _associatedPropertyOrEventOpt; 416public override Symbol ContainingSymbol => _containingType; 772private bool SetAssociatedPropertyOrEvent(Symbol propertyOrEventSymbol, MethodKind methodKind) 920public override Symbol AssociatedSymbol => _associatedPropertyOrEventOpt;
Symbols\Metadata\PE\PEModuleSymbol.cs (2)
216public override Symbol ContainingSymbol 781internal bool ShouldDecodeNullableAttributes(Symbol symbol)
Symbols\Metadata\PE\PENamedTypeSymbol.cs (38)
51private ImmutableArray<Symbol> _lazyMembersInDeclarationOrder; 57private Dictionary<string, ImmutableArray<Symbol>> _lazyMembersByName; 368Symbol s = _container; 594public override Symbol ContainingSymbol 886public override ImmutableArray<Symbol> GetMembers() 940ImmutableArray<Symbol> staticFields = GetMembers(); 1050ImmutableArray<Symbol> members = GetMembers(); 1153internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 1158internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 1163private class DeclarationOrderTypeSymbolComparer : IComparer<Symbol> 1169public int Compare(Symbol x, Symbol y) 1259ArrayBuilder<Symbol> members = null; 1265members = ArrayBuilder<Symbol>.GetInstance(); 1314ArrayBuilder<Symbol> nonFieldMembers = ArrayBuilder<Symbol>.GetInstance(); 1390Symbol previous = null; 1392foreach (var s in members) 1400Symbol current = s; 1435members = ArrayBuilder<Symbol>.GetInstance(); 1436foreach (var member in _lazyMembersInDeclarationOrder) 1446Dictionary<string, ImmutableArray<Symbol>> membersDict = GroupByName(members); 1479internal override ImmutableArray<Symbol> GetSimpleNonTypeMembers(string name) 1483ImmutableArray<Symbol> m; 1486m = ImmutableArray<Symbol>.Empty; 1492public override ImmutableArray<Symbol> GetMembers(string name) 1496ImmutableArray<Symbol> m; 1499m = ImmutableArray<Symbol>.Empty; 1506m = m.Concat(StaticCast<Symbol>.From(t)); 1942private PooledDictionary<MethodDefinitionHandle, PEMethodSymbol> CreateMethods(ArrayBuilder<Symbol> members) 1969private void CreateProperties(Dictionary<MethodDefinitionHandle, PEMethodSymbol> methodHandleToSymbol, ArrayBuilder<Symbol> members) 2001ArrayBuilder<Symbol> members) 2046private static Dictionary<string, ImmutableArray<Symbol>> GroupByName(ArrayBuilder<Symbol> symbols) 2407private static int GetIndexOfFirstMember(ImmutableArray<Symbol> members, SymbolKind kind) 2424private static IEnumerable<TSymbol> GetMembers<TSymbol>(ImmutableArray<Symbol> members, SymbolKind kind, int offset = -1) 2425where TSymbol : Symbol 2434var member = members[i];
Symbols\Metadata\PE\PENamespaceSymbol.cs (8)
60Constraint = "Provide " + nameof(ArrayBuilder<Symbol>) + " capacity to reduce number of allocations.", 62public sealed override ImmutableArray<Symbol> GetMembers() 67var builder = ArrayBuilder<Symbol>.GetInstance(memberTypes.Length + lazyNamespaces.Count); 90public sealed override ImmutableArray<Symbol> GetMembers(string name) 102return StaticCast<Symbol>.From(t).Add(ns); 106return ImmutableArray.Create<Symbol>(ns); 111return StaticCast<Symbol>.From(t); 114return ImmutableArray<Symbol>.Empty;
Symbols\Metadata\PE\PENestedNamespaceSymbol.cs (1)
84public override Symbol ContainingSymbol
Symbols\Metadata\PE\PEParameterSymbol.cs (12)
152private readonly Symbol _containingSymbol; 187Symbol nullableContext, 215Symbol nullableContext, 226Symbol containingSymbol, 231Symbol nullableContext, 301var accessSymbol = containingSymbol.Kind == SymbolKind.Property ? containingSymbol.ContainingSymbol : containingSymbol; 362Symbol containingSymbol, 369Symbol nullableContext, 408Symbol containingSymbol, 414Symbol nullableContext, 496public override Symbol ContainingSymbol 1114public sealed override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\Metadata\PE\PEPropertySymbol.cs (2)
304public override Symbol ContainingSymbol 788Symbol nullableContext;
Symbols\Metadata\PE\PETypeParameterSymbol.cs (5)
27private readonly Symbol _containingSymbol; // Could be PENamedType or a PEMethod 51: this(moduleSymbol, (Symbol)definingNamedType, ordinal, handle) 60: this(moduleSymbol, (Symbol)definingMethod, ordinal, handle) 66Symbol definingSymbol, 137public 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)
173private Symbol[] _lazySpecialTypeMembers; 179internal override Symbol GetDeclaredSpecialTypeMember(SpecialMember member) 192var specialTypeMembers = new Symbol[(int)SpecialMember.Count]; 204Symbol result = null;
Symbols\MethodSymbol.cs (3)
51protected sealed override Symbol OriginalSymbolDefinition 403public abstract Symbol AssociatedSymbol { get; } 1197public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\MissingAssemblySymbol.cs (2)
54internal override Symbol GetDeclaredSpecialTypeMember(SpecialMember member) 92public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\MissingMetadataTypeSymbol.cs (2)
235public override Symbol ContainingSymbol 428public override Symbol ContainingSymbol
Symbols\MissingModuleSymbol.cs (3)
89public override Symbol ContainingSymbol 110public override bool Equals(Symbol obj, TypeCompareKind compareKind) 228public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\MissingNamespaceSymbol.cs (7)
24private readonly Symbol _containingSymbol; 51public override Symbol ContainingSymbol 85public override bool Equals(Symbol obj, TypeCompareKind compareKind) 128public override ImmutableArray<Symbol> GetMembers() 130return ImmutableArray<Symbol>.Empty; 133public override ImmutableArray<Symbol> GetMembers(string name) 135return ImmutableArray<Symbol>.Empty;
Symbols\NamedTypeSymbol.cs (29)
29private static readonly ImmutableSegmentedDictionary<string, Symbol> RequiredMembersErrorSentinel = ImmutableSegmentedDictionary<string, Symbol>.Empty.Add("<error sentinel>", null!); 35private ImmutableSegmentedDictionary<string, Symbol> _lazyRequiredMembers = default; 214ImmutableArray<Symbol> candidates = GetSimpleNonTypeMembers(name); 269ImmutableArray<Symbol> instanceCandidates = includeInstance 271: ImmutableArray<Symbol>.Empty; 272ImmutableArray<Symbol> staticCandidates = includeStatic 274: ImmutableArray<Symbol>.Empty; 282foreach (Symbol candidate in instanceCandidates) 290foreach (Symbol candidate in staticCandidates) 311ImmutableArray<Symbol> candidates = GetSimpleNonTypeMembers(WellKnownMemberNames.Indexer); 321foreach (Symbol candidate in candidates) 356foreach (var member in members) 559internal ImmutableSegmentedDictionary<string, Symbol> AllRequiredMembers 567return ImmutableSegmentedDictionary<string, Symbol>.Empty; 581ImmutableSegmentedDictionary<string, Symbol>.Builder? builder = null; 585? builder?.ToImmutable() ?? ImmutableSegmentedDictionary<string, Symbol>.Empty 594private bool TryCalculateRequiredMembers(ref ImmutableSegmentedDictionary<string, Symbol>.Builder? requiredMembersBuilder) 615bool addCurrentTypeMembers(ref ImmutableSegmentedDictionary<string, Symbol>.Builder? requiredMembersBuilder) 617requiredMembersBuilder ??= ImmutableSegmentedDictionary.CreateBuilder<string, Symbol>(); 619foreach (var member in GetMembersUnordered()) 651public abstract override ImmutableArray<Symbol> GetMembers(); 658public abstract override ImmutableArray<Symbol> GetMembers(string name); 667internal virtual ImmutableArray<Symbol> GetSimpleNonTypeMembers(string name) 702internal virtual IEnumerable<Symbol> GetInstanceFieldsAndEvents() 707protected static Func<Symbol, bool> IsInstanceFieldOrEvent = symbol => 753internal abstract ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(); 763internal abstract ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name); 1447internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\NamespaceOrTypeSymbol.cs (3)
108public abstract ImmutableArray<Symbol> GetMembers(); 116internal virtual ImmutableArray<Symbol> GetMembersUnordered() 129public abstract ImmutableArray<Symbol> GetMembers(string name);
Symbols\NamespaceSymbol.cs (1)
286foreach (var sym in this.GetMembers(name))
Symbols\NativeIntegerTypeSymbol.cs (22)
26private ImmutableArray<Symbol> _lazyMembers; 42public override Symbol ContainingSymbol => _underlyingType.ContainingSymbol; 69public override ImmutableArray<Symbol> GetMembers() 77ImmutableArray<Symbol> makeMembers(ImmutableArray<Symbol> underlyingMembers) 79var builder = ArrayBuilder<Symbol>.GetInstance(); 80foreach (var underlyingMember in underlyingMembers) 140public override ImmutableArray<Symbol> GetMembers(string name) => GetMembers().WhereAsArray((member, name) => member.Name == name, name); 152internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => throw ExceptionUtilities.Unreachable(); 154internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) => throw ExceptionUtilities.Unreachable(); 244internal static bool EqualsHelper<TSymbol>(TSymbol symbol, Symbol? other, TypeCompareKind comparison, Func<TSymbol, Symbol> getUnderlyingSymbol) 245where TSymbol : Symbol 264internal static void VerifyEquality(Symbol symbolA, Symbol symbolB) 323public override Symbol ContainingSymbol => _container; 352public override Symbol? AssociatedSymbol => _associatedSymbol; 361public override bool Equals(Symbol? other, TypeCompareKind comparison) => NativeIntegerTypeSymbol.EqualsHelper(this, other, comparison, symbol => symbol.UnderlyingMethod); 391public override Symbol ContainingSymbol => _container; 409public override bool Equals(Symbol? other, TypeCompareKind comparison) => NativeIntegerTypeSymbol.EqualsHelper(this, other, comparison, symbol => symbol._underlyingParameter); 442public override Symbol ContainingSymbol => _container; 458public 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 (6)
57private static ThreeState GetObsoleteContextState(Symbol symbol, bool forceComplete) 64var associatedSymbol = ((FieldSymbol)symbol).AssociatedSymbol; 96internal static ObsoleteDiagnosticKind GetObsoleteDiagnosticKind(Symbol symbol, Symbol containingMember, bool forceComplete = false) 131internal static DiagnosticInfo CreateObsoleteDiagnostic(Symbol symbol, BinderFlags location) 137static DiagnosticInfo createObsoleteDiagnostic(Symbol symbol, BinderFlags location)
Symbols\OverriddenOrHiddenMembersHelpers.cs (68)
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)) 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, SymbolKind hidingMemberKind, 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(SymbolKind hidingMemberKind, 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)
132public override ImmutableArray<Symbol> GetMembers() 134return ImmutableArray<Symbol>.Empty; 137public override ImmutableArray<Symbol> GetMembers(string name) 139return ImmutableArray<Symbol>.Empty; 173public override Symbol? ContainingSymbol 294internal override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\PropertyOrEventSymbolExtensions.cs (1)
32private static ISet<T> GetSymbolsForExplicitlyImplementedAccessor<T>(MethodSymbol accessor) where T : Symbol
Symbols\PropertySymbol.cs (2)
48protected sealed override Symbol OriginalSymbolDefinition 427public 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)
29internal 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)
24private readonly Symbol _containingSymbol; 26internal RangeVariableSymbol(string Name, Symbol containingSymbol, Location location, bool isTransparent = false) 137public override Symbol ContainingSymbol 160public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\ReducedExtensionMethodSymbol.cs (5)
444public override Symbol ContainingSymbol 454public override Symbol AssociatedSymbol 577public override bool Equals(Symbol obj, TypeCompareKind compareKind) 610public override Symbol ContainingSymbol 661public 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)
125public override ImmutableArray<Symbol> GetMembers() 130internal override ImmutableArray<Symbol> GetMembersUnordered() 135public override ImmutableArray<Symbol> GetMembers(string name) 189internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 194internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 219public 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(string name) 145public override Symbol ContainingSymbol
Symbols\Retargeting\RetargetingParameterSymbol.cs (2)
53public sealed override Symbol ContainingSymbol 125/// short circuits the overhead in <see cref="Symbol.DeclaringCompilation"/> and the extra virtual
Symbols\Retargeting\RetargetingPropertySymbol.cs (1)
192public override Symbol ContainingSymbol
Symbols\Retargeting\RetargetingSymbolTranslator.cs (44)
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) 829var symbols = ArrayBuilder<Symbol>.GetInstance(arr.Length); 831foreach (var s in arr) 1052foreach (var retargetedMember in retargetedType.GetMembers(method.Name)) 1122foreach (var retargetedMember in retargetedType.GetMembers(property.Name)) 1141foreach (var retargetedMember in retargetedType.GetMembers(@event.Name)) 1354public override Symbol VisitModule(ModuleSymbol symbol, RetargetOptions options) 1361public override Symbol VisitNamespace(NamespaceSymbol symbol, RetargetOptions options) 1366public override Symbol VisitNamedType(NamedTypeSymbol symbol, RetargetOptions options) 1371public override Symbol VisitArrayType(ArrayTypeSymbol symbol, RetargetOptions options) 1376public override Symbol VisitPointerType(PointerTypeSymbol symbol, RetargetOptions options) 1381public override Symbol VisitFunctionPointerType(FunctionPointerTypeSymbol symbol, RetargetOptions argument) 1386public override Symbol VisitMethod(MethodSymbol symbol, RetargetOptions options) 1391public override Symbol VisitParameter(ParameterSymbol symbol, RetargetOptions options) 1396public override Symbol VisitField(FieldSymbol symbol, RetargetOptions options) 1401public override Symbol VisitProperty(PropertySymbol symbol, RetargetOptions argument) 1406public override Symbol VisitTypeParameter(TypeParameterSymbol symbol, RetargetOptions options) 1411public override Symbol VisitErrorType(ErrorTypeSymbol symbol, RetargetOptions options) 1416public override Symbol VisitEvent(EventSymbol symbol, RetargetOptions options) 1421public 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; } } 125public override Symbol AssociatedSymbol { get { throw ExceptionUtilities.Unreachable(); } }
Symbols\SignatureOnlyParameterSymbol.cs (2)
88public override Symbol ContainingSymbol { get { throw ExceptionUtilities.Unreachable(); } } 104public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SignatureOnlyPropertySymbol.cs (1)
62public override Symbol ContainingSymbol { get { return _containingType; } }
Symbols\Source\CrefTypeParameterSymbol.cs (1)
164public 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\IndexedTypeParameterSymbol.cs (1)
179public override Symbol ContainingSymbol
Symbols\Source\LambdaSymbol.cs (5)
17private readonly Symbol _containingSymbol; 42Symbol containingSymbol, 179public override Symbol? AssociatedSymbol 251public override Symbol ContainingSymbol 371public sealed override bool Equals(Symbol symbol, TypeCompareKind compareKind)
Symbols\Source\LocalFunctionSymbol.cs (5)
18private readonly Symbol _containingSymbol; 37Symbol containingSymbol, 296public sealed override Symbol ContainingSymbol => _containingSymbol; 319public override Symbol? AssociatedSymbol => null; 486public sealed override bool Equals(Symbol symbol, TypeCompareKind compareKind)
Symbols\Source\ModifierUtils.cs (1)
461internal static bool CheckAccessibility(DeclarationModifiers modifiers, Symbol symbol, bool isExplicitInterfaceImplementation, BindingDiagnosticBag diagnostics, Location errorLocation)
Symbols\Source\ParameterHelpers.cs (12)
21Symbol owner, 29return MakeParameters<ParameterSyntax, SourceParameterSymbol, Symbol>( 40parameterCreationFunc: (Binder context, Symbol owner, TypeWithAnnotations parameterType, 126where TOwningSymbol : Symbol 357internal static void EnsureNullableAttributeExists(PEModuleBuilder moduleBuilder, Symbol container, ImmutableArray<ParameterSymbol> parameters) 362internal static void EnsureNullableAttributeExists(CSharpCompilation? compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation) 374private static void EnsureNullableAttributeExists(CSharpCompilation compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder) 609Symbol? owner, 617Symbol? containingSymbol, 682Symbol owner, 872internal static MethodSymbol FindContainingGenericMethod(Symbol symbol) 874for (Symbol current = symbol; (object)current != null; current = current.ContainingSymbol)
Symbols\Source\SourceAssemblySymbol.cs (4)
206internal override Symbol GetSpecialTypeMember(SpecialMember member) 1105foreach (Symbol member in mergedNs.GetMembers()) 2056foreach (var member in ns.GetMembersUnordered()) 2688Symbol associatedPropertyOrEvent = field.AssociatedSymbol;
Symbols\Source\SourceClonedParameterSymbol.cs (1)
25internal SourceClonedParameterSymbol(SourceParameterSymbol originalParam, Symbol newOwner, int newOrdinal, bool suppressOptional)
Symbols\Source\SourceComplexParameterSymbol.cs (3)
40Symbol owner, 1508Symbol owner, 1530Symbol owner,
Symbols\Source\SourceDelegateMethodSymbol.cs (1)
44ArrayBuilder<Symbol> symbols,
Symbols\Source\SourceEnumConstantSymbol.cs (1)
66public override Symbol AssociatedSymbol
Symbols\Source\SourceEventAccessorSymbol.cs (1)
89public sealed override Symbol AssociatedSymbol
Symbols\Source\SourceEventFieldSymbol.cs (1)
51public override Symbol AssociatedSymbol
Symbols\Source\SourceEventSymbol.cs (2)
88public sealed override Symbol ContainingSymbol 695foreach (Symbol interfaceMember in @interface.GetMembers(this.Name))
Symbols\Source\SourceFieldSymbol.cs (1)
97public sealed override Symbol ContainingSymbol
Symbols\Source\SourceFixedFieldSymbol.cs (7)
163public override Symbol ContainingSymbol 218public override ImmutableArray<Symbol> GetMembers() 220return ImmutableArray.Create<Symbol>(_constructor, _internalField); 223public override ImmutableArray<Symbol> GetMembers(string name) 226(name == _constructor.Name) ? ImmutableArray.Create<Symbol>(_constructor) : 227(name == FixedElementFieldName) ? ImmutableArray.Create<Symbol>(_internalField) : 228ImmutableArray<Symbol>.Empty;
Symbols\Source\SourceLabelSymbol.cs (2)
115public override Symbol ContainingSymbol 146public override bool Equals(Symbol? obj, TypeCompareKind compareKind)
Symbols\Source\SourceLocalSymbol.cs (11)
28private readonly Symbol _containingSymbol; 40Symbol containingSymbol, 137Symbol containingSymbol, 157Symbol containingSymbol, 202Symbol containingSymbol, 260public override Symbol ContainingSymbol 486public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind) 526Symbol containingSymbol, 610Symbol containingSymbol, 650Symbol containingSymbol, 714Symbol containingSymbol,
Symbols\Source\SourceMemberContainerSymbol.cs (127)
171private static readonly ObjectPool<PooledDictionary<Symbol, Symbol>> s_duplicateRecordMemberSignatureDictionary = 172PooledDictionary<Symbol, Symbol>.CreatePool(MemberSignatureComparer.RecordAPISignatureComparer); 194private Dictionary<string, ImmutableArray<Symbol>>? _lazyMembersDictionary; 195private Dictionary<string, ImmutableArray<Symbol>>? _lazyEarlyAttributeDecodingMembersDictionary; 199private ImmutableArray<Symbol> _lazyMembersFlattened; 276Symbol containingSymbol = this.ContainingSymbol; 611ImmutableArray<Symbol> members = this.GetMembersUnordered(); 617foreach (var member in members) 625foreach (var member in members) 698foreach (var member in membersAndInitializers.NonTypeMembers) 742public sealed override Symbol ContainingSymbol 871for (Symbol? container = this.ContainingType; !(container is null); container = container.ContainingType) 1026internal readonly ImmutableArray<Symbol> NonTypeMembers; 1035ImmutableArray<Symbol> nonTypeMembers, 1350private void CheckMemberNameDistinctFromType(Symbol member, BindingDiagnosticBag diagnostics) 1385internal override ImmutableArray<Symbol> GetMembersUnordered() 1399public override ImmutableArray<Symbol> GetMembers() 1421public sealed override ImmutableArray<Symbol> GetMembers(string name) 1423ImmutableArray<Symbol> members; 1429return ImmutableArray<Symbol>.Empty; 1440internal override ImmutableArray<Symbol> GetSimpleNonTypeMembers(string name) 1447return ImmutableArray<Symbol>.Empty; 1460foreach (var m in this.GetMembers()) 1490internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 1502internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 1504ImmutableArray<Symbol> result; 1505return GetEarlyAttributeDecodingMembersDictionary().TryGetValue(name, out result) ? result : ImmutableArray<Symbol>.Empty; 1508private Dictionary<string, ImmutableArray<Symbol>> GetEarlyAttributeDecodingMembersDictionary() 1512if (Volatile.Read(ref _lazyMembersDictionary) is Dictionary<string, ImmutableArray<Symbol>> result) 1522Dictionary<string, ImmutableArray<Symbol>> membersByName; 1582internal void AssertMemberExposure(Symbol member, bool forDiagnostics = false) 1642static bool isMemberInCompleteMemberList(MembersAndInitializers? membersAndInitializers, Symbol member) 1648protected Dictionary<string, ImmutableArray<Symbol>> GetMembersByName() 1658private Dictionary<string, ImmutableArray<Symbol>> GetMembersByNameSlow() 1678internal override IEnumerable<Symbol> GetInstanceFieldsAndEvents() 1682IEnumerable<Symbol> result = membersAndInitializers.NonTypeMembers.Where(IsInstanceFieldOrEvent); 1821foreach (var member in GetMembersAndInitializers().NonTypeMembers) 1835foreach (var member in GetMembers("Clone")) 1843Dictionary<string, ImmutableArray<Symbol>> membersByName = GetMembersByName(); 1890Symbol? lastSym = GetTypeMembers(name).FirstOrDefault(); 1894foreach (var symbol in pair.Value) 2077private void CheckIndexerNameConflicts(BindingDiagnosticBag diagnostics, Dictionary<string, ImmutableArray<Symbol>> membersByName) 2097foreach (var symbol in members) 2130Dictionary<string, ImmutableArray<Symbol>> membersByName, 2178foreach (var member in this.GetMembersUnordered()) 2199foreach (var dup in GetMembers(tp.Name)) 2211foreach (Symbol symbol in this.GetMembersUnordered()) 2280foreach (var member in valuesByName) 2305var symbol = field.AssociatedSymbol ?? field; 2327foreach (var member in valuesByName) 2525foreach (var member in GetMembersUnordered()) 2542foreach (var member in GetMembersUnordered()) 2570foreach (var m in this.GetMembersUnordered()) 2599foreach (var m in t.GetMembersUnordered()) 2694private Dictionary<string, ImmutableArray<Symbol>> MakeAllMembers(BindingDiagnosticBag diagnostics) 2696Dictionary<string, ImmutableArray<Symbol>> membersByName; 2719private static void AddNestedTypesToDictionary(Dictionary<string, ImmutableArray<Symbol>> membersByName, Dictionary<string, ImmutableArray<NamedTypeSymbol>> typesByName) 2725ImmutableArray<Symbol> typesAsSymbols = StaticCast<Symbol>.From(types); 2727ImmutableArray<Symbol> membersForName; 2741public ArrayBuilder<Symbol> NonTypeMembers = ArrayBuilder<Symbol>.GetInstance(); 2802public readonly ImmutableArray<Symbol> NonTypeMembers; 2818ImmutableArray<Symbol> nonTypeMembers, 2881private ArrayBuilder<Symbol>? NonTypeMembers; 2990public IReadOnlyCollection<Symbol> GetNonTypeMembers(DeclaredMembersAndInitializers declaredMembers) 2992return NonTypeMembers ?? (IReadOnlyCollection<Symbol>)declaredMembers.NonTypeMembers; 2995public void AddNonTypeMember(Symbol member, DeclaredMembersAndInitializers declaredMembers) 2999NonTypeMembers = ArrayBuilder<Symbol>.GetInstance(declaredMembers.NonTypeMembers.Length + 1); 3006public void SetNonTypeMembers(ArrayBuilder<Symbol> members) 3212ImmutableArray<Symbol> nonTypeMembersToCheck; 3231foreach (var member in nonTypeMembersToCheck) 3258internal ImmutableArray<Symbol> GetMembersToMatchAgainstDeclarationSpan() 3274internal ImmutableArray<Symbol> GetCandidateMembersForLookup(string name) 3282ImmutableArray<Symbol> nonTypeMembersToCheck; 3305ImmutableArray<Symbol> types = GetTypeMembers(name).Cast<NamedTypeSymbol, Symbol>(); 3306ArrayBuilder<Symbol>? memberBuilder = null; 3308foreach (var member in nonTypeMembersToCheck) 3317memberBuilder ??= ArrayBuilder<Symbol>.GetInstance(types.Length + 1); 3452ref Dictionary<string, ImmutableArray<Symbol>> membersByName, 3464foreach (var symbol in membersByName[name]) 3494membersByName = new Dictionary<string, ImmutableArray<Symbol>>(membersByName); 3531private static ImmutableArray<Symbol> FixPartialMember(ImmutableArray<Symbol> symbols, SourceOrdinaryMethodSymbol part1, SourceOrdinaryMethodSymbol part2) 3552private static ImmutableArray<Symbol> Remove(ImmutableArray<Symbol> symbols, Symbol symbol) 3554var builder = ArrayBuilder<Symbol>.GetInstance(); 3555foreach (var s in symbols) 3590foreach (var symbol in GetMembers(accessorName)) 3626foreach (var symbol in GetMembers(accessorName)) 3654var locationFrom = (Symbol)(getNotSet ? propertySymbol.GetMethod : propertySymbol.SetMethod) ?? propertySymbol; 3663var locationFrom = (Symbol?)(isAdder ? propertySymbol.AddMethod : propertySymbol.RemoveMethod) ?? propertySymbol; 3774private static void CheckInterfaceMembers(ImmutableArray<Symbol> nonTypeMembers, BindingDiagnosticBag diagnostics) 3776foreach (var member in nonTypeMembers) 3782private static void CheckInterfaceMember(Symbol member, BindingDiagnosticBag diagnostics) 3830ArrayBuilder<Symbol> members, 3834foreach (var s in members) 3876var symbol = initializer.FieldOpt.AssociatedSymbol ?? initializer.FieldOpt; 3904var members = ArrayBuilder<Symbol>.GetInstance(membersSoFar.Count + 1); 3924var fieldsByName = PooledDictionary<string, Symbol>.GetInstance(); 3926foreach (var member in membersSoFar) 4017void addDeconstruct(SynthesizedPrimaryConstructor ctor, ImmutableArray<Symbol> positionalMembers) 4039if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingDeconstructMethod)) 4086if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingConstructor)) 4113MethodSymbol addPrintMembersMethod(IEnumerable<Symbol> userDefinedMembers) 4134if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingPrintMembersMethod)) 4205if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingToStringMethod)) 4230var objectToString = this.DeclaringCompilation.GetSpecialTypeMember(SpecialMember.System_Object__ToString); 4234foreach (var member in currentBaseType.GetSimpleNonTypeMembers(WellKnownMemberNames.ObjectToString)) 4250ImmutableArray<Symbol> addProperties(ImmutableArray<ParameterSymbol> recordParameters) 4252var existingOrAddedMembers = ArrayBuilder<Symbol>.GetInstance(recordParameters.Length); 4267if (!memberSignatures.TryGetValue(targetProperty, out var existingMember) 4330bool checkMemberNotHidden(Symbol symbol, ParameterSymbol param) 4364if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingHashCodeMethod)) 4394if (!memberSignatures.TryGetValue(targetProperty, out Symbol? existingEqualityContractProperty)) 4462if (!memberSignatures.TryGetValue(targetMethod, out Symbol? existingEqualsMethod)) 4487void reportStaticOrNotOverridableAPIInRecord(Symbol symbol, BindingDiagnosticBag diagnostics) 4528foreach (var member in membersSoFar) 4608foreach (var synthesizedMember in synthesizedMembers) 4986private void AddAccessorIfAvailable(ArrayBuilder<Symbol> symbols, MethodSymbol? accessorOpt) 5027foreach (var member in 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.Locations[0])); 237var associatedPropertyOrEvent = interfaceMemberKind == SymbolKind.Method ? ((MethodSymbol)interfaceMember).AssociatedSymbol : null; 385private bool ReportAccessorOfInterfacePropertyOrEvent(Symbol interfacePropertyOrEvent) 395Symbol implementingPropertyOrEvent; 399MultiDictionary<Symbol, Symbol>.ValueSet explicitImpl = this.GetExplicitImplementationForInterfaceMember(interfacePropertyOrEvent); 527foreach (var member in this.GetMembersUnordered()) 669private void CheckNewModifier(Symbol symbol, bool isNew, BindingDiagnosticBag diagnostics) 701foreach (var hiddenMember in currType.GetMembers(symbol.Name)) 741Symbol overridingMember, 778Symbol associatedPropertyOrEvent = null; 867void checkSingleOverriddenMember(Symbol overridingMember, Symbol overriddenMember, BindingDiagnosticBag diagnostics, ref bool suppressAccessors) 924var leastOverriddenMember = overriddenMember.GetLeastOverriddenMember(overriddenMember.ContainingType); 1199private bool IsValidOverrideReturnType(Symbol overridingSymbol, TypeWithAnnotations overridingReturnType, TypeWithAnnotations overriddenReturnType, BindingDiagnosticBag diagnostics) 1489Symbol overriddenMember, 1490Symbol overridingMember) 1521Symbol hidingMember, 1551foreach (var hiddenMember in hiddenMembers) 1586private static bool IsShadowingSynthesizedRecordMember(Symbol hidingMember) 1595private static bool AddHidingAbstractDiagnostic(Symbol hidingMember, Location hidingMemberLocation, Symbol hiddenMember, BindingDiagnosticBag diagnostics, ref bool suppressAccessors) 1630var associatedPropertyOrEvent = ((MethodSymbol)hidingMember).AssociatedSymbol; 1661private static bool OverrideHasCorrectAccessibility(Symbol overridden, Symbol overriding) 1749SynthesizeInterfaceMemberImplementation(SymbolAndDiagnostics implementingMemberAndDiagnostics, Symbol interfaceMember) 1759Symbol implementingMember = implementingMemberAndDiagnostics.Symbol;
Symbols\Source\SourceMemberFieldSymbol.cs (2)
147public override Symbol AssociatedSymbol 458Symbol associatedPropertyOrEvent = this.AssociatedSymbol;
Symbols\Source\SourceMemberMethodSymbol.cs (2)
391public sealed override Symbol ContainingSymbol 407public override Symbol AssociatedSymbol
Symbols\Source\SourceModuleSymbol.cs (3)
167foreach (Symbol s in ns.GetMembersUnordered()) 385public override Symbol ContainingSymbol 557foreach (var member in ns.GetMembersUnordered())
Symbols\Source\SourceNamedTypeSymbol.cs (1)
1693foreach (var member in GetMembers())
Symbols\Source\SourceNamespaceSymbol.cs (12)
23private readonly Symbol _container; 30private ImmutableArray<Symbol> _lazyAllMembers; 44SourceModuleSymbol module, Symbol container, 82public override Symbol ContainingSymbol 129internal override ImmutableArray<Symbol> GetMembersUnordered() 135var members = StaticCast<Symbol>.From(this.GetNameToMembersMap().Flatten(null)); // don't sort. 143public override ImmutableArray<Symbol> GetMembers() 165public override ImmutableArray<Symbol> GetMembers(string name) 169? members.Cast<NamespaceOrTypeSymbol, Symbol>() 170: ImmutableArray<Symbol>.Empty; 328var memberOfArity = new Symbol[10]; 348var other = memberOfArity[arity];
Symbols\Source\SourceNamespaceSymbol_Completion.cs (2)
62foreach (var member in members) 73foreach (var member in members)
Symbols\Source\SourceOrdinaryMethodSymbol.cs (1)
259var attributeConstructor = Binder.GetWellKnownTypeMember(DeclaringCompilation, WellKnownMember.System_Runtime_CompilerServices_ExtensionAttribute__ctor, out var useSiteInfo);
Symbols\Source\SourceParameterSymbol.cs (2)
32Symbol owner, 100Symbol owner,
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)
306public sealed override Symbol AssociatedSymbol
Symbols\Source\SourcePropertyClonedParameterSymbolForAccessors.cs (1)
12internal SourcePropertyClonedParameterSymbolForAccessors(SourceParameterSymbol originalParam, Symbol newOwner)
Symbols\Source\SourcePropertySymbolBase.cs (1)
428public override Symbol ContainingSymbol
Symbols\Source\SourceSimpleParameterSymbol.cs (1)
17Symbol owner,
Symbols\Source\SourceTypeParameterSymbol.cs (3)
474public override Symbol ContainingSymbol 612public override Symbol ContainingSymbol 866public override Symbol ContainingSymbol
Symbols\Source\ThisParameterSymbol.cs (2)
68public override Symbol ContainingSymbol 70get { return (Symbol?)_containingMethod ?? _containingType; }
Symbols\Source\TypeParameterConstraintClause.cs (2)
165Symbol container = thisTypeParameter.ContainingSymbol; 225Symbol 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 (4)
189public sealed override Symbol ContainingSymbol 218public sealed override Symbol AssociatedSymbol 222Symbol underlying = OriginalDefinition.AssociatedSymbol; 424public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SubstitutedNamedTypeSymbol.cs (31)
26private static readonly Func<Symbol, NamedTypeSymbol, Symbol> s_symbolAsMemberFunc = SymbolExtensions.SymbolAsMember; 37private readonly Symbol _newContainer; 46private ConcurrentCache<string, ImmutableArray<Symbol>> _lazyMembersByNameCache; 48protected SubstitutedNamedTypeSymbol(Symbol newContainer, TypeMap map, NamedTypeSymbol originalDefinition, NamedTypeSymbol constructedFrom = null, bool unbound = false, TupleExtraData tupleData = null) 117public sealed override Symbol ContainingSymbol 163internal abstract override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes); 210public sealed override ImmutableArray<Symbol> GetMembers() 212var builder = ArrayBuilder<Symbol>.GetInstance(); 217foreach (var t in OriginalDefinition.GetMembers()) 227foreach (var t in OriginalDefinition.GetMembers()) 238private ArrayBuilder<Symbol> AddOrWrapTupleMembersIfNecessary(ArrayBuilder<Symbol> builder) 243var replacedFields = new HashSet<Symbol>(ReferenceEqualityComparer.Instance); 245foreach (var existingMember in existingMembers) 259internal sealed override ImmutableArray<Symbol> GetMembersUnordered() 261var builder = ArrayBuilder<Symbol>.GetInstance(); 265foreach (var t in OriginalDefinition.GetMembersUnordered()) 275foreach (var t in OriginalDefinition.GetMembersUnordered()) 286public sealed override ImmutableArray<Symbol> GetMembers(string name) 288if (_unbound) return StaticCast<Symbol>.From(GetTypeMembers(name)); 290ImmutableArray<Symbol> result; 300private ImmutableArray<Symbol> GetMembersWorker(string name) 315var builder = ArrayBuilder<Symbol>.GetInstance(originalMembers.Length); 316foreach (var t in originalMembers) 325void cacheResult(ImmutableArray<Symbol> result) 331(_lazyMembersByNameCache = new ConcurrentCache<string, ImmutableArray<Symbol>>(8)); 359internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 366internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 370var builder = ArrayBuilder<Symbol>.GetInstance(); 371foreach (var t in OriginalDefinition.GetEarlyAttributeDecodingMembers(name))
Symbols\SubstitutedParameterSymbol.cs (6)
15private readonly Symbol _containingSymbol; 18this((Symbol)containingSymbol, map, originalParameter) 23this((Symbol)containingSymbol, map, originalParameter) 27private SubstitutedParameterSymbol(Symbol containingSymbol, TypeMap map, ParameterSymbol originalParameter) : 40public override Symbol ContainingSymbol 101public 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 (25)
106public abstract Symbol ContainingSymbol { get; } 115Symbol container = this.ContainingSymbol; 146for (var container = this.ContainingSymbol; (object)container != null; container = container.ContainingSymbol) 169var container = this.ContainingSymbol; 261var container = this.ContainingSymbol; 281public Symbol OriginalDefinition 289protected virtual Symbol OriginalSymbolDefinition 631public static bool operator ==(Symbol left, Symbol right) 653public static bool operator !=(Symbol left, Symbol right) 676return this.Equals(obj as Symbol, SymbolEqualityComparer.Default.CompareKind); 679public bool Equals(Symbol other) 686return this.Equals(other as Symbol, compareKind); 690public virtual bool Equals(Symbol other, TypeCompareKind compareKind) 701public static bool Equals(Symbol first, Symbol second, TypeCompareKind compareKind) 822internal static void ForceCompleteMemberByLocation(SourceLocation locationOpt, Symbol member, CancellationToken cancellationToken) 1191internal static bool GetUnificationUseSiteDiagnosticRecursive<T>(ref DiagnosticInfo result, ImmutableArray<T> types, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) where T : TypeSymbol 1204internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<TypeWithAnnotations> types, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1217internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<CustomModifier> modifiers, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1230internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<ParameterSymbol> parameters, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1244internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<TypeParameterSymbol> typeParameters, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1556internal static bool IsCaptured(Symbol variable, SourceMethodSymbol containingSymbol) 1600for (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)
28private readonly Symbol _symbol0; 29private readonly Symbol _symbol1; 33public SymbolDistinguisher(CSharpCompilation compilation, Symbol symbol0, Symbol symbol1) 55private static void CheckSymbolKind(Symbol symbol) 96Symbol unwrappedSymbol0 = UnwrapSymbol(_symbol0); 97Symbol unwrappedSymbol1 = UnwrapSymbol(_symbol1); 140private static Symbol UnwrapSymbol(Symbol symbol) 161private static string GetLocationString(CSharpCompilation compilation, Symbol unwrappedSymbol) 217private Symbol GetSymbol()
Symbols\SymbolEqualityComparer.cs (13)
12internal sealed class SymbolEqualityComparer : EqualityComparer<Symbol> 14internal static readonly EqualityComparer<Symbol> ConsiderEverything = new SymbolEqualityComparer(TypeCompareKind.ConsiderEverything); 16internal static readonly EqualityComparer<Symbol> IgnoringTupleNamesAndNullability = new SymbolEqualityComparer(TypeCompareKind.IgnoreTupleNames | TypeCompareKind.IgnoreNullableModifiersForReferenceTypes); 18internal static EqualityComparer<Symbol> IncludeNullability => ConsiderEverything; 23internal static readonly EqualityComparer<Symbol> IgnoringDynamicTupleNamesAndNullability = new SymbolEqualityComparer(TypeCompareKind.IgnoreDynamicAndTupleNames | TypeCompareKind.IgnoreNullableModifiersForReferenceTypes); 25internal static readonly EqualityComparer<Symbol> IgnoringNullable = new SymbolEqualityComparer(TypeCompareKind.IgnoreNullableModifiersForReferenceTypes); 27internal static readonly EqualityComparer<Symbol> ObliviousNullableModifierMatchesAny = new SymbolEqualityComparer(TypeCompareKind.ObliviousNullableModifierMatchesAny); 29internal static readonly EqualityComparer<Symbol> AllIgnoreOptions = new SymbolEqualityComparer(TypeCompareKind.AllIgnoreOptions); 31internal static readonly EqualityComparer<Symbol> AllIgnoreOptionsPlusNullableWithUnknownMatchesAny = 34internal static readonly EqualityComparer<Symbol> CLRSignature = new SymbolEqualityComparer(TypeCompareKind.CLRSignatureCompareOptions); 43public override int GetHashCode(Symbol obj) 48public override bool Equals(Symbol x, Symbol y)
Symbols\SymbolExtensions.cs (55)
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) 231public static bool IsContainingSymbolOfAllTypeParameters(this Symbol containingSymbol, TypeSymbol type) 240public static bool IsContainingSymbolOfAllTypeParameters(this Symbol containingSymbol, ImmutableArray<TypeSymbol> types) 245private static readonly Func<TypeSymbol, Symbol, bool, bool> s_hasInvalidTypeParameterFunc = 248private static bool HasInvalidTypeParameter(TypeSymbol type, Symbol? containingSymbol) 252var symbol = type.ContainingSymbol; 265public static bool IsTypeOrTypeAlias(this Symbol symbol) 285internal static bool CompilationAllowsUnsafe(this Symbol symbol) 290internal static void CheckUnsafeModifier(this Symbol symbol, DeclarationModifiers modifiers, BindingDiagnosticBag diagnostics) 295internal static void CheckUnsafeModifier(this Symbol symbol, DeclarationModifiers modifiers, Location errorLocation, BindingDiagnosticBag diagnostics) 307public static bool IsHiddenByCodeAnalysisEmbeddedAttribute(this Symbol symbol) 324public static bool MustCallMethodsDirectly(this Symbol symbol) 337public static int GetArity(this Symbol? symbol) 353internal static CSharpSyntaxNode GetNonNullSyntaxNode(this Symbol? symbol) 361Symbol? containingSymbol = symbol.ContainingSymbol; 378internal static Symbol? EnsureCSharpSymbolOrNull(this ISymbol? symbol, string paramName) 437internal static TypeWithAnnotations GetTypeOrReturnType(this Symbol symbol) 469internal static FlowAnalysisAnnotations GetFlowAnalysisAnnotations(this Symbol? symbol) 481internal static void GetTypeOrReturnType(this Symbol symbol, out RefKind refKind, out TypeWithAnnotations returnType, 532internal static bool IsImplementableInterfaceMember(this Symbol symbol) 537internal static bool RequiresInstanceReceiver(this Symbol symbol) 550private static TISymbol? GetPublicSymbol<TISymbol>(this Symbol? symbol) 557internal static ISymbol? GetPublicSymbol(this Symbol? symbol) 682internal static IEnumerable<ISymbol?> GetPublicSymbols(this IEnumerable<Symbol?> symbols) 687private static ImmutableArray<TISymbol> GetPublicSymbols<TISymbol>(this ImmutableArray<Symbol> symbols) 698internal static ImmutableArray<ISymbol> GetPublicSymbols(this ImmutableArray<Symbol> symbols) 705return GetPublicSymbols<IPropertySymbol>(StaticCast<Symbol>.From(symbols)); 710return GetPublicSymbols<ITypeSymbol>(StaticCast<Symbol>.From(symbols)); 715return GetPublicSymbols<INamedTypeSymbol>(StaticCast<Symbol>.From(symbols)); 720return GetPublicSymbols<ILocalSymbol>(StaticCast<Symbol>.From(symbols)); 725return GetPublicSymbols<IEventSymbol>(StaticCast<Symbol>.From(symbols)); 730return GetPublicSymbols<ITypeParameterSymbol>(StaticCast<Symbol>.From(symbols)); 735return GetPublicSymbols<IParameterSymbol>(StaticCast<Symbol>.From(symbols)); 740return GetPublicSymbols<IMethodSymbol>(StaticCast<Symbol>.From(symbols)); 745return GetPublicSymbols<IAssemblySymbol>(StaticCast<Symbol>.From(symbols)); 750return GetPublicSymbols<IFieldSymbol>(StaticCast<Symbol>.From(symbols)); 755return GetPublicSymbols<INamespaceSymbol>(StaticCast<Symbol>.From(symbols)); 760where TSymbol : Symbol 766internal static Symbol? GetSymbol(this ISymbol? symbol) 768return symbol.GetSymbol<Symbol>(); 823internal static bool HasAsyncMethodBuilderAttribute(this Symbol symbol, [NotNullWhen(true)] out object? builderArgument) 843internal static bool IsRequired(this Symbol symbol) => symbol is FieldSymbol { IsRequired: true } or PropertySymbol { IsRequired: true };
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\Records\SynthesizedPrimaryConstructorParameterBackingFieldSymbol.cs (2)
39public override Symbol? AssociatedSymbol 62public override Symbol ContainingSymbol
Symbols\Synthesized\Records\SynthesizedRecordClone.cs (1)
163foreach (var member in containingType.GetMembers(WellKnownMemberNames.CloneMethodName))
Symbols\Synthesized\Records\SynthesizedRecordCopyCtor.cs (1)
118internal static bool IsCopyConstructor(Symbol member)
Symbols\Synthesized\Records\SynthesizedRecordDeconstruct.cs (5)
16private readonly ImmutableArray<Symbol> _positionalMembers; 21ImmutableArray<Symbol> positionalMembers, 74var positionalMember = _positionalMembers[i]; 108private static bool IsReadOnly(SourceMemberContainerTypeSymbol containingType, ImmutableArray<Symbol> positionalMembers) 112static bool hasNonReadOnlyGetter(Symbol m)
Symbols\Synthesized\Records\SynthesizedRecordEqualityOperator.cs (1)
43foreach (var member in ContainingType.GetMembers(WellKnownMemberNames.ObjectEquals))
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (8)
25IEnumerable<Symbol> userDefinedMembers, 122ImmutableArray<Symbol> printableMembers = ContainingType.GetMembers().WhereAsArray(m => isPrintable(m)); 191var 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)
106public override Symbol AssociatedSymbol 142public override Symbol ContainingSymbol
Symbols\Synthesized\SynthesizedContainer.cs (9)
109public override ImmutableArray<Symbol> GetMembers() 111Symbol constructor = this.Constructor; 112return (object)constructor == null ? ImmutableArray<Symbol>.Empty : ImmutableArray.Create(constructor); 115public override ImmutableArray<Symbol> GetMembers(string name) 118return ((object)ctor != null && name == ctor.Name) ? ImmutableArray.Create<Symbol>(ctor) : ImmutableArray<Symbol>.Empty; 123foreach (var m in this.GetMembers()) 134internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => this.GetMembersUnordered(); 136internal 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)
76public override Symbol ContainingSymbol => _namespace; 134public override ImmutableArray<Symbol> GetMembers() => Constructors.CastArray<Symbol>(); 136public override ImmutableArray<Symbol> GetMembers(string name) => name == WellKnownMemberNames.InstanceConstructorName ? Constructors.CastArray<Symbol>() : ImmutableArray<Symbol>.Empty; 152internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() => GetMembers(); 154internal 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)
97public override Symbol AssociatedSymbol 145public override Symbol ContainingSymbol
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (2)
80public sealed override Symbol ContainingSymbol 223public override Symbol AssociatedSymbol
Symbols\Synthesized\SynthesizedImplementationMethod.cs (2)
115public override Symbol ContainingSymbol 151public override Symbol AssociatedSymbol
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)
283public override Symbol AssociatedSymbol 312public override Symbol ContainingSymbol 423public override bool Equals(Symbol obj, TypeCompareKind compareKind) 476public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Synthesized\SynthesizedLocal.cs (1)
128public sealed override Symbol ContainingSymbol
Symbols\Synthesized\SynthesizedParameterSymbol.cs (1)
125public override Symbol? ContainingSymbol
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) 57public 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(string name) 80=> ImmutableArray<Symbol>.Empty;
Symbols\Tuples\TupleErrorFieldSymbol.cs (1)
176public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Tuples\TupleFieldSymbol.cs (3)
95public sealed override Symbol? AssociatedSymbol 116public sealed override Symbol ContainingSymbol 157public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Tuples\TupleTypeSymbol.cs (29)
493internal static Symbol? GetWellKnownMemberInType(NamedTypeSymbol type, WellKnownMember relativeMember, BindingDiagnosticBag diagnostics, SyntaxNode? syntax) 495Symbol? member = GetWellKnownMemberInType(type, relativeMember); 522static Symbol? GetWellKnownMemberInType(NamedTypeSymbol type, WellKnownMember relativeMember) 571public TMember? GetTupleMemberSymbolForUnderlyingMember<TMember>(TMember? underlyingMemberOpt) where TMember : Symbol 576protected ArrayBuilder<Symbol> MakeSynthesizedTupleMembers(ImmutableArray<Symbol> currentMembers, HashSet<Symbol>? replacedFields = null) 583var members = ArrayBuilder<Symbol>.GetInstance(currentMembers.Length); 597foreach (Symbol member in currentMembers) 805static void collectTargetTupleFields(int arity, ImmutableArray<Symbol> members, ArrayBuilder<FieldSymbol?> fieldsForElements) 816static Symbol? getWellKnownMemberInType(ImmutableArray<Symbol> members, WellKnownMember relativeMember) 825static ImmutableArray<Symbol> getOriginalFields(ImmutableArray<Symbol> members) 827var fields = ArrayBuilder<Symbol>.GetInstance(); 828foreach (var member in members) 919private SmallDictionary<Symbol, Symbol>? _lazyUnderlyingDefinitionToMemberMap; 1020foreach (var member in tuple.GetMembers()) 1051internal SmallDictionary<Symbol, Symbol> UnderlyingDefinitionToMemberMap 1057SmallDictionary<Symbol, Symbol> computeDefinitionToMemberMap() 1059var map = new SmallDictionary<Symbol, Symbol>(ReferenceEqualityComparer.Instance); 1066var member = members[i]; 1106public TMember? GetTupleMemberSymbolForUnderlyingMember<TMember>(TMember? underlyingMemberOpt) where TMember : Symbol 1113Symbol underlyingMemberDefinition = underlyingMemberOpt.OriginalDefinition; 1121if (UnderlyingDefinitionToMemberMap.TryGetValue(underlyingMemberDefinition, out Symbol? result))
Symbols\TypeMap.cs (3)
103private TypeMap WithAlphaRename(ImmutableArray<TypeParameterSymbol> oldTypeParameters, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 145internal TypeMap WithAlphaRename(MethodSymbol oldOwner, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 153Symbol newOwner,
Symbols\TypeParameterSymbol.cs (5)
143public sealed override ImmutableArray<Symbol> GetMembers() 145return ImmutableArray<Symbol>.Empty; 149public sealed override ImmutableArray<Symbol> GetMembers(string name) 151return ImmutableArray<Symbol>.Empty; 638internal sealed override bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes)
Symbols\TypeSymbol.cs (130)
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) 529internal abstract bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes); 718internal SymbolAndDiagnostics FindImplementationForInterfaceMemberInNonInterfaceWithDiagnostics(Symbol interfaceMember, bool ignoreImplementationInInterfacesIfResultIsNotReady = false) 769internal Symbol FindImplementationForInterfaceMemberInNonInterface(Symbol interfaceMember, bool ignoreImplementationInInterfacesIfResultIsNotReady = false) 774private SymbolAndDiagnostics ComputeImplementationAndDiagnosticsForInterfaceMember(Symbol interfaceMember, bool ignoreImplementationInInterfaces, out bool implementationInInterfacesMightChangeResult) 777var implementingMember = ComputeImplementationForInterfaceMember(interfaceMember, this, diagnostics, ignoreImplementationInInterfaces, out implementationInInterfacesMightChangeResult); 800private static Symbol ComputeImplementationForInterfaceMember(Symbol interfaceMember, TypeSymbol implementingType, BindingDiagnosticBag diagnostics, 828Symbol implicitImpl = null; 829Symbol closestMismatch = null; 844MultiDictionary<Symbol, Symbol>.ValueSet explicitImpl = currType.GetExplicitImplementationForInterfaceMember(interfaceMember); 876if (IsExplicitlyImplementedViaAccessors(checkPendingExplicitImplementations, interfaceMember, currType, ref useSiteInfo, out Symbol currTypeExplicitImpl)) 914Symbol currTypeImplicitImpl; 915Symbol currTypeCloseMismatch; 946Symbol originalImplicitImpl = implicitImpl; 956Symbol defaultImpl = null; 1046private static Symbol FindMostSpecificImplementationInInterfaces(Symbol interfaceMember, TypeSymbol implementingType, 1061Symbol defaultImpl = FindMostSpecificImplementationInBases(interfaceMember, 1063ref useSiteInfo, out Symbol conflict1, out Symbol conflict2); 1099private static Symbol FindMostSpecificImplementation(Symbol interfaceMember, NamedTypeSymbol implementingInterface, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1101MultiDictionary<Symbol, Symbol>.ValueSet implementingMember = FindImplementationInInterface(interfaceMember, implementingInterface); 1118out var _, out var _); 1121Symbol result = implementingMember.Single(); 1140private static Symbol FindMostSpecificImplementationInBases( 1141Symbol interfaceMember, 1144out Symbol conflictingImplementation1, 1145out Symbol conflictingImplementation2) 1169Symbol accessorImpl1 = findMostSpecificImplementationInBases(interfaceAccessor1 ?? interfaceAccessor2, allInterfaces, ref useSiteInfo, 1170out Symbol conflictingAccessorImplementation11, out Symbol conflictingAccessorImplementation12); 1200Symbol accessorImpl2 = findMostSpecificImplementationInBases(interfaceAccessor2, allInterfaces, ref useSiteInfo, 1201out Symbol conflictingAccessorImplementation21, out Symbol conflictingAccessorImplementation22); 1231static Symbol findImplementationInInterface(Symbol interfaceMember, Symbol inplementingAccessor1, Symbol implementingAccessor2 = null) 1241MultiDictionary<Symbol, Symbol>.ValueSet implementingMember = FindImplementationInInterface(interfaceMember, implementingInterface); 1252static Symbol findMostSpecificImplementationInBases( 1253Symbol interfaceMember, 1256out Symbol conflictingImplementation1, 1257out Symbol conflictingImplementation2) 1259var implementations = ArrayBuilder<(MultiDictionary<Symbol, Symbol>.ValueSet MethodSet, MultiDictionary<NamedTypeSymbol, NamedTypeSymbol> Bases)>.GetInstance(); 1269MultiDictionary<Symbol, Symbol>.ValueSet candidate = FindImplementationInInterface(interfaceMember, interfaceType); 1278(MultiDictionary<Symbol, Symbol>.ValueSet methodSet, MultiDictionary<NamedTypeSymbol, NamedTypeSymbol> bases) = implementations[i]; 1279Symbol previous = methodSet.First(); 1331Symbol result; 1341MultiDictionary<Symbol, Symbol>.ValueSet methodSet = implementations[0].MethodSet; 1371internal static MultiDictionary<Symbol, Symbol>.ValueSet FindImplementationInInterface(Symbol interfaceMember, NamedTypeSymbol interfaceType) 1385return new MultiDictionary<Symbol, Symbol>.ValueSet(interfaceMember); 1394private static (MethodSymbol interfaceAccessor1, MethodSymbol interfaceAccessor2) GetImplementableAccessors(Symbol interfaceMember) 1455private static bool IsExplicitlyImplementedViaAccessors(bool checkPendingExplicitImplementations, Symbol interfaceMember, TypeSymbol currType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out Symbol implementingMember) 1459Symbol associated1; 1460Symbol associated2; 1492private static bool TryGetExplicitImplementationAssociatedPropertyOrEvent(bool checkPendingExplicitImplementations, MethodSymbol interfaceAccessor, TypeSymbol currType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out Symbol associated) 1498MultiDictionary<Symbol, Symbol>.ValueSet set = currType.GetExplicitImplementationForInterfaceMember(interfaceAccessor); 1501Symbol implementation = set.Single(); 1537ref Symbol implicitImpl) 1542Symbol associatedInterfacePropertyOrEvent = interfaceMethod.AssociatedSymbol; 1553Symbol implementingPropertyOrEvent = implementingType.FindImplementationForInterfaceMemberInNonInterface(associatedInterfacePropertyOrEvent, 1619private static void ReportDefaultInterfaceImplementationMatchDiagnostics(Symbol interfaceMember, TypeSymbol implementingType, Symbol implicitImpl, BindingDiagnosticBag diagnostics) 1657private static void ReportImplicitImplementationMatchDiagnostics(Symbol interfaceMember, TypeSymbol implementingType, Symbol implicitImpl, BindingDiagnosticBag diagnostics) 1712foreach (Symbol member in implicitImpl.ContainingType.GetMembers(implicitImpl.Name)) 1749internal static void CheckNullableReferenceTypeAndScopedMismatchOnImplementingMember(TypeSymbol implementingType, Symbol implementingMember, Symbol interfaceMember, bool isExplicit, BindingDiagnosticBag diagnostics) 1939private static void ReportImplicitImplementationMismatchDiagnostics(Symbol interfaceMember, TypeSymbol implementingType, Symbol closestMismatch, BindingDiagnosticBag diagnostics) 2011internal static bool HaveInitOnlyMismatch(Symbol one, Symbol other) 2029private static Location GetInterfaceLocation(Symbol interfaceMember, TypeSymbol implementingType) 2088internal static Location GetImplicitImplementationDiagnosticLocation(Symbol interfaceMember, TypeSymbol implementingType, Symbol member) 2118Symbol interfaceMember, 2121out Symbol implicitImpl, 2122out Symbol closeMismatch) 2134foreach (Symbol member in currType.GetMembers(interfaceMember.Name)) 2191private static bool IsInterfaceMemberImplementation(Symbol candidateMember, Symbol interfaceMember, bool implementingTypeIsFromSomeCompilation) 2220protected MultiDictionary<Symbol, Symbol>.ValueSet GetExplicitImplementationForInterfaceMember(Symbol interfaceMember) 2236private MultiDictionary<Symbol, Symbol> MakeExplicitInterfaceImplementationMap() 2238var map = new MultiDictionary<Symbol, Symbol>(ExplicitInterfaceImplementationTargetMemberEqualityComparer.Instance); 2239foreach (var member in this.GetMembersUnordered()) 2241foreach (var interfaceMember in member.GetExplicitInterfaceImplementations()) 2307protected class ExplicitInterfaceImplementationTargetMemberEqualityComparer : IEqualityComparer<Symbol> 2312public bool Equals(Symbol x, Symbol y) 2318public int GetHashCode(Symbol obj) 2331internal ImmutableHashSet<Symbol> AbstractMembers 2343private ImmutableHashSet<Symbol> ComputeAbstractMembers() 2345var abstractMembers = ImmutableHashSet.Create<Symbol>(); 2346var overriddenMembers = ImmutableHashSet.Create<Symbol>(); 2348foreach (var member in this.GetMembersUnordered()) 2355Symbol overriddenMember = null; 2383foreach (var baseAbstractMember in this.BaseTypeNoUseSiteDiagnostics.AbstractMembers) 2424public static bool operator ==(Symbol left, TypeSymbol right) 2428public static bool operator !=(Symbol left, TypeSymbol right) 2432public static bool operator ==(TypeSymbol left, Symbol right) 2436public static bool operator !=(TypeSymbol left, Symbol right)
Symbols\TypeSymbol.SymbolAndDiagnostics.cs (2)
23public readonly Symbol Symbol; 26public SymbolAndDiagnostics(Symbol symbol, ImmutableBindingDiagnostic<AssemblySymbol> diagnostics)
Symbols\TypeSymbolExtensions.cs (10)
487private static bool IsNamespaceName(Symbol symbol, string[] names) 609public static bool IsAtLeastAsVisibleAs(this TypeSymbol type, Symbol sym, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 618private static bool IsTypeLessVisibleThan(TypeSymbol type, Symbol sym, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 913internal static bool IsAsRestrictive(this Symbol s1, Symbol sym2, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 922for (Symbol s2 = sym2; s2.Kind != SymbolKind.Namespace; s2 = s2.ContainingSymbol) 1126private static readonly Func<TypeSymbol, Symbol, bool, bool> s_isTypeParameterWithSpecificContainerPredicate = 1649internal static TypeParameterSymbol? FindEnclosingTypeParameter(this Symbol methodOrType, string name) 1686var container = type.ContainingSymbol; 1995Symbol declaringSymbol,
Symbols\TypeWithAnnotations.cs (3)
413public bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 416Symbol.GetUnificationUseSiteDiagnosticRecursive(ref result, this.CustomModifiers, owner, ref checkedTypes); 419public 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()) 96internal static NamedTypeSymbol GetEnclosingVariantInterface(Symbol member) 172private static bool SkipVarianceSafetyChecks(Symbol member) 236private static void CheckParametersVarianceSafety(ImmutableArray<ParameterSymbol> parameters, Symbol context, BindingDiagnosticBag diagnostics) 292Symbol context, 296where T : Symbol 360Symbol context, 364where T : Symbol 442Symbol context, 446where T : Symbol 483private static T GetDeclaringSyntax<T>(this Symbol symbol) where T : SyntaxNode
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (57)
CodeGen\CodeGenAsyncIteratorTests.cs (1)
6279var symbol = comp.GetWellKnownTypeMember(member);
CodeGen\CodeGenDynamicTests.cs (2)
680foreach (var member in iteratorClass.GetMembers()) 837foreach (var member in members)
CodeGen\CodeGenTupleTest.cs (8)
4487var stringItem1 = vt2.GetMembers("Item1")[0]; 4491var intItem2 = vt2.GetMembers("Item2")[0]; 11677foreach (var m in members1) 13882private static void AssertTestDisplayString(ImmutableArray<Symbol> symbols, params string[] baseLine) 28237static void verifyTupleTypes(ImmutableArray<Symbol> valueTupleTypes, bool retargeting) 28283void verify(Symbol tuple, string name, string display, int index) 28354static void verifyTuple8Type(Symbol tuple, bool retargeting) 28822static 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)
1075var field = s.GetMember("field"); 1163var field = s.GetMember("field");
Emit\EditAndContinue\EditAndContinueClosureTests.cs (15)
373Assert.True(((Symbol)localFunction0).IsStatic); 376Assert.True(((Symbol)localFunction1).IsStatic); 2324var f_int1 = compilation1.GetMembers("C.F").Single(m => m.ToString() == "C.F(int)"); 2325var f_byte2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F(byte)"); 2441var f_int1 = compilation1.GetMembers("C.F").Single(m => m.ToString() == "C.F<T>(int)"); 2442var f_byte2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F<T>(byte)"); 2580var f_int2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F(int)"); 2723var ctor00 = compilation0.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor()"); 2724var ctor10 = compilation0.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor(System.Int32 x)"); 2725var ctor01 = compilation1.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor()"); 2726var ctor11 = compilation1.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor(System.Int32 x)"); 2829var ctor00 = compilation0.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor()"); 2830var ctor10 = compilation0.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor(System.Int32 x)"); 2831var ctor01 = compilation1.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor()"); 2832var ctor11 = compilation1.GetMembers("C..ctor").Single(m => m.ToTestDisplayString() == "C..ctor(System.Int32 x)");
Emit\EditAndContinue\EditAndContinueStateMachineTests.cs (8)
647var methodShort0 = compilation0.GetMembers("C.F").Single(m => m.ToTestDisplayString() == "System.Threading.Tasks.Task<System.Int32> C.F(System.Int16 a)"); 648var methodShort1 = compilation1.GetMembers("C.F").Single(m => m.ToTestDisplayString() == "System.Threading.Tasks.Task<System.Int32> C.F(System.Int16 a)"); 650var methodInt0 = compilation0.GetMembers("C.F").Single(m => m.ToTestDisplayString() == "System.Threading.Tasks.Task<System.Int32> C.F(System.Int32 a)"); 651var methodInt1 = compilation1.GetMembers("C.F").Single(m => m.ToTestDisplayString() == "System.Threading.Tasks.Task<System.Int32> C.F(System.Int32 a)"); 653var methodLong0 = compilation0.GetMembers("C.F").Single(m => m.ToTestDisplayString() == "System.Threading.Tasks.Task<System.Int32> C.F(System.Int64 a)"); 654var methodLong1 = compilation1.GetMembers("C.F").Single(m => m.ToTestDisplayString() == "System.Threading.Tasks.Task<System.Int32> C.F(System.Int64 a)"); 7931var f_int1 = compilation1.GetMembers("C.F").Single(m => m.ToString() == "C.F(int)"); 7932var f_byte2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F(byte)");
Emit\EditAndContinue\EditAndContinueTests.cs (4)
11840var f_byte2 = compilation2.GetMembers("C.F").Single(m => m.ToString() == "C.F(dynamic, byte)"); 16083var cm1_gen1 = ((NamedTypeSymbol)compilation1.GetMembers("C")[0]).GetMember("M"); 16176var c1_gen0 = compilation0.GetMember("C"); 16268var c2_gen1 = compilation1.GetMember("C");
Emit\EditAndContinue\SymbolMatcherTests.cs (6)
60var builder = new List<Symbol>(); 97private static void MatchAll(CSharpSymbolMatcher matcher, ImmutableArray<Symbol> members, int startAt) 102var member = members[(i + startAt) % n]; 144foreach (var member in members) 311var f0 = peAssemblySymbol.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMember("F"); 312var g0 = peAssemblySymbol.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMember("G");
Emit\EmitMetadataTests.cs (7)
746Symbol member; 854var c = members.First(member => member.Name == ".ctor"); 1133var overriddenProperty = module.GlobalNamespace.GetTypeMembers("E").Single().GetMembers("Q").Single(); 1136var overriddenAccessor = module.GlobalNamespace.GetTypeMembers("D").Single().GetMembers("set_Q").Single(); 1186var method = containingType.GetMembers(accessor.Name).Single(); 1317var method = property.ContainingType.GetMembers(accessor.Name).Single(); 2198var member = type.GetMembers("Internal").SingleOrDefault();
PrivateProtected.cs (1)
104foreach (var member in bb.GetMembers())
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (84)
Attributes\AttributeTests.cs (5)
488Symbol assembly = m.ContainingSymbol; 1565var prop = type.GetMember("Prop"); 2787private static string GetSingleAttributeName(Symbol symbol) 2792private static void AssertNoAttributes(Symbol symbol) 3064var assembly = m.ContainingSymbol;
Attributes\AttributeTests_NativeInteger.cs (1)
1492var 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)
131var assembly = m.ContainingSymbol; 246var assembly = m.ContainingSymbol; 376var assembly = m.ContainingSymbol; 13067private static string CheckAttributePropagation(Symbol symbol)
Attributes\WellKnownAttributesTestBase.cs (1)
73var assembly = m.ContainingSymbol;
Emit\NumericIntPtrTests.cs (2)
68private static int SymbolComparison(Symbol x, Symbol y) => SymbolComparison(x.ToTestDisplayString(), y.ToTestDisplayString());
FlowAnalysis\FlowTestBase.cs (3)
42private IEnumerable<MethodSymbol> AllMethods(Symbol symbol) 51foreach (var m in (symbol as NamedTypeSymbol).GetMembers()) 61foreach (var m in (symbol as NamespaceSymbol).GetMembers())
Semantics\PatternMatchingTests4.cs (9)
2076var ctorObject = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctorObject); 2079var ctor = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctor); 2082var invalidOperationExceptionCtor = compilation.GetWellKnownTypeMember(WellKnownMember.System_InvalidOperationException__ctor); 2215var ctorObject = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctorObject); 2218var ctor = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctor); 2418var ctorObject = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctorObject); 2607var ctorObject = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctorObject); 2610var ctor = compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_SwitchExpressionException__ctor); 2613var invalidOperationExceptionCtor = compilation.GetWellKnownTypeMember(WellKnownMember.System_InvalidOperationException__ctor);
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (42)
Binders\EEMethodBinder.cs (1)
73internal override Symbol ContainingMemberOrLambda
CompilationContext.cs (5)
856var assembliesAndModulesBuilder = ArrayBuilder<Symbol>.GetInstance(); 914private static int IndexOfMatchingAssembly(AssemblyIdentity referenceIdentity, ImmutableArray<Symbol> assembliesAndModules, AssemblyIdentityComparer assemblyIdentityComparer) 1303foreach (var member in containingType.GetMembers()) 1548foreach (var member in instance.Type.GetMembers()) 1614foreach (var member in instance.Type.GetMembers())
CompilationExtensions.cs (1)
39foreach (var member in containingType.ContainingType.GetMembers(sourceMethodName))
Symbols\DisplayClassInstance.cs (3)
16internal abstract Symbol ContainingSymbol { get; } 52internal override Symbol ContainingSymbol 90internal override Symbol ContainingSymbol
Symbols\DisplayClassVariable.cs (3)
52internal Symbol ContainingSymbol 122public override Symbol AssociatedSymbol 127public override Symbol ContainingSymbol
Symbols\EECompilationContextMethod.cs (4)
17/// during binding won't be able to locate their <see cref="Symbol.DeclaringCompilation"/>, which will break 20/// it is declared by EE compilation and allows to return that compilation as <see cref="Symbol.DeclaringCompilation"/> 67public override Symbol? AssociatedSymbol => _underlyingMethod.AssociatedSymbol; 69public override Symbol ContainingSymbol => _underlyingMethod.ContainingSymbol;
Symbols\EEDisplayClassFieldLocalSymbol.cs (1)
50public override Symbol ContainingSymbol
Symbols\EELocalConstantSymbol.cs (1)
62public override Symbol ContainingSymbol
Symbols\EELocalSymbol.cs (1)
114public override Symbol ContainingSymbol
Symbols\EEMethodSymbol.cs (2)
367public override Symbol AssociatedSymbol 400public override Symbol ContainingSymbol
Symbols\EENamedTypeSymbol.cs (7)
171public override ImmutableArray<Symbol> GetMembers() 173return _methods.Cast<MethodSymbol, Symbol>(); 176public override ImmutableArray<Symbol> GetMembers(string name) 204internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 209internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 299public override Symbol ContainingSymbol 361internal static void VerifyTypeParameters(Symbol container, ImmutableArray<TypeParameterSymbol> typeParameters)
Symbols\EETypeParameterSymbol.cs (3)
18private readonly Symbol _container; 25Symbol container, 37public override Symbol ContainingSymbol
Symbols\PlaceholderLocalSymbol.cs (2)
119public override Symbol ContainingSymbol 177ImmutableArray<Symbol>.Empty,
Symbols\PlaceholderMethodSymbol.cs (2)
50public override Symbol AssociatedSymbol 55public override Symbol ContainingSymbol
Symbols\SimpleTypeParameterSymbol.cs (3)
20private readonly Symbol _container; 24public SimpleTypeParameterSymbol(Symbol container, int ordinal, string name) 95public override Symbol ContainingSymbol
Symbols\SynthesizedContextMethodSymbol.cs (2)
35public override Symbol AssociatedSymbol 40public override Symbol ContainingSymbol
TypeParameterChecker.cs (1)
17public static void Check(Symbol symbol, ImmutableArray<TypeParameterSymbol> acceptableTypeParameters)
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler.UnitTests (12)
ExpressionCompilerTestBase.cs (3)
242var methodOrType = GetMethodOrTypeBySignature(compilation, methodOrTypeName); 443internal static Symbol GetMethodOrTypeBySignature(Compilation compilation, string signature) 449var methodOrType = (parameterTypeNames == null)
ExpressionCompilerTests.cs (6)
2759Assert.Equal("System.Object <>x.<>c.<<>m0>b__0_0(System.Object y)", ((Symbol)data.Method).ToTestDisplayString()); 7226Assert.Equal("System.SByte <>x.<>m0(C.<>c__DisplayClass0_0 <>4__this, System.SByte x)", ((Symbol)data.Method).ToTestDisplayString()); 7291Assert.Equal("System.Int16 <>x.<>m0(C.<>c__DisplayClass0_1 <>4__this, System.Int16 x)", ((Symbol)data.Method).ToTestDisplayString()); 7632Assert.Equal("System.SByte <>x.<>m0(System.SByte x, ref C.<>c__DisplayClass0_0 value)", ((Symbol)data.Method).ToTestDisplayString()); 7689Assert.Equal("System.Int16 <>x.<>m0(System.Int16 x, ref C.<>c__DisplayClass0_0 value, ref C.<>c__DisplayClass0_1 value)", ((Symbol)data.Method).ToTestDisplayString()); 7928Assert.Equal("System.Int32 <>x.<>c.<<>m0>b__0_0(System.Int32 x)", ((Symbol)data.Method).ToTestDisplayString());
LocalFunctionTests.cs (2)
331Assert.Equal("System.Int32 <>x.<>m0(System.Int32 value, ref C.<>c__DisplayClass0_0 value)", ((Symbol)data.Method).ToTestDisplayString()); 374Assert.Equal("System.Int32 <>x.<>m0(ref C.<>c__DisplayClass0_0 value)", ((Symbol)data.Method).ToTestDisplayString());
WinMdTests.cs (1)
236var expectedReturnType = compilation.GetMember("Windows.Storage.StorageFolder");
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (112)
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)
11472internal override Symbol UnderlyingSymbol => _underlying;
Semantics\ExpressionBodiedMemberTests.cs (1)
210var prop = accessor.AssociatedSymbol;
Semantics\InitOnlyMemberTests.cs (2)
2556foreach (var member in cMembers) 4140foreach (var member in delegateMemberSymbols)
Semantics\LockTests.cs (1)
693private 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\NativeIntegerTests.cs (14)
425static bool includeUnderlyingMember(Symbol underlyingMember) 457static bool includeNativeIntegerMember(Symbol nativeIntegerMember) 469foreach (var member in allMembers) 486static void verifyMembers(NamedTypeSymbol type, ImmutableArray<Symbol> allMembers, ImmutableArray<Symbol> members) 488foreach (var member in members) 495static void verifyMember(NamedTypeSymbol type, Symbol member) 543private static void VerifyMember(Symbol member, Symbol underlyingMember, bool signed) 608static Symbol getUnderlyingMember(Symbol nativeIntegerMember) 652private static int SymbolComparison(Symbol x, Symbol y) => SymbolComparison(x.ToTestDisplayString(), y.ToTestDisplayString()); 2488foreach (var member in members)
Semantics\NullableContextTests.cs (1)
2255key is Symbol symbol ? symbol.MetadataName : ((SyntaxNode)key).ToString();
Semantics\NullableReferenceTypesTests.cs (12)
93912var b = m.GlobalNamespace.GetMember("B"); 98390var i1 = m.GlobalNamespace.GetMember("I1"); 98459var i1 = m.GlobalNamespace.GetMember("I1"); 98493var i1 = m.GlobalNamespace.GetMember("I1"); 98533var i1 = m.GlobalNamespace.GetMember("I1"); 98571var i1 = m.GlobalNamespace.GetMember("I1"); 98693var i1 = m.GlobalNamespace.GetMember("I1"); 101175var b = m.GlobalNamespace.GetMember("B"); 101252var b = m.GlobalNamespace.GetMember("B"); 111968var implicitOp = comp.GetSpecialTypeMember(SpecialMember.System_Nullable_T__op_Implicit_FromT); 111969var explicitOp = comp.GetSpecialTypeMember(SpecialMember.System_Nullable_T__op_Explicit_ToT); 111970var getDefault = comp.GetWellKnownTypeMember(WellKnownMember.System_Collections_Generic_EqualityComparer_T__get_Default);
Semantics\OverloadResolutionPerfTests.cs (2)
464var method = comp.GetMember("Program.F2"); 494var method = comp.GetMember("Program.F");
Semantics\PrimaryConstructorTests.cs (2)
2937IEnumerable<string> getAttributeStrings(Symbol symbol) 5688var property = cMember.GetMembers("I1").Single();
Semantics\RecordStructTests.cs (5)
3216var property = cMember.GetMembers("I1").Single(); 3261var property = comp.GetMember("C.I1"); 3309var property = comp.GetMember("C.I1"); 3360var property = comp.GetMember("C.I1"); 10520IEnumerable<string> getAttributeStrings(Symbol symbol)
Semantics\RecordTests.cs (20)
8614var x = c.GetMembers("X").Single(); 12378private static void VerifyProperty(Symbol symbol, string propertyDescription, string? getterName, string? setterName) 13388var copyCtor = comp.GetMembers("C..ctor")[1]; 13421var sealedCopyCtor = comp.GetMembers("Sealed..ctor")[1]; 13425var unsealedCopyCtor = comp.GetMembers("Unsealed..ctor")[1]; 21090private static ImmutableArray<Symbol> GetProperties(CSharpCompilation comp, string typeName) 23129ImmutableArray<Symbol> cEquals = comp.GetMembers("C.Equals"); 23132var baseEquals = cEquals[1]; 23148private static void VerifyVirtualMethods(ImmutableArray<Symbol> members, params (string displayString, bool isOverride)[] values) 25115IEnumerable<string> getAttributeStrings(Symbol symbol) 25175IEnumerable<string> getAttributeStrings(Symbol symbol) 25252IEnumerable<string> getAttributeStrings(Symbol symbol) 25313IEnumerable<string> getAttributeStrings(Symbol symbol) 25394IEnumerable<string> getAttributeStrings(Symbol symbol) 25478IEnumerable<string> getAttributeStrings(Symbol symbol) 25542IEnumerable<string> getAttributeStrings(Symbol symbol) 28169var property = cMember.GetMembers("I1").Single(); 28283var property = cMember.GetMembers("I1").Single(); 28493var property = cMember.GetMembers("I1").Single(); 29037var property = cMember.GetMembers("I1").Single();
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)
2748var property = comp.GetTypeByMetadataName("C").GetMember("S"); 2769var property = comp.GetTypeByMetadataName("C").GetMember("S");
Semantics\UnsafeTests.cs (2)
2435if (_binder.IsMoveableVariable(expr, out Symbol accessedLocalOrParameterOpt)) 9461foreach (var member in s.GetMembers())
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (578)
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 (90)
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(); 6623internal static Symbol GetReferencedSymbol(CrefSyntax crefSyntax, CSharpCompilation compilation, params DiagnosticDescription[] expectedDiagnostics) 6625Symbol ambiguityWinner; 6633private static ImmutableArray<Symbol> GetReferencedSymbols(CrefSyntax crefSyntax, CSharpCompilation compilation, out Symbol ambiguityWinner, params DiagnosticDescription[] expectedDiagnostics)
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 (136)
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 => 1147Func<NamespaceSymbol, Symbol> findSymbol = global => 1172Func<NamespaceSymbol, Symbol> findSymbol = global => 1199Func<NamespaceSymbol, Symbol> findSymbol = global => 1225Func<NamespaceSymbol, Symbol> findSymbol = global => 1249Func<NamespaceSymbol, Symbol> findSymbol = global => 1272Func<NamespaceSymbol, Symbol> findSymbol = global => 1298Func<NamespaceSymbol, Symbol> findSymbol = global => 1338Func<NamespaceSymbol, Symbol> findSymbol = global => 1361Func<NamespaceSymbol, Symbol> findSymbol = global => 1496Func<NamespaceSymbol, Symbol> findSymbol = global => 1526Func<NamespaceSymbol, Symbol> findSymbol = global => 1560Func<NamespaceSymbol, Symbol> findType = global => 1563Func<NamespaceSymbol, Symbol> findTypeParameter = global => 1602Func<NamespaceSymbol, Symbol> findSymbol = global => 1634Func<NamespaceSymbol, Symbol> findSymbol = global => 1667Func<NamespaceSymbol, Symbol> findSymbol = global => 1709Func<NamespaceSymbol, Symbol> findSymbol = global => 1732Func<NamespaceSymbol, Symbol> findSymbol = global => 1769Func<NamespaceSymbol, Symbol> findSymbol = global => 1792Func<NamespaceSymbol, Symbol> findSymbol = global => 1827Func<NamespaceSymbol, Symbol> findSymbol = global => 1850Func<NamespaceSymbol, Symbol> findSymbol = global => 1953Func<NamespaceSymbol, Symbol> findSymbol = global => 1990Func<NamespaceSymbol, Symbol> findSymbol = global => 2028Func<NamespaceSymbol, Symbol> findSymbol1 = global => 2032Func<NamespaceSymbol, Symbol> findSymbol2 = global => 2081Func<NamespaceSymbol, Symbol> findSymbol1 = global => 2085Func<NamespaceSymbol, Symbol> findSymbol2 = global => 2120Func<NamespaceSymbol, Symbol> findSymbol = global => 2157Func<NamespaceSymbol, Symbol> findSymbol = global => 2194Func<NamespaceSymbol, Symbol> findSymbol = global => 2220Func<NamespaceSymbol, Symbol> findSymbol = global => 2250Func<NamespaceSymbol, Symbol> findSymbol = global => 2278Func<NamespaceSymbol, Symbol> findSymbol = global => 2369Func<NamespaceSymbol, Symbol> findSymbol = global => 2430Func<NamespaceSymbol, Symbol> findSymbol = global => 2522Func<NamespaceSymbol, Symbol> findSymbol = global => 2552Func<NamespaceSymbol, Symbol> findSymbol = global => 2588Func<NamespaceSymbol, Symbol> findSymbol = global => 2622Func<NamespaceSymbol, Symbol> findSymbol = global => 2649Func<NamespaceSymbol, Symbol> findSymbol = global => 2728var methodSymbol = hostTypeSymbol.GetMember("Method"); 2729var delegateSymbol = hostTypeSymbol.GetMember("MyDelegate"); 2730var fieldSymbol = hostTypeSymbol.GetMember("Field"); 2731var propertySymbol = hostTypeSymbol.GetMember("Property"); 2732var eventSymbol = hostTypeSymbol.GetMember("Event"); 2735var nestedMethodSymbol = nestedTypeSymbol.GetMember("Method"); 2736var nestedDelegateSymbol = nestedTypeSymbol.GetMember("MyDelegate"); 2737var nestedFieldSymbol = nestedTypeSymbol.GetMember("Field"); 2738var nestedPropertySymbol = nestedTypeSymbol.GetMember("Property"); 2739var nestedEventSymbol = nestedTypeSymbol.GetMember("Event"); 2894Func<NamespaceSymbol, Symbol> findSymbol = global => 2917Func<NamespaceSymbol, Symbol> findSymbol = global => 2938Func<NamespaceSymbol, Symbol> findSymbol = global => 2963Func<NamespaceSymbol, Symbol> findSymbol = global => 3273Func<NamespaceSymbol, Symbol> findSymbol, 3284var symbol = findSymbol(global); 3295Func<NamespaceSymbol, Symbol> findSymbol, 3305Func<NamespaceSymbol, Symbol> findSymbol, 3313var symbol = findSymbol(global); 3333Func<NamespaceSymbol, Symbol> findSymbol = global => 3384Func<NamespaceSymbol, Symbol> findSymbol = global => 3438Func<NamespaceSymbol, Symbol> findSymbol = global => 3490Func<NamespaceSymbol, Symbol> findSymbol = global => 3541Func<NamespaceSymbol, Symbol> findSymbol = global => 3622Func<NamespaceSymbol, Symbol> findSymbol = global => 3692Func<NamespaceSymbol, Symbol> findSymbol1 = global => 3694Func<NamespaceSymbol, Symbol> findSymbol2 = global => 3696Func<NamespaceSymbol, Symbol> findSymbol3 = global => 3804Func<NamespaceSymbol, Symbol> findSymbol1 = global => 3806Func<NamespaceSymbol, Symbol> findSymbol2 = global => 3808Func<NamespaceSymbol, Symbol> findSymbol3 = global => 3918Func<NamespaceSymbol, Symbol> findSymbol = global => 4022Func<NamespaceSymbol, Symbol> findSymbol = global => 4126Func<NamespaceSymbol, Symbol> findSymbol = global => 4170Func<NamespaceSymbol, Symbol> findSymbol = global => 4217Func<NamespaceSymbol, Symbol> findSymbol = global => 4259Func<NamespaceSymbol, Symbol> findSymbol = global => 4294Func<NamespaceSymbol, Symbol> findSymbol = global => 4342Func<NamespaceSymbol, Symbol> findSymbol = global => 4383Func<NamespaceSymbol, Symbol> findSymbol = global => 4453Func<NamespaceSymbol, Symbol> findSymbol = global => 4739Assert.False(type is Symbol); 4740Assert.False(method is Symbol); 4741Assert.False(property is Symbol); 4742Assert.False(field is Symbol); 4743Assert.False(@event is Symbol); 4744Assert.False(@delegate is Symbol); 4745Assert.False(error is Symbol); 4980var m1 = cTest.GetMember("M1"); 4984var p1 = cTest.GetMember("P1"); 4988var e1 = cTest.GetMember("E1"); 5033Func<NamespaceSymbol, Symbol> findSymbol = global => 5065Func<NamespaceSymbol, Symbol> findSymbol = global => 5074var symbol = findSymbol(global); 5096Func<NamespaceSymbol, Symbol> findSymbol = global => 5127Func<NamespaceSymbol, Symbol> findSymbol = global => 5164Func<NamespaceSymbol, Symbol> findSymbol = global => 5215Func<NamespaceSymbol, Symbol> findSymbol = global => 7899Func<NamespaceSymbol, Symbol> findSymbol = global => global.GetTypeMembers("Person").Single(); 7920Func<NamespaceSymbol, Symbol> findSymbol = global => global.GetTypeMembers("Person").Single(); 7941Func<NamespaceSymbol, Symbol> findSymbol = global => global.GetTypeMembers("Person").Single(); 7964Func<NamespaceSymbol, Symbol> findSymbol = global => global.GetTypeMembers("Person").Single(); 7991Func<NamespaceSymbol, Symbol> findSymbol = global => 8012Func<NamespaceSymbol, Symbol> findSymbol = global => 8033Func<NamespaceSymbol, Symbol> findSymbol = global => 8054Func<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)
516var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 574var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 605var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 637var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 688var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 746var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 778var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 811var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 860var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 1058var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1108var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1161var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1211var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1696var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 1756var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1788var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 1819var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 1885var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 1929var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 1988var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2021var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2054var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2113var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2277var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2371var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2855var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2910var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2939var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2968var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2997var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3021var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 3076var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3105var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3134var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3163var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3255var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 3305var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected);
Symbols\CorLibrary\CorTypes.cs (1)
91foreach (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)
49349foreach (var member in i1.GetMembers()) 49397foreach (var member in i1.GetMembers())
Symbols\FunctionPointerTypeSymbolTests.cs (2)
948static void assertSymbolEquality(Symbol s1, Symbol s2, Equality eq)
Symbols\GenericConstraintTests.cs (2)
3356var impl = c1.FindImplementationForInterfaceMember(im); 3413var m = ((NamedTypeSymbol)compilation.GetMember("C1")).GetMember("I.M");
Symbols\IndexerTests.cs (7)
550var indexer0Impl = @class.FindImplementationForInterfaceMember(interfaceIndexers[0]); 551var indexer1Impl = @class.FindImplementationForInterfaceMember(interfaceIndexers[1]); 1169var classEventImpl = @class.GetMembers().Where(m => m.GetExplicitInterfaceImplementations().Contains(interfaceEvent)).Single(); 1170var classPropertyImpl = @class.GetMembers().Where(m => m.GetExplicitInterfaceImplementations().Contains(interfaceProperty)).Single(); 1171var classIndexerImpl = @class.GetMembers().Where(m => m.GetExplicitInterfaceImplementations().Contains(interfaceIndexer)).Single(); 1231var classCIndexer = classC.GetMembers().Where(s => s.Kind == SymbolKind.Property).Single(); 1243var 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)
589foreach (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)
335var outerInterfaceEvent = outerInterface.GetMembers().Single(m => m.Kind == SymbolKind.Event); 345var innerInterfaceEvent = innerInterface.GetMembers().Single(m => m.Kind == SymbolKind.Event); 360private static void CheckInnerClassHelper(NamedTypeSymbol innerClass, string methodName, Symbol interfaceEvent) 607private 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)
170var outerInterfaceProperty = outerInterface.GetMembers().Single(m => m.Kind == SymbolKind.Property); 180var innerInterfaceProperty = innerInterface.GetMembers().Single(m => m.Kind == SymbolKind.Property); 195private static void CheckInnerClassHelper(NamedTypeSymbol innerClass, string methodName, Symbol interfaceProperty) 383private static VirtualnessModifiers GetVirtualnessModifiers(Symbol symbol)
Symbols\MethodEqualityTests.cs (2)
50Assert.NotEqual<Symbol>(class1, class1Method1); 51Assert.NotEqual<Symbol>(class1Method1, class1);
Symbols\MissingSpecialMember.cs (2)
555var symbol = comp.GetSpecialTypeMember(special); 1052var symbol = comp.GetWellKnownTypeMember(wkm);
Symbols\MockNamedTypeSymbol.cs (9)
18private Symbol _container; 21private readonly IEnumerable<Symbol> _children; 23public void SetContainer(Symbol container) 96public override ImmutableArray<Symbol> GetMembers() 106public override ImmutableArray<Symbol> GetMembers(string name) 113internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers() 118internal override ImmutableArray<Symbol> GetEarlyAttributeDecodingMembers(string name) 154public override Symbol ContainingSymbol 172public MockNamedTypeSymbol(string name, IEnumerable<Symbol> children, TypeKind kind = TypeKind.Class)
Symbols\MockNamespaceSymbol.cs (6)
18private readonly IEnumerable<Symbol> _children; 21public MockNamespaceSymbol(string name, NamespaceExtent extent, IEnumerable<Symbol> children) 28public void SetContainer(Symbol container) 49public override ImmutableArray<Symbol> GetMembers() 54public override ImmutableArray<Symbol> GetMembers(string name) 73public 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)
55var member = module.GlobalNamespace.GetMember(memberPath); 86foreach (var ctor in type.GetMembers().Where(m => m is MethodSymbol { MethodKind: MethodKind.Constructor }))
Symbols\Retargeting\RetargetCustomAttributes.cs (1)
100public void TestAttributeRetargeting(Symbol symbol)
Symbols\Retargeting\RetargetExplicitInterfaceImplementation.cs (4)
82foreach (var member in classC.GetMembers()) 390var interfaceV2Method1 = interfaceV2.GetMembers("Method1").Single(); 391var interfaceV2Property1 = interfaceV2.GetMembers("Property1").Single(); 392var 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)
1979private static Func<Symbol, bool> IsPropertyWithSingleParameter(SpecialType paramSpecialType, bool isArrayType = false) 1993private static void AssertAllParametersHaveConstModOpt(Symbol member, bool ignoreLast = false) 2007private 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)
510var c = comp.GetMember("C"); 542var c = comp.GetMember("C"); 573var c = comp.GetMember("C"); 613var classC = comp.GetMember("C"); 660var member = comp.GetMember("C"); 693var classC = comp.GetMember("NS1.NS2.C"); 721var classC = comp.GetMember("C"); 806var sourceFileTypeSymbol = comp.GetMember("C"); 848var classC = comp.GetMember("C"); 871var c = comp.GetMember("C"); 932var expectedSymbol = cs[0]; 1016var cs = comp.GetMember("C"); 1072var c0 = cs[0]; 1080var c1 = cs[1]; 1138var c0 = cs[0]; 1142var c1 = cs[1]; 1200var c0 = cs[0]; 1204var c1 = cs[1]; 1258var c0 = cs[0]; 1265var c1 = cs[1]; 1282var c = comp.GetMember("NS.C"); 1332var c0 = cs[0]; 1336var c1 = cs[1]; 1507var expectedSymbol = cs[0]; 1581var expectedSymbol = cs[0]; 2221var expectedSymbol = fileClassBase.GetMember("M0"); 2260var expectedSymbol = comp.GetMember("Base.M0"); 2999var expectedMember = comp.GetMember("D.M"); 3658var sourceMember = comp.GetMembers("C")[0]; 3668var metadataMember = comp2.GetMembers("C")[0];
Symbols\Source\LocationTests.cs (1)
44private void AssertPos(Symbol sym, int start, int length)
Symbols\Source\MethodTests.cs (4)
972var list = new List<Symbol>(); 1081var list = new List<Symbol>(); 2066var symbol = comp.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMembers(WellKnownMemberNames.UnaryPlusOperatorName).Single(); 2087var symbol = comp.GlobalNamespace.GetMember<NamedTypeSymbol>("C").GetMembers(WellKnownMemberNames.ExplicitConversionName).Single();
Symbols\Source\PropertyTests.cs (4)
399foreach (var m in mems) 418foreach (var m in mems) 600var method = type.GetMembers(accessor.Name).Single(); 1927foreach (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)
16898var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 16980var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 17208var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 17295var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 17389var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 17491var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 21736var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 21948var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 22639foreach (var m01 in compilation1.GlobalNamespace.GetTypeMember("I1").GetMembers()) 22723foreach (var m01 in compilation1.GlobalNamespace.GetTypeMember("I1").GetMembers()) 24844var c2M01Get = c3.FindImplementationForInterfaceMember(m01.GetMethod); 24847var c2M01Set = c3.FindImplementationForInterfaceMember(m01.SetMethod); 25418foreach (var m01 in compilation1.GlobalNamespace.GetTypeMember("I1").GetMembers()) 25506foreach (var m01 in compilation1.GlobalNamespace.GetTypeMember("I1").GetMembers()) 27509var c2M01Add = c3.FindImplementationForInterfaceMember(m01.AddMethod); 27512var c2M01Remove = c3.FindImplementationForInterfaceMember(m01.RemoveMethod); 29671var baseI1M01 = c2.BaseType().FindImplementationForInterfaceMember(m01); 31655var bM1 = b.FindImplementationForInterfaceMember(biMethods[0]); 31659var bM2 = b.FindImplementationForInterfaceMember(biMethods[1]); 31690var dM1 = d.FindImplementationForInterfaceMember(diMethods[0]); 31694var dM2 = d.FindImplementationForInterfaceMember(diMethods[1]); 31753var dM1 = d.FindImplementationForInterfaceMember(diMethods[0]); 31757var dM2 = d.FindImplementationForInterfaceMember(diMethods[1]); 31824var dM1 = d.FindImplementationForInterfaceMember(diMethods[0]); 31828var 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)
1575foreach (var n in ns)
Symbols\TypeTests.cs (9)
467var field1 = classTest.GetMembers("intAryField").Single(); 621foreach (var m in a.GetMembers()) 638var obj = a.GetMembers("field1").Single(); 646var dyn = a.GetMembers("field2").Single(); 680private void CheckField(Symbol symbol, string name, bool isStatic) 928var memSym = typeSym.GetMembers("Main").First(); 1387var iGooGetGoo = comp.GetTypeByMetadataName("Bar+IGoo").GetMembers("GetGoo").Single(); 1505var mem = topType.GetMembers("field01").Single(); 1612var mem = topType.GetMembers("efield").Single();
Symbols\UnsignedRightShiftTests.cs (10)
2707var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2762var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2791var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2822var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, 2855var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2879var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation); 2934var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2963var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, expected); 2994var actualSymbol = CrefTests.GetReferencedSymbol(crefSyntax, compilation, 3027var 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 (64)
CompilationTestUtils.cs (2)
45where TSymbol : Symbol 77internal static void CheckSymbol(Symbol symbol, string description)
CSharpTestBase.cs (7)
1338internal static void VerifyUsesOfNullability(Symbol symbol, ImmutableArray<string> expectedUsesOfNullable) 1340var builder = ArrayBuilder<Symbol>.GetInstance(); 1906Symbol reference = _decoder.GetSymbolForILToken(MetadataTokens.EntityHandle((int)token)); 1907return string.Format("\"{0}\"", (reference is Symbol symbol) ? symbol.ToDisplayString(SymbolDisplayFormat.ILVisualizationFormat) : (object)reference); 1912Symbol symbol; 1920symbol = type as Symbol; 1924symbol = (type as Cci.IReference)?.GetInternalSymbol() as Symbol;
Extensions.cs (21)
165public static Symbol GetMember(this CSharpCompilation compilation, string qualifiedName) 175public static T GetMember<T>(this CSharpCompilation compilation, string qualifiedName) where T : Symbol 185public static ImmutableArray<Symbol> GetMembers(this Compilation compilation, string qualifiedName) 197private static ImmutableArray<Symbol> GetMembers(NamespaceOrTypeSymbol container, string qualifiedName, out NamespaceOrTypeSymbol lastContainer) 243public static Symbol GetMember(this NamespaceOrTypeSymbol container, string qualifiedName) 275public static T GetMember<T>(this NamespaceOrTypeSymbol symbol, string qualifiedName) where T : Symbol 327public static IEnumerable<CSharpAttributeData> GetAttributes(this Symbol @this, NamedTypeSymbol c) 332public static IEnumerable<CSharpAttributeData> GetAttributes(this Symbol @this, string namespaceName, string typeName) 337public static IEnumerable<CSharpAttributeData> GetAttributes(this Symbol @this, AttributeDescription description) 342public static CSharpAttributeData GetAttribute(this Symbol @this, NamedTypeSymbol c) 347public static CSharpAttributeData GetAttribute(this Symbol @this, string namespaceName, string typeName) 352public static CSharpAttributeData GetAttribute(this Symbol @this, MethodSymbol m) 359public static bool HasAttribute(this Symbol @this, MethodSymbol m) 524public static void CheckAccessorShape(this MethodSymbol accessor, Symbol propertyOrEvent) 580internal static void CheckAccessorModifiers(this MethodSymbol accessor, Symbol propertyOrEvent) 600internal static Symbol GetDeclaredSymbolFromSyntaxNode(this CSharpSemanticModel model, Microsoft.CodeAnalysis.SyntaxNode declaration, CancellationToken cancellationToken = default(CancellationToken)) 626return (Symbol)model.GetDeclaredSymbol(declaration, cancellationToken); 691public static string ToTestDisplayString(this Symbol symbol) 842public static DiagnosticInfo GetUseSiteDiagnostic(this Symbol @this) 894public 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();