Binder\Binder.IdentifierUsedAsValueFinder.cs (34)
26protected bool CheckIdentifiersInNode(CSharpSyntaxNode? node, Binder binder)
37Binder enclosingBinder = getEnclosingBinderForNode(contextNode: node, contextBinder: binder, n);
107static Binder getEnclosingBinderForNode(CSharpSyntaxNode contextNode, Binder contextBinder, SyntaxNode targetNode)
111Binder? enclosingBinder = contextBinder.GetBinder(targetNode);
171private bool CheckLambda(AnonymousFunctionExpressionSyntax lambdaSyntax, Binder enclosingBinder)
178private static ExecutableCodeBinder CreateLambdaBodyBinder(Binder enclosingBinder, UnboundLambda unboundLambda)
194private bool CheckIdentifier(Binder enclosingBinder, IdentifierNameSyntax id)
205protected abstract bool CheckAndClearLookupResult(Binder enclosingBinder, IdentifierNameSyntax id, LookupResult lookupResult);
208Binder enclosingBinder,
248/// Follows the logic of <see cref="Binder.BindInstanceMemberAccess"/> and <see cref="Binder.BindMemberOfType"/>
251Binder enclosingBinder,
307/// Follows the logic of <see cref="Binder.BindQuery"/>
309private bool CheckQuery(QueryExpressionSyntax query, Binder enclosingBinder)
335/// Follows the logic of <see cref="Binder.BindQueryInternal2"/>
337private bool BindQueryInternal(Binder enclosingBinder, QueryTranslationState state)
353/// Follows the logic of <see cref="Binder.FinalTranslation"/>
355private bool FinalTranslation(Binder enclosingBinder, QueryTranslationState state)
396/// Follows the logic of <see cref="Binder.ReduceQuery"/>
398private bool ReduceQuery(Binder enclosingBinder, QueryTranslationState state)
419/// Follows the logic of <see cref="Binder.ReduceWhere"/>
421private bool ReduceWhere(Binder enclosingBinder, WhereClauseSyntax where, QueryTranslationState state)
433/// Follows the logic of <see cref="Binder.ReduceJoin"/>
435private bool ReduceJoin(Binder enclosingBinder, JoinClauseSyntax join, QueryTranslationState state)
460/// Follows the logic of <see cref="Binder.ReduceOrderBy"/>
462private bool ReduceOrderBy(Binder enclosingBinder, OrderByClauseSyntax orderby, QueryTranslationState state)
489/// Follows the logic of <see cref="Binder.ReduceFrom"/>
491private bool ReduceFrom(Binder enclosingBinder, FromClauseSyntax from, QueryTranslationState state)
504/// Follows the logic of <see cref="Binder.ReduceLet"/>
506private bool ReduceLet(Binder enclosingBinder, LetClauseSyntax let, QueryTranslationState state)
529private bool MakeQueryUnboundLambda(Binder enclosingBinder, RangeVariableMap qvm, RangeVariableSymbol parameter, ExpressionSyntax expression)
531UnboundLambda unboundLambda = Binder.MakeQueryUnboundLambda(
535(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics) => throw ExceptionUtilities.Unreachable()),
Binder\Binder.QueryUnboundLambdaState.cs (6)
17private delegate BoundBlock LambdaBodyFactory(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics);
25public QueryUnboundLambdaState(Binder binder, RangeVariableMap rangeVariableMap, ImmutableArray<RangeVariableSymbol> parameters, LambdaBodyFactory bodyFactory, bool includeCache = true)
64public override Binder GetWithParametersBinder(LambdaSymbol lambdaSymbol, Binder binder)
79protected override BoundBlock CreateBlockFromLambdaExpressionBody(Binder lambdaBodyBinder, BoundExpression expression, BindingDiagnosticBag diagnostics)
84protected override BoundBlock BindLambdaBody(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics)
Binder\Binder.WithQueryLambdaParametersBinder.cs (3)
26public WithQueryLambdaParametersBinder(LambdaSymbol lambdaSymbol, RangeVariableMap rangeVariableMap, Binder next)
105LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
120internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
Binder\Binder_Attributes.cs (11)
30ImmutableArray<Binder> binders, ImmutableArray<AttributeSyntax> attributesToBind, Symbol ownerSymbol, NamedTypeSymbol[] boundAttributeTypes,
46var binder = binders[i];
73ImmutableArray<Binder> binders,
93Binder binder = binders[i];
144private Binder SkipSemanticModelBinder()
146Binder result = this;
182Binder attributeArgumentBinder = this.WithAdditionalFlags(BinderFlags.AttributeArgument);
849private readonly Binder _binder;
851public AttributeExpressionVisitor(Binder binder)
1027Binder.Error(diagnostics, ErrorCode.ERR_AttrArgWithTypeVars, node.Syntax, typeOfArgument.ToDisplayString(SymbolDisplayFormat.CSharpErrorMessageFormat));
1111Binder.Error(diagnostics, ErrorCode.ERR_BadAttributeArgument, node.Syntax);
Binder\Binder_Lookup.cs (39)
61private Binder LookupSymbolsWithFallback(LookupResult result, string name, int arity, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null, LookupOptions options = LookupOptions.Default)
66var binder = this.LookupSymbolsInternal(result, name, arity, basesBeingResolved, options, diagnose: false, useSiteInfo: ref useSiteInfo);
73var otherBinder = this.LookupSymbolsInternal(result, name, arity, basesBeingResolved, options, diagnose: true, useSiteInfo: ref useSiteInfo);
81private Binder LookupSymbolsInternal(
87Binder binder = null;
88for (var scope = this; scope != null && !result.IsMultiViable; scope = scope.Next)
116LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
164protected void LookupMembersInternal(LookupResult result, NamespaceOrTypeSymbol nsOrType, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
180protected void LookupMembersInType(LookupResult result, TypeSymbol type, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
220private void LookupMembersInErrorType(LookupResult result, ErrorTypeSymbol errorType, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
256LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
400Binder originalBinder,
443private static void LookupMembersInNamespace(LookupResult result, NamespaceSymbol ns, string name, int arity, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
463var binder = scope.Binder;
758Binder originalBinder)
764LookupOptions options, Binder originalBinder, TypeSymbol accessThroughType, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved)
785Binder originalBinder,
800Binder originalBinder,
879Binder originalBinder,
1019Binder originalBinder,
1122Binder originalBinder,
1150private void LookupMembersInInterface(LookupResult current, NamedTypeSymbol type, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1168private void LookupMembersInTypeParameter(LookupResult current, TypeParameterSymbol typeParameter, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1293internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, string name, LookupOptions options, Binder originalBinder)
1317internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, LookupOptions options, Binder originalBinder)
1369for (var binder = this; binder != null; binder = binder.Next)
1831for (var scope = this; scope != null; scope = scope.Next)
1843internal virtual void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo info, LookupOptions options, Binder originalBinder)
1851internal void AddMemberLookupSymbolsInfo(LookupSymbolsInfo result, NamespaceOrTypeSymbol nsOrType, LookupOptions options, Binder originalBinder)
1863private void AddMemberLookupSymbolsInfoInType(LookupSymbolsInfo result, TypeSymbol type, LookupOptions options, Binder originalBinder)
1887protected void AddMemberLookupSymbolsInfoInSubmissions(LookupSymbolsInfo result, TypeSymbol scriptClass, bool inUsings, LookupOptions options, Binder originalBinder)
1919LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
1938static void addAliasSymbolToResult(LookupSymbolsInfo result, AliasSymbol aliasSymbol, LookupOptions options, Binder originalBinder)
1948private static void AddMemberLookupSymbolsInfoInNamespace(LookupSymbolsInfo result, NamespaceSymbol ns, LookupOptions options, Binder originalBinder)
1960private static void AddMemberLookupSymbolsInfoWithoutInheritance(LookupSymbolsInfo result, TypeSymbol type, LookupOptions options, Binder originalBinder, TypeSymbol accessThroughType)
1972private void AddWinRTMembersLookupSymbolsInfo(LookupSymbolsInfo result, NamedTypeSymbol type, LookupOptions options, Binder originalBinder, TypeSymbol accessThroughType)
1987private void AddMemberLookupSymbolsInfoInClass(LookupSymbolsInfo result, TypeSymbol type, LookupOptions options, Binder originalBinder, TypeSymbol accessThroughType)
2018private void AddMemberLookupSymbolsInfoInInterface(LookupSymbolsInfo result, TypeSymbol type, LookupOptions options, Binder originalBinder, TypeSymbol accessThroughType)
2033private void AddMemberLookupSymbolsInfoInTypeParameter(LookupSymbolsInfo result, TypeParameterSymbol type, LookupOptions options, Binder originalBinder)
Binder\Binder_Query.cs (4)
690LambdaBodyFactory bodyFactory = (LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag d) =>
724LambdaBodyFactory bodyFactory = (LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag d) =>
832return MakeQueryUnboundLambda(expression, new QueryUnboundLambdaState(this, qvm, parameters, (LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics) =>
843return MakeQueryUnboundLambda(expression, new QueryUnboundLambdaState(this, qvm, ImmutableArray.Create(parameter), (LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics) =>
Binder\Binder_Statements.cs (34)
171var unsafeBinder = this.GetBinder(node);
189var fixedBinder = this.GetBinder(node);
294var lockBinder = this.GetBinder(node);
299internal virtual BoundStatement BindLockStatementParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
306var usingBinder = this.GetBinder(node);
311internal virtual BoundStatement BindUsingStatementParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
318Binder binder;
473var binder = this.LookupSymbolsWithFallback(result, node.Identifier.ValueText, arity: 0, useSiteInfo: ref useSiteInfo, options: LookupOptions.LabelsOnly);
1861var binder = GetBinder(node);
2640Binder switchBinder = this.GetBinder(node);
2644internal virtual BoundStatement BindSwitchStatementCore(SwitchStatementSyntax node, Binder originalBinder, BindingDiagnosticBag diagnostics)
2658var loopBinder = this.GetBinder(node);
2663internal virtual BoundWhileStatement BindWhileParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
2670var loopBinder = this.GetBinder(node);
2676internal virtual BoundDoStatement BindDoParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
2683var loopBinder = this.GetBinder(node);
2688internal virtual BoundForStatement BindForParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
2781Binder loopBinder = this.GetBinder(node);
2785internal virtual BoundStatement BindForEachParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
2793internal virtual BoundStatement BindForEachDeconstruction(BindingDiagnosticBag diagnostics, Binder originalBinder)
2820private static SwitchBinder GetSwitchBinder(Binder binder)
3127var catchBinder = this.GetBinder(catchSyntax);
3176var filterBinder = this.GetBinder(filter);
3226var binder = GetBinder(node);
3464Binder bodyBinder = this.GetBinder(expressionBody);
3470static BoundBlock bindExpressionBodyAsBlockInternal(ArrowExpressionClauseSyntax expressionBody, Binder bodyBinder, BindingDiagnosticBag diagnostics)
3485Binder bodyBinder = this.GetBinder(body);
3497Binder bodyBinder = this.GetBinder(body);
3585Binder initializerBinder = GetBinder(baseWithArguments);
3619Binder bodyBinder = this.GetBinder(constructor);
3762Binder outerBinder;
3806Binder initializerBinder = outerBinder.WithAdditionalFlagsAndContainingMemberOrLambda(BinderFlags.ConstructorInitializer, constructor);
3839if (Binder.ReportUseSite(baseConstructor, diagnostics, diagnosticsLocation))
3894if (Binder.ReportConstructorUseSiteDiagnostics(diagnosticsLocation, diagnostics, suppressUnsupportedRequiredMembersError: constructor.HasSetsRequiredMembers, constructorUseSiteInfo))
Binder\BinderFactory.BinderFactoryVisitor.cs (83)
20private sealed class BinderFactoryVisitor : CSharpSyntaxVisitor<Binder>
65private ConcurrentCache<BinderCacheKey, Binder> binderCache
81public override Binder DefaultVisit(SyntaxNode parent)
88public override Binder Visit(SyntaxNode node)
94private Binder VisitCore(SyntaxNode node)
99public override Binder VisitGlobalStatement(GlobalStatementSyntax node)
112Binder result;
131public override Binder VisitMethodDeclaration(MethodDeclarationSyntax methodDecl)
156Binder resultBinder;
190public override Binder VisitConstructorDeclaration(ConstructorDeclarationSyntax parent)
202Binder resultBinder;
229public override Binder VisitDestructorDeclaration(DestructorDeclarationSyntax parent)
239Binder resultBinder;
256public override Binder VisitAccessorDeclaration(AccessorDeclarationSyntax parent)
268Binder resultBinder;
319private Binder VisitOperatorOrConversionDeclaration(BaseMethodDeclarationSyntax parent)
331Binder resultBinder;
350public override Binder VisitOperatorDeclaration(OperatorDeclarationSyntax parent)
355public override Binder VisitConversionOperatorDeclaration(ConversionOperatorDeclarationSyntax parent)
360public override Binder VisitFieldDeclaration(FieldDeclarationSyntax parent)
365public override Binder VisitEventDeclaration(EventDeclarationSyntax parent)
370public override Binder VisitEventFieldDeclaration(EventFieldDeclarationSyntax parent)
375public override Binder VisitPropertyDeclaration(PropertyDeclarationSyntax parent)
385public override Binder VisitIndexerDeclaration(IndexerDeclarationSyntax parent)
395private Binder VisitPropertyOrIndexerExpressionBody(BasePropertyDeclarationSyntax parent)
399Binder resultBinder;
417private NamedTypeSymbol GetContainerType(Binder binder, CSharpSyntaxNode node)
442private static string GetMethodName(BaseMethodDeclarationSyntax baseMethodDeclarationSyntax, Binder outerBinder)
469private static string GetPropertyOrEventName(BasePropertyDeclarationSyntax basePropertyDeclarationSyntax, Binder outerBinder)
490private SourceMemberMethodSymbol GetMethodSymbol(BaseMethodDeclarationSyntax baseMethodDeclarationSyntax, Binder outerBinder)
507private SourcePropertySymbol GetPropertySymbol(BasePropertyDeclarationSyntax basePropertyDeclarationSyntax, Binder outerBinder)
526private SourceEventSymbol GetEventSymbol(EventDeclarationSyntax eventDeclarationSyntax, Binder outerBinder)
638public override Binder VisitDelegateDeclaration(DelegateDeclarationSyntax parent)
647Binder resultBinder;
650Binder outer = VisitCore(parent.Parent); // a binder for the body of the enclosing type or namespace
670public override Binder VisitEnumDeclaration(EnumDeclarationSyntax parent)
682Binder resultBinder;
685Binder outer = VisitCore(parent.Parent); // a binder for the body of the type enclosing this type
701private Binder VisitTypeDeclarationCore(TypeDeclarationSyntax parent)
734internal Binder VisitTypeDeclarationCore(TypeDeclarationSyntax parent, NodeUsage extraInfo)
738Binder resultBinder;
780public override Binder VisitClassDeclaration(ClassDeclarationSyntax node)
785public override Binder VisitStructDeclaration(StructDeclarationSyntax node)
790public override Binder VisitInterfaceDeclaration(InterfaceDeclarationSyntax node)
795public override Binder VisitRecordDeclaration(RecordDeclarationSyntax node)
798public sealed override Binder VisitNamespaceDeclaration(NamespaceDeclarationSyntax parent)
814public override Binder VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax parent)
829internal Binder VisitNamespaceDeclaration(BaseNamespaceDeclarationSyntax parent, int position, bool inBody, bool inUsing)
836Binder result;
839Binder outer;
871private static Binder MakeNamespaceBinder(CSharpSyntaxNode node, NameSyntax name, Binder outer, bool inUsing)
907public override Binder VisitCompilationUnit(CompilationUnitSyntax parent)
915internal Binder VisitCompilationUnit(CompilationUnitSyntax compilationUnit, bool inUsing, bool inScript)
927Binder result;
1010private static Binder AddInImportsBinders(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, Binder next, bool inUsing)
1077public override Binder VisitDocumentationCommentTrivia(DocumentationCommentTriviaSyntax parent)
1086public override Binder VisitCrefParameter(CrefParameterSyntax parent)
1095public override Binder VisitConversionOperatorMemberCref(ConversionOperatorMemberCrefSyntax parent)
1106public override Binder VisitXmlCrefAttribute(XmlCrefAttributeSyntax parent)
1117private Binder VisitXmlCrefAttributeInternal(XmlCrefAttributeSyntax parent, NodeUsage extraInfo)
1124Binder result;
1142public override Binder VisitXmlNameAttribute(XmlNameAttributeSyntax parent)
1173Binder result;
1178Binder outerBinder = VisitCore(GetEnclosingDocumentationComment(parent));
1214private Binder GetParameterNameAttributeValueBinder(MemberDeclarationSyntax memberSyntax, Binder nextBinder)
1218Binder outerBinder = VisitCore(memberSyntax.Parent);
1225Binder outerBinder = VisitCore(memberSyntax);
1240Binder outerBinder = VisitCore(memberSyntax.Parent);
1262Binder outerBinder = VisitCore(memberSyntax.Parent);
1281private Binder GetTypeParameterNameAttributeValueBinder(MemberDeclarationSyntax memberSyntax, bool includeContainingSymbols, Binder nextBinder)
1285Binder outerBinder = VisitCore(memberSyntax.Parent);
1299Binder outerBinder = VisitCore(memberSyntax.Parent);
1311Binder outerBinder = VisitCore(memberSyntax.Parent);
1318Binder outerBinder = VisitCore(memberSyntax.Parent);
1346internal static Binder MakeCrefBinder(CrefSyntax crefSyntax, MemberDeclarationSyntax memberSyntax, BinderFactory factory, bool inParameterOrReturnType = false)
1351Binder binder = memberSyntax is BaseTypeDeclarationSyntax typeDeclSyntax
1357Binder getBinder(BaseTypeDeclarationSyntax baseTypeDeclaration)
1371private static Binder MakeCrefBinderInternal(CrefSyntax crefSyntax, Binder binder, bool inParameterOrReturnType)
Binder\BinderFactory.cs (11)
49private readonly ConcurrentCache<BinderCacheKey, Binder> _binderCache;
75_binderCache = new ConcurrentCache<BinderCacheKey, Binder>(50);
107internal Binder GetBinder(SyntaxNode node, CSharpSyntaxNode memberDeclarationOpt = null, Symbol memberOpt = null)
122internal Binder GetBinder(SyntaxNode node, int position, CSharpSyntaxNode memberDeclarationOpt = null, Symbol memberOpt = null)
134Binder result = visitor.Visit(node);
148if (!_binderCache.TryGetValue(key, out Binder resultBinder))
160internal Binder GetInTypeBodyBinder(TypeDeclarationSyntax typeDecl)
164Binder resultBinder = visitor.VisitTypeDeclarationCore(typeDecl, NodeUsage.NamedTypeBodyOrTypeParameters);
170internal Binder GetInNamespaceBinder(CSharpSyntaxNode unit)
179Binder result = visitor.VisitNamespaceDeclaration((BaseNamespaceDeclarationSyntax)unit, unit.SpanStart, inBody: true, inUsing: false);
189Binder result = visitor.VisitCompilationUnit((CompilationUnitSyntax)unit, inUsing: false, inScript: InScript);
Binder\BuckStopsHereBinder.cs (10)
171internal override Binder? GetBinder(SyntaxNode node)
186internal override BoundStatement BindSwitchStatementCore(SwitchStatementSyntax node, Binder originalBinder, BindingDiagnosticBag diagnostics)
192internal override BoundExpression BindSwitchExpressionCore(SwitchExpressionSyntax node, Binder originalBinder, BindingDiagnosticBag diagnostics)
210internal override BoundForStatement BindForParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
216internal override BoundStatement BindForEachParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
222internal override BoundStatement BindForEachDeconstruction(BindingDiagnosticBag diagnostics, Binder originalBinder)
228internal override BoundWhileStatement BindWhileParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
234internal override BoundDoStatement BindDoParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
240internal override BoundStatement BindUsingStatementParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
246internal override BoundStatement BindLockStatementParts(BindingDiagnosticBag diagnostics, Binder originalBinder)
Binder\ExecutableCodeBinder.cs (10)
29private readonly Action<Binder, SyntaxNode> _binderUpdatedHandler;
30private SmallDictionary<SyntaxNode, Binder> _lazyBinderMap;
32internal ExecutableCodeBinder(SyntaxNode root, Symbol memberSymbol, Binder next, Action<Binder, SyntaxNode> binderUpdatedHandler = null)
38internal ExecutableCodeBinder(SyntaxNode root, Symbol memberSymbol, Binder next, BinderFlags additionalFlags)
58internal override Binder GetBinder(SyntaxNode node)
60Binder binder;
66SmallDictionary<SyntaxNode, Binder> map;
83map = SmallDictionary<SyntaxNode, Binder>.Empty;
90private SmallDictionary<SyntaxNode, Binder> BinderMap
Binder\InContainerBinder.cs (4)
28internal InContainerBinder(NamespaceOrTypeSymbol container, Binder next)
80Binder originalBinder)
104LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
131internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
Binder\InMethodBinder.cs (4)
31/// and <see cref="Binder.BindIdentifier"/> to validate some assumptions around identifiers.
40public InMethodBinder(MethodSymbol owner, Binder enclosing)
194LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
228internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
Binder\InSubmissionClassBinder.cs (4)
26internal InSubmissionClassBinder(NamedTypeSymbol submissionClass, Binder next, CompilationUnitSyntax declarationSyntax, bool inUsings)
39Binder originalBinder)
48LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
55internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
Binder\LocalBinderFactory.cs (36)
34private readonly SmallDictionary<SyntaxNode, Binder> _map;
36private Binder _enclosing;
39private void Visit(CSharpSyntaxNode syntax, Binder enclosing)
47Binder oldEnclosing = _enclosing;
54private void VisitRankSpecifiers(TypeSyntax type, Binder enclosing)
71public static SmallDictionary<SyntaxNode, Binder> BuildMap(
74Binder enclosing,
75Action<Binder, SyntaxNode> binderUpdatedHandler = null)
134private LocalBinderFactory(Symbol containingMemberOrLambda, SyntaxNode root, Binder enclosing)
139_map = new SmallDictionary<SyntaxNode, Binder>(ReferenceEqualityComparer.Instance);
155Binder enclosing = new ExpressionVariableBinder(node, _enclosing);
183Binder enclosing = new ExpressionVariableBinder(node, _enclosing).WithAdditionalFlags(BinderFlags.ConstructorInitializer);
217var oldEnclosing = _enclosing;
220Binder? withParametersBinder;
246static Symbol getAttributeTarget(Binder current)
249var contextualAttributeBinder = Binder.TryGetContextualAttributeBinder(current);
255static WithTypeParametersBinder? getExtraWithTypeParametersBinder(Binder enclosing, Symbol target)
260static Binder? getExtraWithParametersBinder(Binder enclosing, Symbol target)
367Binder binder = _enclosing;
397private static LocalFunctionSymbol FindLocalFunction(LocalFunctionStatementSyntax node, Binder enclosing)
403Binder possibleScopeBinder = enclosing;
453var binder = _enclosing.WithAdditionalFlags(BinderFlags.ConstructorInitializer);
458private void VisitConstructorInitializerArgumentList(CSharpSyntaxNode node, ArgumentListSyntax argumentList, Binder binder)
555Binder binder = new ForLoopBinder(_enclosing, node);
624Binder binder = _enclosing.WithCheckedOrUncheckedRegion(@checked: node.Kind() == SyntaxKind.CheckedExpression);
631Binder binder = _enclosing.WithCheckedOrUncheckedRegion(@checked: node.Kind() == SyntaxKind.CheckedStatement);
639Binder binder = _enclosing.WithAdditionalFlags(BinderFlags.UnsafeRegion);
672Binder statementBinder = lockBinder.WithAdditionalFlags(BinderFlags.InLockBody);
801Binder filterBinder = clauseBinder.WithAdditionalFlags(BinderFlags.InCatchFilter);
834Binder finallyBinder;
913private void AddToMap(SyntaxNode node, Binder binder)
927Binder existing;
941private Binder GetBinderForPossibleEmbeddedStatement(StatementSyntax statement, Binder enclosing, out CSharpSyntaxNode embeddedScopeDesignator)
973private void VisitPossibleEmbeddedStatement(StatementSyntax statement, Binder enclosing)
Binder\LocalScopeBinder.cs (10)
22internal LocalScopeBinder(Binder next)
27internal LocalScopeBinder(Binder next, BinderFlags flags)
145protected ImmutableArray<LocalSymbol> BuildLocals(SyntaxList<StatementSyntax> statements, Binder enclosingBinder)
148Binder currentBinder = enclosingBinder;
170internal void BuildLocals(Binder enclosingBinder, StatementSyntax statement, ArrayBuilder<LocalSymbol> locals)
185Binder localDeclarationBinder = enclosingBinder.GetBinder(innerStatement) ?? enclosingBinder;
239Binder statementBinder = enclosingBinder.GetBinder(innerStatement);
285protected SourceLocalSymbol MakeLocal(VariableDeclarationSyntax declaration, VariableDeclaratorSyntax declarator, LocalDeclarationKind kind, bool allowScoped, Binder initializerBinderOpt = null)
376LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
416internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
Binder\NameofBinder.cs (5)
24private readonly Binder? _withParametersBinder;
27internal NameofBinder(SyntaxNode nameofArgument, Binder next, WithTypeParametersBinder? withTypeParametersBinder, Binder? withParametersBinder)
52internal override void LookupSymbolsInSingleBinder(LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
84internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo info, LookupOptions options, Binder originalBinder)
Binder\Semantics\Conversions\Conversions.cs (8)
17private readonly Binder _binder;
19public Conversions(Binder binder)
24private Conversions(Binder binder, int currentRecursionDepth, bool includeNullability, Conversions otherNullabilityOpt)
65Binder.AddUseSiteDiagnosticForSynthesizedAttribute(
86Binder.AddUseSiteDiagnosticForSynthesizedAttribute(
97Binder.AddUseSiteDiagnosticForSynthesizedAttribute(
153private static MethodGroupResolution ResolveDelegateOrFunctionPointerMethodGroup(Binder binder, BoundMethodGroup source, MethodSymbol delegateInvokeMethodOpt, bool isFunctionPointer, in CallingConventionInfo callingConventionInfo, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
197public static bool ReportDelegateOrFunctionPointerMethodGroupDiagnostics(Binder binder, BoundMethodGroup expr, TypeSymbol targetType, BindingDiagnosticBag diagnostics)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (10)
166Binder binder,
554private MethodTypeInferenceResult InferTypeArgs(Binder binder, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
673private bool InferTypeArgsSecondPhase(Binder binder, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
723private InferenceResult DoSecondPhase(Binder binder, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
771private void MakeOutputTypeInferences(Binder binder, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
785private void MakeOutputTypeInferences(Binder binder, BoundExpression argument, TypeWithAnnotations formalType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
804private void MakeOutputTypeInferences(Binder binder, BoundTupleLiteral argument, TypeWithAnnotations formalType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1250private void OutputTypeInference(Binder binder, BoundExpression expression, TypeWithAnnotations target, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1319private bool MethodGroupReturnTypeInference(Binder binder, BoundExpression source, TypeSymbol target, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1386Binder binder, BoundMethodGroup source,
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (7)
189Binder binder,
622Binder binder,
659? Binder.WasImplicitReceiver(receiverOpt) && binder.InFieldInitializer && !binder.BindingTopLevelScriptCode
717Binder binder,
730Binder.ReportQueryInferenceFailed(queryClause, inferenceFailed.Member.Name, receiver, arguments, symbols, diagnostics);
1057Binder binder,
1116Binder binder,
Binder\WithExternAliasesBinder.cs (7)
22internal WithExternAliasesBinder(Binder next)
33LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
50internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
72internal static WithExternAliasesBinder Create(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, Binder next)
77internal static WithExternAliasesBinder Create(ImmutableArray<AliasAndExternAliasDirective> externAliases, Binder next)
88internal FromSyntax(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, Binder next)
114internal FromSymbols(ImmutableArray<AliasAndExternAliasDirective> externAliases, Binder next)
Binder\WithExternAndUsingAliasesBinder.cs (3)
37LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
54internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
93internal static new WithExternAndUsingAliasesBinder Create(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, Binder next)
Binder\WithLambdaParametersBinder.cs (3)
22public WithLambdaParametersBinder(LambdaSymbol lambdaSymbol, Binder enclosing)
87LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
102internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
Binder\WithParametersBinder.cs (3)
24internal WithParametersBinder(ImmutableArray<ParameterSymbol> parameters, Binder next)
31internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
46LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\WithPrimaryConstructorParametersBinder.cs (3)
21internal WithPrimaryConstructorParametersBinder(NamedTypeSymbol type, Binder next)
27internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
64LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\WithUsingNamespacesAndTypesBinder.cs (10)
25protected WithUsingNamespacesAndTypesBinder(Binder next, bool withImportChainEntry)
77Binder originalBinder)
131LookupResult result, string name, int arity, ConsList<TypeSymbol>? basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
139ImmutableArray<Symbol> candidates = Binder.GetCandidateMembers(typeOrNamespace.NamespaceOrType, name, options, originalBinder: originalBinder);
196internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
252internal static WithUsingNamespacesAndTypesBinder Create(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, Binder next, bool withPreviousSubmissionImports = false, bool withImportChainEntry = false)
262internal static WithUsingNamespacesAndTypesBinder Create(ImmutableArray<NamespaceOrTypeAndUsingDirective> namespacesOrTypes, Binder next, bool withImportChainEntry = false)
273internal FromSyntax(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, Binder next, bool withImportChainEntry)
303internal FromSyntaxWithPreviousSubmissionImports(SourceNamespaceSymbol declaringSymbol, CSharpSyntaxNode declarationSyntax, Binder next, bool withImportChainEntry)
338internal FromNamespacesOrTypes(ImmutableArray<NamespaceOrTypeAndUsingDirective> namespacesOrTypes, Binder next, bool withImportChainEntry)
BoundTree\UnboundLambda.cs (19)
82public BoundLambda(SyntaxNode syntax, UnboundLambda unboundLambda, BoundBlock body, ImmutableBindingDiagnostic<AssemblySymbol> diagnostics, Binder binder, TypeSymbol? delegateType, InferredLambdaReturnType inferredReturnType)
186BoundLambda node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions)
193UnboundLambda node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions)
203BoundNode node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions, bool withDependencies)
243Binder binder,
392Binder binder,
465public Binder GetWithParametersBinder(LambdaSymbol lambdaSymbol, Binder binder)
491internal readonly Binder Binder;
505public UnboundLambdaState(Binder binder, bool includeCache)
558protected abstract BoundBlock BindLambdaBody(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics);
569protected abstract BoundBlock CreateBlockFromLambdaExpressionBody(Binder lambdaBodyBinder, BoundExpression expression, BindingDiagnosticBag diagnostics);
743Binder lambdaBodyBinder;
812if (Binder.MethodOrLambdaRequiresValue(lambdaSymbol, this.Binder.Compilation))
1094public virtual Binder GetWithParametersBinder(LambdaSymbol lambdaSymbol, Binder binder)
1403Binder binder,
1544protected override BoundBlock CreateBlockFromLambdaExpressionBody(Binder lambdaBodyBinder, BoundExpression expression, BindingDiagnosticBag diagnostics)
1549protected override BoundBlock BindLambdaBody(LambdaSymbol lambdaSymbol, Binder lambdaBodyBinder, BindingDiagnosticBag diagnostics)
CodeGen\EmitArrayInitializer.cs (5)
455var rosPointerCtor = (MethodSymbol?)Binder.GetWellKnownTypeMember(_module.Compilation, WellKnownMember.System_ReadOnlySpan_T__ctor_Pointer, _diagnostics, syntax: wrappedExpression.Syntax, isOptional: true);
538EmitAddress(inPlaceTarget, Binder.AddressKind.Writeable);
568EmitAddress(inPlaceTarget, Binder.AddressKind.Writeable);
625MethodSymbol? createSpan = (MethodSymbol?)Binder.GetWellKnownTypeMember(_module.Compilation, WellKnownMember.System_Runtime_CompilerServices_RuntimeHelpers__CreateSpanRuntimeFieldHandle, _diagnostics, syntax: wrappedExpression.Syntax, isOptional: true);
645var rosArrayCtor = (MethodSymbol?)Binder.GetWellKnownTypeMember(_module.Compilation, WellKnownMember.System_ReadOnlySpan_T__ctor_Array, _diagnostics, syntax: wrappedExpression.Syntax, isOptional: true);
CodeGen\EmitStatement.cs (9)
21using static Microsoft.CodeAnalysis.CSharp.Binder;
1368var int32Type = Binder.GetSpecialType(_module.Compilation, SpecialType.System_Int32, syntaxNode, _diagnostics);
1393var charType = Binder.GetSpecialType(_module.Compilation, SpecialType.System_Char, syntaxNode, _diagnostics);
1495var UInt32Type = Binder.GetSpecialType(_module.Compilation, SpecialType.System_UInt32, syntaxNode, _diagnostics);
1510var sequenceEqualsTMethod = (MethodSymbol)Binder.GetWellKnownTypeMember(_module.Compilation,
1516var sequenceEqualsCharMethod = sequenceEqualsTMethod.Construct(Binder.GetSpecialType(_module.Compilation, SpecialType.System_Char, syntaxNode, _diagnostics));
1519var asSpanMethod = (MethodSymbol)Binder.GetWellKnownTypeMember(_module.Compilation, WellKnownMember.System_MemoryExtensions__AsSpan_String, _diagnostics, syntax: syntaxNode);
1605var spanTLengthMethod = (MethodSymbol)Binder.GetWellKnownTypeMember(_module.Compilation,
1629var spanTIndexerMethod = (MethodSymbol)Binder.GetWellKnownTypeMember(_module.Compilation,
Compilation\AttributeSemanticModel.cs (6)
26Binder rootBinder,
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)
85internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
104Binder binder,
113protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\CSharpSemanticModel.cs (49)
167internal abstract BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols);
202internal Binder GetSpeculativeBinder(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption)
216Binder binder = this.GetEnclosingBinder(position);
238private Binder GetSpeculativeBinderForAttribute(int position, AttributeSyntax attribute)
242var binder = this.GetEnclosingBinder(position);
251private static BoundExpression GetSpeculativelyBoundExpressionHelper(Binder binder, ExpressionSyntax expression, SpeculativeBindingOption bindingOption)
279protected BoundExpression GetSpeculativelyBoundExpressionWithoutNullability(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
324internal static ImmutableArray<Symbol> BindCref(CrefSyntax crefSyntax, Binder binder)
333var binder = this.GetEnclosingBinder(position);
399private BoundAttribute GetSpeculativelyBoundAttribute(int position, AttributeSyntax attribute, out Binder binder)
720Binder binder;
751Binder binder;
807var binder = memberModel.GetEnclosingBinder(position);
822private static SymbolInfo GetSymbolInfoFromBoundConstructorInitializer(MemberSemanticModel memberModel, Binder binder, BoundExpressionStatement bnode)
880var binder = memberModel.GetEnclosingBinder(LookupPosition.IsBetweenTokens(position, argumentList.OpenParenToken, argumentList.CloseParenToken) ? position : argumentList.OpenParenToken.SpanStart);
1197Binder binder;
1217internal Binder GetEnclosingBinder(int position)
1219Binder result = GetEnclosingBinderInternal(position);
1224internal abstract Binder GetEnclosingBinderInternal(int position);
1582var binder = GetEnclosingBinder(position);
1687private void AppendSymbolsWithName(ArrayBuilder<ISymbol> results, string name, Binder binder, NamespaceOrTypeSymbol container, LookupOptions options, LookupSymbolsInfo info)
1724Binder binder,
1843var binder = this.GetEnclosingBinder(position);
1892Binder binderOpt)
2206var binder = this.GetEnclosingBinder(boundExpr.Syntax.Span.Start);
2274Binder binderOpt)
2295Binder binderOpt)
2386internal virtual BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
2757var binder = GetSpeculativeBinderForAttribute(position, attribute);
2844var binder = this.GetEnclosingBinder(position);
2896var binder = this.GetEnclosingBinder(position);
3259Binder enclosingBinder = this.GetEnclosingBinder(GetAdjustedNodePosition(forEachStatement));
3266Binder foreachBinder = enclosingBinder.GetBinder(forEachStatement);
3297Binder enclosingBinder = this.GetEnclosingBinder(GetAdjustedNodePosition(catchClause));
3304Binder catchBinder = enclosingBinder.GetBinder(catchClause);
3337Binder binderOpt,
3670Binder binder = binderOpt ?? GetEnclosingBinder(GetAdjustedNodePosition(boundNode.Syntax));
3952Binder binderOpt,
4005Binder binderOpt,
4020Binder binder = binderOpt ?? GetEnclosingBinder(GetAdjustedNodePosition(lowestBoundNode.Syntax));
4069private ImmutableArray<IPropertySymbol> GetIndexerGroupSemanticSymbols(BoundExpression boundNode, Binder binderOpt)
4080Binder binder = binderOpt ?? GetEnclosingBinder(GetAdjustedNodePosition(boundNode.Syntax));
4220Binder binderOpt,
4238Binder binder = binderOpt ?? GetEnclosingBinder(GetAdjustedNodePosition(boundNode.Syntax));
4366Binder binderOpt,
4539internal static ImmutableArray<MethodSymbol> GetReducedAndFilteredMethodGroupSymbols(Binder binder, BoundMethodGroup node)
4607var otherBinder = scope.Binder;
4885var binder = GetEnclosingBinder(position);
5317var binder = GetEnclosingBinder(position);
Compilation\InitializerSemanticModel.cs (10)
28Binder rootBinder,
39internal static InitializerSemanticModel Create(SyntaxTreeSemanticModel containingSemanticModel, CSharpSyntaxNode syntax, FieldSymbol fieldSymbol, Binder rootBinder)
49internal static InitializerSemanticModel Create(SyntaxTreeSemanticModel containingSemanticModel, CSharpSyntaxNode syntax, PropertySymbol propertySymbol, Binder rootBinder)
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)
111internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
146private BoundEqualsValue BindEqualsValue(Binder binder, EqualsValueClauseSyntax equalsValue, BindingDiagnosticBag diagnostics)
205var binder = this.GetEnclosingBinder(position);
255Binder binder,
266protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\MemberSemanticModel.cs (38)
38internal readonly Binder RootBinder;
47Binder rootBinder,
163var binder = this.GetSpeculativeBinder(position, expression, bindingOption);
181internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
204private Binder GetEnclosingBinderInternalWithinRoot(SyntaxNode node, int position)
210private static Binder GetEnclosingBinderInternalWithinRoot(SyntaxNode node, int position, Binder rootBinder, SyntaxNode root)
222Binder binder = null;
375private static Binder AdjustBinderForPositionWithinStatement(int position, Binder binder, StatementSyntax stmt)
463var binder = this.GetEnclosingBinderInternal(expression, GetAdjustedNodePosition(expression));
487var binder = this.GetEnclosingBinderInternal(expression, GetAdjustedNodePosition(expression));
684for (var binder = this.GetEnclosingBinder(GetAdjustedNodePosition(declarationSyntax)); binder != null; binder = binder.Next)
725private static LocalFunctionSymbol GetDeclaredLocalFunction(Binder enclosingBinder, SyntaxToken declaredIdentifier)
727for (var binder = enclosingBinder; binder != null; binder = binder.Next)
745var binder = this.GetEnclosingBinder(GetAdjustedNodePosition(declarationSyntax));
771var binder = this.GetEnclosingBinder(GetAdjustedNodePosition(declarationSyntax));
1565internal override Binder GetEnclosingBinderInternal(int position)
1584private Binder GetEnclosingBinderInternal(CSharpSyntaxNode node, int position)
1639Binder lambdaRecoveryBinder;
1679Binder incrementalBinder = new IncrementalBinder(this, lambdaRecoveryBinder);
1729private Binder GetEnclosingBinderInLambdaOrQuery(int position, CSharpSyntaxNode node, CSharpSyntaxNode innerLambdaOrQuery, ref BoundNode boundInnerLambdaOrQuery)
1732Binder result;
1756private static Binder GetQueryEnclosingBinder(int position, CSharpSyntaxNode startingNode, BoundQueryClause queryClause)
1888private static Binder GetLambdaEnclosingBinder(int position, CSharpSyntaxNode startingNode, CSharpSyntaxNode containingLambda, Binder lambdaBinder)
1939Binder binder;
1963BoundNode bind(CSharpSyntaxNode root, out Binder binder)
1988private Binder GetBinderToBindNode(CSharpSyntaxNode nodeToBind)
1990Binder binder;
2019Binder binder,
2031protected abstract void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots);
2082var statementBinder = GetBinderToBindNode(nodeToBind);
2083Binder incrementalBinder = new IncrementalBinder(this, statementBinder);
2103var binder = GetBinderToBindNode(node);
2359internal IncrementalBinder(MemberSemanticModel semanticModel, Binder next)
2369internal override Binder GetBinder(SyntaxNode node)
2371Binder binder = this.Next.GetBinder(node);
Compilation\MethodBodySemanticModel.cs (18)
26internal readonly Binder? Binder;
33Binder? binder = null,
48Binder rootBinder,
77internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
117Binder rootBinder,
129Binder rootBinder,
140internal static SpeculativeSemanticModelWithMemberModel CreateSpeculative(SyntaxTreeSemanticModel parentSemanticModel, MethodSymbol owner, ArrowExpressionClauseSyntax syntax, Binder rootBinder, int position)
148internal static SpeculativeSemanticModelWithMemberModel CreateSpeculative(SyntaxTreeSemanticModel parentSemanticModel, MethodSymbol owner, ConstructorInitializerSyntax syntax, Binder rootBinder, int position)
156internal static SpeculativeSemanticModelWithMemberModel CreateSpeculative(SyntaxTreeSemanticModel parentSemanticModel, MethodSymbol owner, PrimaryConstructorBaseTypeSyntax syntax, Binder rootBinder, int position)
174Binder binder = this.RootBinder;
190Binder executablebinder = new WithNullableContextBinder(SyntaxTree, position, binder ?? this.RootBinder);
192var blockBinder = executablebinder.GetBinder(body).WithAdditionalFlags(GetSemanticModelBinderFlags());
208var binder = this.GetEnclosingBinder(position);
226var binder = this.GetEnclosingBinder(position);
246var binder = this.GetEnclosingBinder(position);
268var binder = this.GetEnclosingBinder(position);
291Binder binder,
301protected override void AnalyzeBoundNodeNullability(BoundNode boundRoot, Binder binder, DiagnosticBag diagnostics, bool createSnapshots)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (7)
46Binder rootBinder,
75Binder rootBinder,
91Binder rootBinder,
104Binder rootBinder,
491internal override Binder GetEnclosingBinderInternal(int position)
511internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
561internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
Compilation\SpeculativeSyntaxTreeSemanticModel.cs (7)
23private readonly Binder _rootBinder;
27public static SpeculativeSyntaxTreeSemanticModel Create(SyntaxTreeSemanticModel parentSemanticModel, TypeSyntax root, Binder rootBinder, int position, SpeculativeBindingOption bindingOption)
32public static SpeculativeSyntaxTreeSemanticModel Create(SyntaxTreeSemanticModel parentSemanticModel, CrefSyntax root, Binder rootBinder, int position)
37private static SpeculativeSyntaxTreeSemanticModel CreateCore(SyntaxTreeSemanticModel parentSemanticModel, CSharpSyntaxNode root, Binder rootBinder, int position, SpeculativeBindingOption bindingOption)
49private SpeculativeSyntaxTreeSemanticModel(SyntaxTreeSemanticModel parentSemanticModel, CSharpSyntaxNode root, Binder rootBinder, int position, SpeculativeBindingOption bindingOption)
91internal override BoundNode Bind(Binder binder, CSharpSyntaxNode node, BindingDiagnosticBag diagnostics)
96internal override Binder GetEnclosingBinderInternal(int position)
Compilation\SyntaxTreeSemanticModel.cs (14)
144internal override Binder GetEnclosingBinderInternal(int position)
221var binder = this.GetEnclosingBinder(GetAdjustedNodePosition(node));
247var binder = this.GetEnclosingBinder(GetAdjustedNodePosition(node));
330var binder = this.GetEnclosingBinder(GetAdjustedNodePosition(node));
600Binder binder = GetSpeculativeBinder(position, type, bindingOption);
615Binder binder = GetEnclosingBinder(position);
734internal override BoundExpression GetSpeculativelyBoundExpression(int position, ExpressionSyntax expression, SpeculativeBindingOption bindingOption, out Binder binder, out ImmutableArray<Symbol> crefSymbols)
756internal PublicSemanticModel CreateSpeculativeAttributeSemanticModel(int position, AttributeSyntax attribute, Binder binder, AliasSymbol aliasOpt, NamedTypeSymbol attributeType)
1068Binder defaultOuter() => _binderFactory.GetBinder(node).WithAdditionalFlags(this.IgnoresAccessibility ? BinderFlags.IgnoreAccessibility : BinderFlags.None);
1282private Binder GetFieldOrPropertyInitializerBinder(FieldSymbol symbol, Binder outer, EqualsValueClauseSyntax initializer)
1853Binder binder = GetEnclosingBinder(declarationSyntax.Position);
1913Binder binder = _binderFactory.GetInNamespaceBinder(declarationSyntax.Parent);
1946var binder = _binderFactory.GetInNamespaceBinder(declarationSyntax.Parent);
Compiler\DocumentationCommentCompiler.IncludeElementExpander.cs (4)
516Binder binder = BinderFactory.MakeCrefBinder(crefSyntax, memberDeclSyntax, _compilation.GetBinderFactory(memberDeclSyntax.SyntaxTree));
539Binder binder = MakeNameBinder(isParameter, isTypeParameterRef, _memberSymbol, _compilation, originatingSyntax.SyntaxTree);
547private static Binder MakeNameBinder(bool isParameter, bool isTypeParameterRef, Symbol memberSymbol, CSharpCompilation compilation, SyntaxTree syntaxTree)
549Binder binder = new BuckStopsHereBinder(compilation, FileIdentifier.Create(syntaxTree));
Compiler\MethodCompiler.cs (13)
462var processedStaticInitializers = new Binder.ProcessedFieldInitializers();
463var processedInstanceInitializers = new Binder.ProcessedFieldInitializers();
470Binder.BindFieldInitializers(_compilation, scriptInitializer, sourceTypeSymbol.StaticInitializers, _diagnostics, ref processedStaticInitializers);
473Binder.BindFieldInitializers(_compilation, scriptInitializer, sourceTypeSymbol.InstanceInitializers, _diagnostics, ref processedInstanceInitializers);
520Binder.ProcessedFieldInitializers processedInitializers =
523default(Binder.ProcessedFieldInitializers);
582var processedInitializers = default(Binder.ProcessedFieldInitializers);
637var processedInitializers = new Binder.ProcessedFieldInitializers() { BoundInitializers = ImmutableArray<BoundInitializer>.Empty };
939ref Binder.ProcessedFieldInitializers processedInitializers,
1816Binder bodyBinder = sourceMethod.TryGetBodyBinder();
2015CSharpSyntaxNode syntaxNode, Binder bodyBinder,
2027Binder current = bodyBinder;
2279var initializerInvocation = Binder.BindImplicitConstructorInitializer(method, diagnostics, compilation);
Emitter\Model\PEAssemblyBuilder.cs (5)
551Binder.ReportUseSite(result, diagnostics, Location.None);
558Binder.ReportUseSite(result, diagnostics, Location.None);
565Binder.GetWellKnownTypeMember(compilation, WellKnownMember.System_AttributeUsageAttribute__ctor, diagnostics, Location.None);
566Binder.GetWellKnownTypeMember(compilation, WellKnownMember.System_AttributeUsageAttribute__AllowMultiple, diagnostics, Location.None);
567Binder.GetWellKnownTypeMember(compilation, WellKnownMember.System_AttributeUsageAttribute__Inherited, diagnostics, Location.None);
FlowAnalysis\NullableWalker.cs (14)
147private readonly Binder _binder;
422Binder binder,
1331var binder = method is SynthesizedSimpleProgramEntryPointSymbol entryPoint ?
1361Binder.ProcessedFieldInitializers discardedInitializers = default;
1362Binder.BindFieldInitializers(compilation, null, method.IsStatic ? containingType.StaticInitializers : containingType.InstanceInitializers, BindingDiagnosticBag.Discarded, ref discardedInitializers);
1427Binder binder,
1442Binder binder,
1458Binder binder,
1516Binder binder,
1593Binder binder,
1673Binder binder,
4296Binder binder,
6093var nameSyntax = Binder.GetNameSyntax(syntax, out _);
6997var parameter = Binder.GetCorrespondingParameter(argumentOrdinal, parametersOpt, argsToParamsOpt, expanded);
Generated\BoundNodes.xml.Generated.cs (9)
6169public BoundUnconvertedObjectCreationExpression(SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<(string Name, Location Location)?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, InitializerExpressionSyntax? initializerOpt, Binder binder, bool hasErrors = false)
6188public Binder Binder { get; }
6193public BoundUnconvertedObjectCreationExpression Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<(string Name, Location Location)?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, InitializerExpressionSyntax? initializerOpt, Binder binder)
7274public BoundLambda(SyntaxNode syntax, UnboundLambda unboundLambda, LambdaSymbol symbol, BoundBlock body, ImmutableBindingDiagnostic<AssemblySymbol> diagnostics, Binder binder, TypeSymbol? type, bool hasErrors = false)
7295public Binder Binder { get; }
7300public BoundLambda Update(UnboundLambda unboundLambda, LambdaSymbol symbol, BoundBlock body, ImmutableBindingDiagnostic<AssemblySymbol> diagnostics, Binder binder, TypeSymbol? type)
7358public BoundQueryClause(SyntaxNode syntax, BoundExpression value, RangeVariableSymbol? definedSymbol, BoundExpression? operation, BoundExpression? cast, Binder binder, BoundExpression? unoptimizedForm, TypeSymbol type, bool hasErrors = false)
7379public Binder Binder { get; }
7385public BoundQueryClause Update(BoundExpression value, RangeVariableSymbol? definedSymbol, BoundExpression? operation, BoundExpression? cast, Binder binder, BoundExpression? unoptimizedForm, TypeSymbol type)
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
267Binder.ReportDiagnosticsIfObsolete(_diagnostics, node.EventSymbol.AssociatedField, node.Syntax, hasBaseReceiver, _containingSymbol, _containingSymbol.ContainingType, BinderFlags.None);
281Binder.ReportDiagnosticsIfObsolete(_diagnostics, node.Event, ((AssignmentExpressionSyntax)node.Syntax).Left, hasBaseReceiver, _containingSymbol, _containingSymbol.ContainingType, BinderFlags.None);
Lowering\IteratorRewriter\IteratorRewriter.cs (3)
142Binder.TryGetSpecialTypeMember(F.Compilation, member, body.Syntax, bag, out symbol);
148Binder.GetSpecialType(F.Compilation, type, body.Syntax, bag);
162Binder.Error(bag, ErrorCode.ERR_PropertyLacksGet, body.Syntax, symbol);
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (10)
41ArrayBuilder<Binder.DeconstructionVariable> lhsTargets = GetAssignmentTargetsAndSideEffects(left, lhsTemps, lhsEffects);
44Binder.DeconstructionVariable.FreeDeconstructionVariables(lhsTargets);
56ArrayBuilder<Binder.DeconstructionVariable> lhsTargets,
152static bool canReorderTargetAssignments(ArrayBuilder<Binder.DeconstructionVariable> targets, ref PooledHashSet<Symbol>? visitedSymbols)
211ArrayBuilder<Binder.DeconstructionVariable> leftTargets,
443private ArrayBuilder<Binder.DeconstructionVariable> GetAssignmentTargetsAndSideEffects(BoundTupleExpression variables, ArrayBuilder<LocalSymbol> temps, ArrayBuilder<BoundExpression> effects)
445var assignmentTargets = ArrayBuilder<Binder.DeconstructionVariable>.GetInstance(variables.Arguments.Length);
452assignmentTargets.Add(new Binder.DeconstructionVariable(variable, variable.Syntax));
458assignmentTargets.Add(new Binder.DeconstructionVariable(GetAssignmentTargetsAndSideEffects(tuple, temps, effects), tuple.Syntax));
465assignmentTargets.Add(new Binder.DeconstructionVariable(temp, variable.Syntax));
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (3)
235disposeMethod = (MethodSymbol)Binder.GetWellKnownTypeMember(_compilation, WellKnownMember.System_IAsyncDisposable__DisposeAsync, _diagnostics, syntax: forEachSyntax);
239return Binder.TryGetSpecialTypeMember(_compilation, SpecialMember.System_IDisposable__Dispose, forEachSyntax, _diagnostics, out disposeMethod);
280Binder.ReportDiagnosticsIfObsolete(_diagnostics, disposeMethod, forEachSyntax,
Lowering\SyntheticBoundNodeFactory.cs (12)
95private Binder? _binder;
308Binder.ReportUseSite(propertySym, Diagnostics, Syntax);
338Binder.ReportUseSite(specialType, Diagnostics, Syntax);
350Binder.ReportUseSite(wellKnownType, Diagnostics, Syntax);
364Symbol? wellKnownMember = Binder.GetWellKnownTypeMember(Compilation, wm, Diagnostics, syntax: Syntax, isOptional: true);
407Binder.ReportUseSite(specialMember, Diagnostics, Syntax);
773Binder.ReportUseSite(methodSymbol, Diagnostics, Syntax);
781Binder.ReportUseSite(methodSymbol, Diagnostics, Syntax);
1146return Throw(Null(Binder.GetWellKnownType(Compilation, Microsoft.CodeAnalysis.WellKnownType.System_Exception, Diagnostics, Syntax.Location)));
1213return new BoundSizeOfOperator(Syntax, Type(type), Binder.GetConstantSizeOf(type), SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Int32)) { WasCompilerGenerated = true };
1531if (!Binder.HasHome(argument,
1532Binder.AddressKind.ReadOnly,
Symbols\Compilation_WellKnownMembers.cs (5)
391var ctorSymbol = (MethodSymbol)Binder.GetWellKnownTypeMember(this, constructor, useSiteInfo: out _, isOptional: true);
415var wellKnownMember = Binder.GetWellKnownTypeMember(this, arg.Key, useSiteInfo: out _, isOptional: true);
647var errorReported = Binder.ReportUseSite(userDefinedAttribute, diagnosticsOpt, locationOpt);
659var member = Binder.GetWellKnownTypeMember(this, attributeCtor,
663Binder.GetWellKnownTypeMember(this, secondAttributeCtor.Value, diagnosticsOpt, locationOpt);
Symbols\Source\ParameterHelpers.cs (16)
20Binder withTypeParametersBinder,
40parameterCreationFunc: (Binder context, Symbol owner, TypeWithAnnotations parameterType,
63Binder binder,
80parameterCreationFunc: (Binder binder, FunctionPointerMethodSymbol owner, TypeWithAnnotations parameterType,
112Binder withTypeParametersBinder,
122Func<Binder, TOwningSymbol, TypeWithAnnotations, TParameterSyntax, RefKind, int, SyntaxToken, SyntaxToken, bool, ScopedKind, BindingDiagnosticBag, TParameterSymbol> parameterCreationFunc,
418Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureExtensionMethod, diagnostics);
422Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
450Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
539Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureReadOnlyReferences, diagnostics);
543Binder.CheckFeatureAvailability(modifier, MessageID.IDS_FeatureRefExtensionMethods, diagnostics);
681Binder binder,
947internal static ImmutableArray<CustomModifier> ConditionallyCreateInModifiers(RefKind refKind, bool addRefReadOnlyModifier, Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
959internal static ImmutableArray<CustomModifier> CreateInModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
964internal static ImmutableArray<CustomModifier> CreateOutModifiers(Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
969private static ImmutableArray<CustomModifier> CreateModifiers(WellKnownType modifier, Binder binder, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
Symbols\Source\SourceComplexParameterSymbol.cs (10)
76private Binder WithTypeParametersBinderOpt => (ContainingSymbol as SourceMethodSymbolWithAttributes)?.WithTypeParametersBinder;
231MakeDefaultExpression(BindingDiagnosticBag.Discarded, out var _, out var parameterEqualsValue);
245MakeDefaultExpression(diagnostics, out var binder, out var parameterEqualsValue),
267Binder.ReportUseSiteDiagnosticForSynthesizedAttribute(DeclaringCompilation,
287private Binder GetDefaultParameterValueBinder(SyntaxNode syntax)
289var binder = WithTypeParametersBinderOpt;
330var binder = GetDefaultParameterValueBinder(parameterSyntax);
353private ConstantValue MakeDefaultExpression(BindingDiagnosticBag diagnostics, out Binder? binder, out BoundParameterEqualsValue? parameterEqualsValue)
373Binder binderForDefault = binder.CreateBinderForParameterDefaultValue(this, defaultSyntax);
399valueBeforeConversion, diagnostics, Binder.ConversionForAssignmentFlags.DefaultParameter);
Symbols\Source\SourceLocalSymbol.cs (23)
23private readonly Binder _scopeBinder;
41Binder scopeBinder,
78/// Binder that owns the scope for the local, the one that returns it in its <see cref="Binder.Locals"/> array.
80internal Binder ScopeBinder
95internal Binder TypeSyntaxBinder
125/// Binder that owns the scope for the local, the one that returns it in its <see cref="Binder.Locals"/> array.
138Binder scopeBinder,
139Binder nodeBinder,
158Binder scopeBinder,
159Binder nodeBinder,
189/// Binder that owns the scope for the local, the one that returns it in its <see cref="Binder.Locals"/> array.
203Binder scopeBinder,
210Binder initializerBinderOpt = null)
345Binder typeBinder = this.TypeSyntaxBinder;
516private readonly Binder _initializerBinder;
527Binder scopeBinder,
531Binder initializerBinder,
647private readonly Binder _nodeBinder;
651Binder scopeBinder,
652Binder nodeBinder,
710private readonly Binder _nodeBinder;
715Binder scopeBinder,
716Binder nodeBinder,
Symbols\Source\SourceMemberContainerSymbol.cs (9)
1335Binder.CheckFeatureAvailability(t.DeclaringSyntaxReferences[0].GetSyntax(), MessageID.IDS_DefaultInterfaceImplementation, diagnostics, t.Locations[0]);
1755Binder.ReportMissingTupleElementNamesAttributesIfNeeded(compilation, location, diagnostics);
2509_ = Binder.GetWellKnownTypeMember(DeclaringCompilation, WellKnownMember.System_Runtime_CompilerServices_RequiredMemberAttribute__ctor, diagnostics, Locations[0]);
2514_ = Binder.GetWellKnownTypeMember(DeclaringCompilation, WellKnownMember.System_Runtime_CompilerServices_CompilerFeatureRequiredAttribute__ctor, diagnostics, Locations[0]);
2519_ = Binder.GetWellKnownTypeMember(DeclaringCompilation, WellKnownMember.System_Diagnostics_CodeAnalysis_SetsRequiredMembersAttribute__ctor, diagnostics, Locations[0]);
3180Binder.Error(diagnostics, ErrorCode.ERR_SimpleProgramMultipleUnitsWithTopLevelStatements, singleDecl.NameLocation);
3446internal Binder GetBinder(CSharpSyntaxNode syntaxNode)
4284Binder.CheckFeatureAvailability(syntax, MessageID.IDS_FeaturePositionalFieldsInRecords, diagnostics);
4627var bodyBinder = this.GetBinder(firstMember);
Symbols\Source\SourcePropertySymbol.cs (10)
16internal static SourcePropertySymbol Create(SourceMemberContainerTypeSymbol containingType, Binder bodyBinder, PropertyDeclarationSyntax syntax, BindingDiagnosticBag diagnostics)
23internal static SourcePropertySymbol Create(SourceMemberContainerTypeSymbol containingType, Binder bodyBinder, IndexerDeclarationSyntax syntax, BindingDiagnosticBag diagnostics)
31Binder binder,
122Binder.CheckFeatureAvailability(
426private Binder CreateBinderForTypeAndParameters()
432var binder = binderFactory.GetBinder(syntax, syntax, this);
440Binder binder = CreateBinderForTypeAndParameters();
446private TypeWithAnnotations ComputeType(Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
485Binder binder, SourcePropertySymbolBase owner, BaseParameterListSyntax? parameterSyntaxOpt, BindingDiagnosticBag diagnostics, bool addRefReadOnlyModifier)
525private ImmutableArray<ParameterSymbol> ComputeParameters(Binder binder, CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics)
Symbols\Symbol_Attributes.cs (18)
295Binder? binderOpt = null,
303ImmutableArray<Binder> binders;
326Binder.BindAttributeTypes(binders, attributesToBind, this, attributeTypesBuilder, beforeAttributePartBound, afterAttributePartBound, diagnostics);
364Binder.GetAttributes(binders, attributesToBind, boundAttributeTypes, attributeDataArray, boundAttributeArray, beforeAttributePartBound, afterAttributePartBound, diagnostics);
525protected ImmutableArray<(CSharpAttributeData, BoundAttribute)> BindAttributes(OneOrMany<SyntaxList<AttributeListSyntax>> attributeDeclarations, Binder? rootBinder)
530var binder = GetAttributeBinder(attributeListSyntaxList, DeclaringCompilation, rootBinder);
575Binder rootBinderOpt,
576out ImmutableArray<Binder> binders)
581ArrayBuilder<Binder> bindersBuilder = null;
598bindersBuilder = new ArrayBuilder<Binder>();
625var binder = GetAttributeBinder(attributeDeclarationSyntaxList, compilation, rootBinderOpt);
642binders = ImmutableArray<Binder>.Empty;
648private Binder GetAttributeBinder(SyntaxList<AttributeListSyntax> attributeDeclarationSyntaxList, CSharpCompilation compilation, Binder? rootBinder = null)
650var binder = rootBinder ?? compilation.GetBinderFactory(attributeDeclarationSyntaxList.Node!.SyntaxTree).GetBinder(attributeDeclarationSyntaxList.Node);
745ImmutableArray<Binder> binders,
817ImmutableArray<Binder> binders,
840Binder binder = binders[i];
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (7)
41_returnType = Binder.GetWellKnownType(compilation, WellKnownType.System_Threading_Tasks_Task, diagnostics, NoLocation.Singleton);
44_returnType = Binder.GetSpecialType(compilation, SpecialType.System_Void, NoLocation.Singleton, diagnostics);
47_returnType = Binder.GetWellKnownType(compilation, WellKnownType.System_Threading_Tasks_Task_T, diagnostics, NoLocation.Singleton).
48Construct(Binder.GetSpecialType(compilation, SpecialType.System_Int32, NoLocation.Singleton, diagnostics));
51_returnType = Binder.GetSpecialType(compilation, SpecialType.System_Int32, NoLocation.Singleton, diagnostics);
67TypeWithAnnotations.Create(Binder.GetSpecialType(compilation, SpecialType.System_String, NoLocation.Singleton, diagnostics)))), 0, RefKind.None, "args"));
223Binder result = new BuckStopsHereBinder(compilation, FileIdentifier.Create(syntaxNode.SyntaxTree));
Symbols\Tuples\TupleTypeSymbol.cs (3)
260Binder.ReportUseSite(firstTupleType, diagnostics, syntax);
261Binder.ReportDiagnosticsIfObsoleteInternal(diagnostics, firstTupleType, syntax, firstTupleType.ContainingType, BinderFlags.None);
500Binder.Error(diagnostics, ErrorCode.ERR_PredefinedTypeMemberNotFoundInAssembly, syntax, relativeDescriptor.Name, type, type.ContainingAssembly);
Symbols\TypeWithAnnotations.cs (5)
511public void ReportDiagnosticsIfObsolete(Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics) =>
519private void ReportDiagnosticsIfObsoleteCore(Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
851internal abstract void ReportDiagnosticsIfObsolete(TypeWithAnnotations type, Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics);
912internal override void ReportDiagnosticsIfObsolete(TypeWithAnnotations type, Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
1041internal override void ReportDiagnosticsIfObsolete(TypeWithAnnotations type, Binder binder, SyntaxNode syntax, BindingDiagnosticBag diagnostics)