8 overrides of ContainingMemberOrLambda
Microsoft.CodeAnalysis.CSharp (8)
Binder\Binder_Flags.cs (1)
36internal override Symbol ContainingMemberOrLambda
Binder\BuckStopsHereBinder.cs (1)
158internal override Symbol? ContainingMemberOrLambda
Binder\ExecutableCodeBinder.cs (1)
48internal override Symbol ContainingMemberOrLambda
Binder\InContainerBinder.cs (1)
43internal override Symbol ContainingMemberOrLambda
Binder\InMethodBinder.cs (1)
72internal override Symbol ContainingMemberOrLambda
Binder\ScriptLocalScopeBinder.cs (1)
24internal override Symbol ContainingMemberOrLambda
Binder\WithLambdaParametersBinder.cs (1)
53internal override Symbol ContainingMemberOrLambda
Binder\WithMethodTypeParametersBinder.cs (1)
30internal override Symbol ContainingMemberOrLambda
121 references to ContainingMemberOrLambda
Microsoft.CodeAnalysis.CSharp (119)
Binder\Binder.cs (6)
245return Next.ContainingMemberOrLambda; 426var member = this.ContainingMemberOrLambda; 444var containingMember = this.ContainingMemberOrLambda; 611ReportDiagnosticsIfObsolete(diagnostics, symbol, node, hasBaseReceiver, this.ContainingMemberOrLambda, this.ContainingType, this.Flags); 930var currentContainer = scope.ContainingMemberOrLambda; 931if (currentContainer != null && currentContainer != scope.Next?.ContainingMemberOrLambda)
Binder\Binder.IdentifierUsedAsValueFinder.cs (1)
184enclosingBinder.ContainingMemberOrLambda!,
Binder\Binder.QueryTranslationState.cs (2)
75var result = new RangeVariableSymbol(name, binder.ContainingMemberOrLambda, identifier.GetLocation()); 120return new RangeVariableSymbol(transparentIdentifier, binder.ContainingMemberOrLambda, null, true);
Binder\Binder.ValueChecks.cs (6)
1105if (!isValueType || (RequiresAssignableVariable(valueKind) && (this.ContainingMemberOrLambda as MethodSymbol)?.IsEffectivelyReadOnly == true)) 1448if (RequiresAssignableVariable(valueKind) && !backingField.ContainingType.IsReferenceType && (this.ContainingMemberOrLambda as MethodSymbol)?.IsEffectivelyReadOnly == true) 1718Symbol containing = this.ContainingMemberOrLambda; 1751if (!(ContainingMemberOrLambda is MethodSymbol method)) 2031var containing = this.ContainingMemberOrLambda; 2186var containingMember = ContainingMemberOrLambda;
Binder\Binder_AnonymousTypes.cs (1)
185var member = this.ContainingMemberOrLambda;
Binder\Binder_Attributes.cs (1)
133var boundAttribute = new ExecutableCodeBinder(node, this.ContainingMemberOrLambda, this).BindAttribute(node, boundAttributeType, (this as ContextualAttributeBinder)?.AttributedMember, diagnostics);
Binder\Binder_Await.cs (3)
111var containingMethod = this.ContainingMemberOrLambda as MethodSymbol; 155var containingMemberOrLambda = this.ContainingMemberOrLambda; 303var isRuntimeAsyncEnabled = Compilation.IsRuntimeAsyncEnabledIn(this.ContainingMemberOrLambda);
Binder\Binder_Deconstruct.cs (1)
898CheckRestrictedTypeInAsyncMethod(this.ContainingMemberOrLambda, declTypeWithAnnotations.Type, diagnostics, typeSyntax);
Binder\Binder_Expressions.cs (19)
44var memberOpt = this.ContainingMemberOrLambda?.ContainingNonLambdaMember(); 478Debug.Assert((object)this.ContainingMemberOrLambda == field); 537Debug.Assert(this.ContainingMemberOrLambda.Kind == SymbolKind.Method 538|| this.ContainingMemberOrLambda.Kind == SymbolKind.Property 539|| this.ContainingMemberOrLambda is NamedTypeSymbol { IsExtension: true }); 1364Symbol container = this.ContainingMemberOrLambda; 2042var containingMethod = this.ContainingMemberOrLambda as MethodSymbol; 2159this.ContainingMemberOrLambda is MethodSymbol { MethodKind: MethodKind.AnonymousFunction or MethodKind.LocalFunction } && 2438return this.ContainingMemberOrLambda.ContainingNonLambdaMember(); 2466var containingMember = this.ContainingMemberOrLambda; 2613Debug.Assert(this.ContainingMemberOrLambda is not null); 2614ParameterSymbol? thisSymbol = this.ContainingMemberOrLambda.EnclosingThisSymbol(); 2617if (thisSymbol is not null && thisSymbol.ContainingSymbol != ContainingMemberOrLambda && thisSymbol.RefKind != RefKind.None) 3293if ((InConstructorInitializer || InFieldInitializer) && ContainingMemberOrLambda.ContainingSymbol.Kind == SymbolKind.NamedType) 3309CheckRestrictedTypeInAsyncMethod(this.ContainingMemberOrLambda, declType.Type, diagnostics, typeSyntax); 11370Debug.Assert(ContainingMemberOrLambda is { }); 11580resultIsUsed = (((SimpleLambdaExpressionSyntax)parent).Body != node) || MethodOrLambdaRequiresValue(ContainingMemberOrLambda, Compilation); 11584resultIsUsed = (((ParenthesizedLambdaExpressionSyntax)parent).Body != node) || MethodOrLambdaRequiresValue(ContainingMemberOrLambda, Compilation); 11588resultIsUsed = (((ArrowExpressionClauseSyntax)parent).Expression != node) || MethodOrLambdaRequiresValue(ContainingMemberOrLambda, Compilation);
Binder\Binder_Initializers.cs (2)
147Debug.Assert((ContainingMemberOrLambda is TypeSymbol containing && TypeSymbol.Equals(containing, fieldSymbol.ContainingType, TypeCompareKind.ConsiderEverything2)) || //should be the binder for the type 207Debug.Assert(scriptClassBinder.ContainingMemberOrLambda is NamedTypeSymbol { IsScriptClass: true });
Binder\Binder_Invocation.cs (3)
269if (IsInAsyncMethod() && Compilation.IsRuntimeAsyncEnabledIn(ContainingMemberOrLambda)) 272diagnostics.Add(ErrorCode.ERR_UnsupportedFeatureInRuntimeAsync, node, ContainingMemberOrLambda); 1905ContainingMemberOrLambda is MethodSymbol containingMethod &&
Binder\Binder_NameConflicts.cs (2)
155var containingMemberOrLambda = this.ContainingMemberOrLambda; 165this.Next?.ContainingMemberOrLambda != containingMemberOrLambda;
Binder\Binder_Operators.cs (1)
4263accessedLocalOrParameterOpt = this.ContainingMemberOrLambda.EnclosingThisSymbol();
Binder\Binder_Patterns.cs (3)
898RoslynDebug.Assert(ContainingMemberOrLambda is { }); 899if ((InConstructorInitializer || InFieldInitializer) && ContainingMemberOrLambda.ContainingSymbol.Kind == SymbolKind.NamedType) 908CheckRestrictedTypeInAsyncMethod(this.ContainingMemberOrLambda, declType.Type, diagnostics, typeSyntax ?? (SyntaxNode)designation);
Binder\Binder_Statements.cs (14)
219var method = (MethodSymbol)this.ContainingMemberOrLambda; 482new SourceLabelSymbol((MethodSymbol)ContainingMemberOrLambda, node.Identifier); 1104CheckRestrictedTypeInAsyncMethod(this.ContainingMemberOrLambda, declTypeOpt.Type, localDiagnostics, typeSyntax); 1214ContainingMemberOrLambda, 2988return IsInAsyncMethod(this.ContainingMemberOrLambda as MethodSymbol); 2993var symbol = this.ContainingMemberOrLambda; 2999var symbol = this.ContainingMemberOrLambda; 3005var symbol = this.ContainingMemberOrLambda; 3017var symbol = this.ContainingMemberOrLambda as MethodSymbol; 3049var interactiveInitializerMethod = this.ContainingMemberOrLambda as SynthesizedInteractiveInitializerMethod; 3107var container = this.ContainingMemberOrLambda; 3237if (this.ContainingMemberOrLambda is LambdaSymbol) 3429var lambda = this.ContainingMemberOrLambda as LambdaSymbol; 3574var inferringLambda = this.ContainingMemberOrLambda is MethodSymbol method && (object)method.ReturnType == LambdaSymbol.ReturnTypeIsBeingInferred;
Binder\BinderFactory.BinderFactoryVisitor.cs (10)
436Symbol containingSymbol = binder.ContainingMemberOrLambda; 666var container = ((NamespaceOrTypeSymbol)outer.ContainingMemberOrLambda).GetSourceTypeMember(parent); 701var container = ((NamespaceOrTypeSymbol)outer.ContainingMemberOrLambda).GetSourceTypeMember(parent.Identifier.ValueText, 0, SyntaxKind.EnumDeclaration, parent); 766var typeSymbol = ((NamespaceOrTypeSymbol)resultBinder.ContainingMemberOrLambda).GetSourceTypeMember(parent); 1208result = result.WithContainingMemberOrLambda(outerBinder.ContainingMemberOrLambda); 1263SourceNamedTypeSymbol type = ((NamespaceOrTypeSymbol)outerBinder.ContainingMemberOrLambda).GetSourceTypeMember((TypeDeclarationSyntax)memberSyntax); 1271SourceNamedTypeSymbol type = ((NamespaceOrTypeSymbol)outerBinder.ContainingMemberOrLambda).GetSourceTypeMember((TypeDeclarationSyntax)memberSyntax); 1315SourceNamedTypeSymbol delegateType = ((NamespaceOrTypeSymbol)outerBinder.ContainingMemberOrLambda).GetSourceTypeMember((DelegateDeclarationSyntax)memberSyntax); 1352SourceNamedTypeSymbol typeSymbol = ((NamespaceOrTypeSymbol)outerBinder.ContainingMemberOrLambda).GetSourceTypeMember(typeDeclSyntax); 1371SourceNamedTypeSymbol delegateType = ((NamespaceOrTypeSymbol)outerBinder.ContainingMemberOrLambda).GetSourceTypeMember((DelegateDeclarationSyntax)memberSyntax);
Binder\CatchClauseBinder.cs (1)
34locals.Add(SourceLocalSymbol.MakeLocal(this.ContainingMemberOrLambda, this, allowRefKind: false, allowScoped: false, declarationOpt.Type, declarationOpt.Identifier, LocalDeclarationKind.CatchVariable, initializer: null));
Binder\EmbeddedStatementBinder.cs (1)
56var containingMethod = (MethodSymbol)this.ContainingMemberOrLambda;
Binder\ExecutableCodeBinder.cs (1)
50get { return _memberSymbol ?? Next.ContainingMemberOrLambda; }
Binder\ExpressionVariableFinder.cs (5)
614Debug.Assert(_scopeBinder.ContainingMemberOrLambda != null); 616_scopeBinder.ContainingMemberOrLambda, 636Debug.Assert(_scopeBinder.ContainingMemberOrLambda != null); 638containingSymbol: _scopeBinder.ContainingMemberOrLambda, 664containingSymbol: _scopeBinder.ContainingMemberOrLambda,
Binder\ForEachLoopBinder.cs (3)
89(MethodSymbol)this.ContainingMemberOrLambda, 151this.ContainingMemberOrLambda, 326CheckRestrictedTypeInAsyncMethod(this.ContainingMemberOrLambda, declType.Type, diagnostics, typeSyntax);
Binder\LocalBinderFactory.cs (11)
535Debug.Assert((object)_containingMemberOrLambda == _enclosing.ContainingMemberOrLambda); 548Debug.Assert((object)_containingMemberOrLambda == _enclosing.ContainingMemberOrLambda); 576Debug.Assert((object)_containingMemberOrLambda == _enclosing.ContainingMemberOrLambda); 586Debug.Assert((object)_containingMemberOrLambda == _enclosing.ContainingMemberOrLambda); 596Debug.Assert((object)_containingMemberOrLambda == _enclosing.ContainingMemberOrLambda); 642Debug.Assert((object)_containingMemberOrLambda == _enclosing.ContainingMemberOrLambda); 695Debug.Assert((object)_containingMemberOrLambda == _enclosing.ContainingMemberOrLambda); 731Debug.Assert((object)_containingMemberOrLambda == _enclosing.ContainingMemberOrLambda); 879Debug.Assert((object)_containingMemberOrLambda == _enclosing.ContainingMemberOrLambda); 1052Debug.Assert((object)_containingMemberOrLambda == enclosing.ContainingMemberOrLambda); 1057Debug.Assert((object)_containingMemberOrLambda == enclosing.ContainingMemberOrLambda);
Binder\LocalScopeBinder.cs (3)
334this.ContainingMemberOrLambda, 349this.ContainingMemberOrLambda, 355var containingMethod = (MethodSymbol)this.ContainingMemberOrLambda;
Binder\SwitchBinder.cs (1)
236labels.Add(new SourceLabelSymbol((MethodSymbol)this.ContainingMemberOrLambda, labelSyntax, boundLabelConstantOpt));
Binder\UsingStatementBinder.cs (1)
122CheckRestrictedTypeInAsyncMethod(originalBinder.ContainingMemberOrLambda, expressionOpt.Type, diagnostics, expressionOpt.Syntax);
BoundTree\UnboundLambda.cs (7)
86: this(syntax, unboundLambda.WithNoCache(), (LambdaSymbol)binder.ContainingMemberOrLambda!, body, diagnostics, binder, delegateType) 556Debug.Assert(binder.ContainingMemberOrLambda != null); 740Debug.Assert(Binder.ContainingMemberOrLambda is { }); 750Binder.ContainingMemberOrLambda, 818Debug.Assert(Binder.ContainingMemberOrLambda is { }); 854lambdaSymbol = CreateLambdaSymbol(Binder.ContainingMemberOrLambda, returnType, cacheKey.ParameterTypes, cacheKey.ParameterRefKinds, refKind, refCustomModifiers); 1051var lambdaSymbol = CreateLambdaSymbol(Binder.ContainingMemberOrLambda!,
Compilation\CSharpSemanticModel.cs (6)
236return new ExecutableCodeBinder(expression, binder.ContainingMemberOrLambda, binder).GetBinder(expression); 249return new ExecutableCodeBinder(attribute, binder.ContainingMemberOrLambda, binder).GetBinder(attribute); 418var boundNode = new ExecutableCodeBinder(attribute, binder.ContainingMemberOrLambda, binder).BindAttribute(attribute, attributeType, attributedMember: null, BindingDiagnosticBag.Discarded); 813binder = new ExecutableCodeBinder(constructorInitializer, binder.ContainingMemberOrLambda, binder); 886binder = new ExecutableCodeBinder(constructorInitializer, binder.ContainingMemberOrLambda, binder); 4950return binder == null ? null : binder.ContainingMemberOrLambda.GetPublicSymbol();
Compilation\InitializerSemanticModel.cs (1)
212binder = new ExecutableCodeBinder(initializer, binder.ContainingMemberOrLambda, binder);
Symbols\Source\SourceComplexParameterSymbol.cs (1)
389Debug.Assert(binder.ContainingMemberOrLambda == ContainingSymbol);
Symbols\Source\SourceFixedFieldSymbol.cs (1)
88binder = new ExecutableCodeBinder(sizeExpression, binder.ContainingMemberOrLambda, binder).GetBinder(sizeExpression);
Symbols\TypeWithAnnotations.cs (1)
1184diagnostics.Add(new LazyObsoleteDiagnosticInfo(type, binder.ContainingMemberOrLambda, binder.Flags), syntax.GetLocation());
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\ImportsTests.cs (1)
120AliasSymbol.CreateCustomDebugInfoAlias(scratchExternAliases[1].Alias.Target, externAlias1.ExternAliasDirective.Identifier, binder.ContainingMemberOrLambda, isExtern: true),
Semantics\UnsafeTests.cs (1)
5203Assert.Equal(SymbolKind.Method, binder.ContainingMemberOrLambda.Kind);