Binder\Binder.ValueChecks.cs (46)
135internal ParameterSymbol? Parameter { get; }
144internal MixableDestination(ParameterSymbol parameter, BoundExpression argument)
180internal ParameterSymbol? Parameter { get; }
186internal EscapeArgument(ParameterSymbol? parameter, BoundExpression argument, RefKind refKind, bool isArgList = false)
194public void Deconstruct(out ParameterSymbol? parameter, out BoundExpression argument, out RefKind refKind)
216internal ParameterSymbol? Parameter { get; }
229internal EscapeValue(ParameterSymbol? parameter, BoundExpression argument, EscapeLevel escapeLevel, bool isRefEscape)
237public void Deconstruct(out ParameterSymbol? parameter, out BoundExpression argument, out EscapeLevel escapeLevel, out bool isRefEscape)
1141ParameterSymbol parameterSymbol = parameter.ParameterSymbol;
1198static void reportReadOnlyParameterError(ParameterSymbol parameterSymbol, SyntaxNode node, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics)
1254private static SafeContext GetParameterValEscape(ParameterSymbol parameter)
1264private static EscapeLevel? GetParameterValEscapeLevel(ParameterSymbol parameter) =>
1267private static SafeContext GetParameterRefEscape(ParameterSymbol parameter)
1279private static EscapeLevel? GetParameterRefEscapeLevel(ParameterSymbol parameter) =>
1282private bool CheckParameterValEscape(SyntaxNode node, ParameterSymbol parameter, SafeContext escapeTo, BindingDiagnosticBag diagnostics)
1300private bool CheckParameterRefEscape(SyntaxNode node, BoundExpression parameter, ParameterSymbol parameterSymbol, SafeContext escapeTo, bool checkingReceiver, BindingDiagnosticBag diagnostics)
1995ImmutableArray<ParameterSymbol> parameters,
2016SafeContext getInvocationEscapeWithOldRules(MethodInfo methodInfo, ImmutableArray<ParameterSymbol> parameters, BoundExpression? receiver, ImmutableArray<BoundExpression> argsOpt, ImmutableArray<RefKind> argRefKindsOpt, ImmutableArray<int> argsToParamsOpt, SafeContext localScopeDepth, bool isRefEscape)
2091ImmutableArray<ParameterSymbol> parameters,
2143private static MethodInfo ReplaceWithExtensionImplementationIfNeeded(MethodInfo methodInfo, ref ImmutableArray<ParameterSymbol> parameters,
2159var extensionParameter = symbol.ContainingType.ExtensionParameter;
2200ImmutableArray<ParameterSymbol> parameters,
2225ref BoundExpression? receiver, ImmutableArray<ParameterSymbol> parameters, ImmutableArray<BoundExpression> argsOpt,
2304ImmutableArray<ParameterSymbol> parameters,
2377ImmutableArray<ParameterSymbol> parameters,
2427var parameter = argIndex < parameters.Length ?
2455static bool isMixableParameter([NotNullWhen(true)] ParameterSymbol? parameter) =>
2507ParameterSymbol? thisParameter = null;
2554ImmutableArray<ParameterSymbol> parameters,
2624ImmutableArray<ParameterSymbol> parameters,
2679ImmutableArray<ParameterSymbol> parameters,
2755ImmutableArray<ParameterSymbol> parameters,
2809private static string GetInvocationParameterName(ParameterSymbol? parameter)
2826ParameterSymbol? parameter,
2869ImmutableArray<ParameterSymbol> parameters,
2886ref BoundExpression? receiverOpt, ThreeState receiverIsSubjectToCloning, ImmutableArray<ParameterSymbol> parameters,
2979ImmutableArray<ParameterSymbol> parameters,
3064ImmutableArray<ParameterSymbol> parameters,
3094private readonly ParameterSymbol _underlyingParameter;
3096internal TypeParameterThisParameterSymbol(ParameterSymbol underlyingParameter, TypeParameterSymbol type)
3486var thisParam = ((MethodSymbol)_symbol).ThisParameter;
3812var thisParam = ((MethodSymbol)_symbol).ThisParameter;
4156var thisParam = ((MethodSymbol)_symbol).ThisParameter;
4862var thisParam = ((MethodSymbol)_symbol).ThisParameter;
5604ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
5644ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
Binder\Binder_Expressions.cs (22)
460TryGetPrimaryConstructorParameterUsedAsValue(primaryConstructor, result) is (ParameterSymbol parameter, SyntaxNode syntax) &&
489ParameterSymbol parameter,
500ParameterSymbol parameter,
1810if (GetSymbolOrMethodOrPropertyGroup(lookupResult, node, name, node.Arity, members, diagnostics, out bool isError, qualifierOpt: null) is ParameterSymbol shadowedParameter &&
2114var parameter = (ParameterSymbol)symbol;
2539ParameterSymbol? thisSymbol = this.ContainingMemberOrLambda.EnclosingThisSymbol();
3485ImmutableArray<ParameterSymbol> parameters,
3541ImmutableArray<ParameterSymbol> parameters,
3574ImmutableArray<ParameterSymbol> parameters,
3657static ParameterSymbol getCorrespondingParameter(in MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, int arg)
3667ImmutableArray<ParameterSymbol> parameters,
3678var correspondingParameter = getCorrespondingParameter(in memberAnalysisResult, parameters, interpolatedStringArgNum);
3795var parameter = parameters[originalParameterIndex];
3815var parameter = parameters[originalParameterIndex];
3888private void CheckArgumentRefKind(RefKind argRefKind, BoundExpression argument, int arg, ParameterSymbol parameter,
5026var parametersPassedToBase = new OrderedSet<ParameterSymbol>();
5035if (TryGetPrimaryConstructorParameterUsedAsValue(primaryConstructor, analyzedArguments.Argument(i)) is (ParameterSymbol parameter, SyntaxNode syntax))
5039var baseParameter = GetCorrespondingParameter(i, resultMember.Parameters, argsToParamsOpt, expanded: true);
5130private static (ParameterSymbol, SyntaxNode) TryGetPrimaryConstructorParameterUsedAsValue(SynthesizedPrimaryConstructor primaryConstructor, BoundExpression boundExpression)
10014var parameter = property.Parameters[0];
Binder\Binder_Invocation.cs (18)
1254ParameterSymbol receiverParameter = method.Parameters.First();
1363private BoundExpression CheckAndConvertExtensionReceiver(BoundExpression receiver, ParameterSymbol extensionParameter, BindingDiagnosticBag diagnostics)
1420private BoundExpression GetDefaultParameterSpecialNoConversion(SyntaxNode syntax, ParameterSymbol parameter, BindingDiagnosticBag diagnostics)
1478internal static ParameterSymbol? GetCorrespondingParameter(
1480ImmutableArray<ParameterSymbol> parameters,
1485ParameterSymbol? parameter;
1522ImmutableArray<ParameterSymbol> parameters,
1537var parameter = GetCorrespondingParameter(i, parameters, argsToParamsOpt, expanded);
1598foreach (var parameter in parameters.AsSpan()[..lastIndex])
1654BoundExpression bindDefaultArgument(SyntaxNode syntax, ParameterSymbol parameter, Symbol? containingMember, bool enableCallerInfo, BindingDiagnosticBag diagnostics, ArrayBuilder<BoundExpression> argumentsBuilder, int argumentsCount, ImmutableArray<int> argsToParamsOpt)
1773private BoundExpression CreateParamsCollection(SyntaxNode node, ParameterSymbol paramsParameter, ImmutableArray<BoundExpression> collectionArgs, BindingDiagnosticBag diagnostics)
1904!(d.Arguments is [ParameterSymbol shadowedParameter] && shadowedParameter.Type.Equals(typeOrValue.Data.ValueExpression.Type, TypeCompareKind.AllIgnoreOptions))) // If the type and the name match, we would resolve to the same type rather than a value at the end.
2048var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2068var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2087private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments, IEnumerable<ImmutableArray<ParameterSymbol>> parameterListList)
2221private static TypeSymbol GetCorrespondingParameterType(AnalyzedArguments analyzedArguments, int i, ImmutableArray<ParameterSymbol> parameterList)
2227foreach (var parameter in parameterList)
2244return BuildArgumentsForErrorRecovery(analyzedArguments, Enumerable.Empty<ImmutableArray<ParameterSymbol>>());
Binder\Semantics\OverloadResolution\OverloadResolution.cs (20)
1312ParameterSymbol final = member.GetParameters().Last();
2091private static ParameterSymbol GetParameterOrExtensionParameter<TMember>(int argIndex, MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, TMember member)
2098ParameterSymbol? extensionParameter = member.ContainingType.ExtensionParameter;
2561var parameter1 = GetParameterOrExtensionParameter(i, m1.Result, m1LeastOverriddenParameters, m1.LeastOverriddenMember);
2562var parameter2 = GetParameterOrExtensionParameter(i, m2.Result, m2LeastOverriddenParameters, m2.LeastOverriddenMember);
2590static TypeSymbol getParameterTypeAndRefKind(int i, MemberAnalysisResult memberResolutionResult, ImmutableArray<ParameterSymbol> parameters,
2593ParameterSymbol parameter = GetParameterOrExtensionParameter(i, memberResolutionResult, parameters, member);
2638ImmutableArray<ParameterSymbol> parameters1,
2640ImmutableArray<ParameterSymbol> parameters2)
2649var p1 = GetParameterOrExtensionParameter(i, m1.Result, parameters1, m1.Member);
2650var p2 = GetParameterOrExtensionParameter(i, m2.Result, parameters2, m2.Member);
3759private static bool IdenticalParameters(ImmutableArray<ParameterSymbol> p1, ImmutableArray<ParameterSymbol> p2)
3774var param1 = p1[i];
3775var param2 = p2[i];
3885ImmutableArray<ParameterSymbol> parameters = member.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: false);
3919var parameter = parameters[parm];
3944ParameterSymbol parameter,
4056var parameter = parameters[parm];
Compilation\CSharpSemanticModel.cs (12)
1792case ParameterSymbol _:
3232protected ParameterSymbol GetParameterSymbol(
3233ImmutableArray<ParameterSymbol> parameters,
3237foreach (var symbol in parameters)
3695var thisParam = GetThisParameter(boundNode.Type, containingType, containingMember, out resultKind);
3740private static ParameterSymbol GetThisParameter(TypeSymbol typeOfThis, NamedTypeSymbol containingType, Symbol containingMember, out LookupResultKind resultKind)
3749ParameterSymbol thisParam;
4521ParameterSymbol param = FindNamedParameter(containingInvocationInfo.Symbol.GetSymbol().GetParameters(), argumentName);
4538ParameterSymbol param = FindNamedParameter(invocationSym.GetSymbol().GetParameters(), argumentName);
4560private static ParameterSymbol FindNamedParameter(ImmutableArray<ParameterSymbol> parameters, string argumentName)
4562foreach (ParameterSymbol param in parameters)
FlowAnalysis\NullableWalker.cs (80)
253/// The delegate is invoked by <see cref="VisitConversion(BoundConversion, BoundExpression, Conversion, TypeWithAnnotations, TypeWithState, bool, bool, bool, AssignmentKind, ParameterSymbol, bool, bool, bool, bool, Optional<LocalState>,bool, Location, ArrayBuilder<VisitResult>)"/>.
597ParameterSymbol methodThisParameter = MethodThisParameter;
604if (_symbol.TryGetInstanceExtensionParameter(out ParameterSymbol? extensionParameter))
652method.TryGetThisParameter(out var thisParameter);
1236ImmutableArray<ParameterSymbol> parameters = method.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true);
1253foreach (var parameter in parameters)
1284ImmutableArray<ParameterSymbol> parameters = method.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true);
1285foreach (var parameter in parameters)
1318private void EnforceParameterNotNullWhenOnExit(SyntaxNode syntax, ImmutableArray<ParameterSymbol> parameters, bool sense, LocalState stateWhen)
1325foreach (var parameter in parameters)
1331private void ReportParameterIfBadConditionalState(SyntaxNode syntax, ParameterSymbol parameter, bool sense, LocalState stateWhen)
1340bool parameterHasBadConditionalState(ParameterSymbol parameter, bool sense, LocalState stateWhen)
1378private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt, LocalState state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam)
1385foreach (var inputParam in parameters)
2019var parameter = (ParameterSymbol)symbol;
2123var thisParameter = method?.ThisParameter;
2223if (symbol is ParameterSymbol { ContainingSymbol: SynthesizedPrimaryConstructor primaryConstructor } parameter &&
2235if (enclosingMemberMethod?.TryGetThisParameter(out ParameterSymbol methodThisParameter) == true &&
2331private static object GetParameterAsDiagnosticArgument(ParameterSymbol? parameterOpt)
2338private static object GetContainingSymbolAsDiagnosticArgument(ParameterSymbol? parameterOpt)
2400ParameterSymbol? parameterOpt = null,
2966var parameter = methodParameters[i];
2975private void EnterParameter(ParameterSymbol parameter, TypeWithAnnotations parameterType)
3002var parameter = equalsValue.Parameter;
3100ImmutableArray<ParameterSymbol> parameters = method.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true);
5334private void VisitBinaryOperatorOperandConversionAndPostConditions(BoundExpression expr, BoundExpression operand, Conversion conversion, ParameterSymbol parameter, TypeWithState operandType, bool isLifted)
6466ImmutableArray<ParameterSymbol> parameters = getParameters(method.Parameters, adjustForNewExtension, method);
6500static ImmutableArray<ParameterSymbol> getParameters(ImmutableArray<ParameterSymbol> parameters, bool isNewExtension, MethodSymbol method)
6507ParameterSymbol? extensionParameter = method.ContainingType.ExtensionParameter;
6541ParameterSymbol? extensionParameter = method.ContainingType.ExtensionParameter;
6859private FlowAnalysisAnnotations GetParameterAnnotations(ParameterSymbol parameter)
7020ImmutableArray<ParameterSymbol> parametersOpt,
7035private delegate (TMember? member, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol;
7042ImmutableArray<ParameterSymbol> parametersOpt,
7084ImmutableArray<ParameterSymbol> parametersOpt,
7139var notNullParametersBuilder = parameterHasNotNullIfNotNull ? ArrayBuilder<ParameterSymbol>.GetInstance() : null;
7151(ParameterSymbol? parameter, TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations, bool isExpandedParamsArgument) =
7227(ParameterSymbol? parameter, TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations, _) =
7278return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) =>
7290static void expandParamsCollection(ref ImmutableArray<BoundExpression> arguments, ref ImmutableArray<RefKind> refKindsOpt, ImmutableArray<ParameterSymbol> parametersOpt, ref ImmutableArray<int> argsToParamsOpt, ref BitVector defaultArguments)
7431if (current.TryGetThisParameter(out var thisParameter) && thisParameter is not null)
7558private ImmutableArray<FlowAnalysisAnnotations> GetParametersAnnotations(ImmutableArray<BoundExpression> arguments, ImmutableArray<ParameterSymbol> parametersOpt, ImmutableArray<int> argsToParamsOpt, bool expanded)
7654ParameterSymbol parameter,
7791ParameterSymbol parameter,
7795ArrayBuilder<ParameterSymbol>? notNullParametersOpt,
7886FlowAnalysisAnnotations notNullBasedOnParameters(FlowAnalysisAnnotations parameterAnnotations, ArrayBuilder<ParameterSymbol>? notNullParametersOpt, ParameterSymbol parameter)
8088private (ParameterSymbol? Parameter, TypeWithAnnotations Type, FlowAnalysisAnnotations Annotations, bool isExpandedParamsArgument) GetCorrespondingParameter(
8090ImmutableArray<ParameterSymbol> parametersOpt,
8100var parameter = Binder.GetCorrespondingParameter(argumentOrdinal, parametersOpt, argsToParamsOpt, expanded);
8875ParameterSymbol? parameterOpt,
9004void reportBadDelegateParameter(BindingDiagnosticBag bag, MethodSymbol sourceInvokeMethod, MethodSymbol targetInvokeMethod, ParameterSymbol parameter, bool topLevel, (TypeSymbol targetType, Location location) arg)
9075void reportBadDelegateParameter(BindingDiagnosticBag bag, MethodSymbol sourceInvokeMethod, MethodSymbol targetInvokeMethod, ParameterSymbol parameterSymbol, bool topLevel, Location location)
9130ParameterSymbol? parameterOpt = null,
9206static (MethodSymbol invokeSignature, ImmutableArray<ParameterSymbol>) getDelegateOrFunctionPointerInfo(TypeSymbol targetType)
9211_ => (null, ImmutableArray<ParameterSymbol>.Empty),
9680ParameterSymbol? parameterOpt,
9726var parameter = method.Parameters[0];
9899ParameterSymbol? parameterOpt,
10151private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod)
10174foreach (var parameter in parameters)
10188ParameterSymbol? receiverParameter = isNewExtensionMethod ? method.ContainingType.ExtensionParameter : method.Parameters[0];
10281var parameter = node.ParameterSymbol;
10410BoundParameter { ParameterSymbol: ParameterSymbol parameter }
10577var receiverParameter = isNewExtension ? deconstructMethod.ContainingType.ExtensionParameter : deconstructMethod.Parameters[0];
10585var parameter = parameters[i + offset];
10605var parameter = parameters[i + offset];
10810ParameterSymbol? parameter = null;
11005private void ReportArgumentWarnings(BoundExpression argument, TypeWithState argumentType, ParameterSymbol parameter)
11016private void ReportNullabilityMismatchInRefArgument(BoundExpression argument, TypeSymbol argumentType, ParameterSymbol parameter, TypeSymbol parameterType)
11028private void ReportNullabilityMismatchInArgument(SyntaxNode argument, TypeSymbol argumentType, ParameterSymbol parameter, TypeSymbol parameterType, bool forOutput)
11033private void ReportNullabilityMismatchInArgument(Location argumentLocation, TypeSymbol argumentType, ParameterSymbol? parameterOpt, TypeSymbol parameterType, bool forOutput)
11049private TypeWithAnnotations GetDeclaredParameterResult(ParameterSymbol parameter)
11081var extensionParameter = property.ContainingType.ExtensionParameter;
11083ImmutableArray<ParameterSymbol> parameters = [extensionParameter];
11701var parameter = method.Parameters[0];
12272private void CheckExtensionMethodThisNullability(BoundExpression expr, Conversion conversion, ParameterSymbol parameter, TypeWithState result)
Generated\BoundNodes.xml.Generated.cs (17)
369public BoundParameterEqualsValue(SyntaxNode syntax, ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
380public ParameterSymbol Parameter { get; }
385public BoundParameterEqualsValue Update(ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value)
2381public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors)
2392public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
2404public ParameterSymbol Parameter { get; }
2410public BoundParameterId Update(ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
4635public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol, TypeSymbol type, bool hasErrors)
4645public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol, TypeSymbol type)
4656public ParameterSymbol ParameterSymbol { get; }
4661public BoundParameter Update(ParameterSymbol parameterSymbol, TypeSymbol type)
10854ParameterSymbol parameter = this.VisitParameterSymbol(node.Parameter);
11223ParameterSymbol parameter = this.VisitParameterSymbol(node.Parameter);
11606ParameterSymbol parameterSymbol = this.VisitParameterSymbol(node.ParameterSymbol);
12433ParameterSymbol parameter = GetUpdatedSymbol(node, node.Parameter);
13220ParameterSymbol parameter = GetUpdatedSymbol(node, node.Parameter);
13784ParameterSymbol parameterSymbol = GetUpdatedSymbol(node, node.ParameterSymbol);
Symbols\Compilation_WellKnownMembers.cs (8)
245internal static Symbol? GetRuntimeMember(NamedTypeSymbol declaringType, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt)
251internal static Symbol? GetRuntimeMember(ImmutableArray<Symbol> members, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt)
1005foreach (var param in sig.Parameters)
1061internal class SpecialMembersSignatureComparer : SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol>
1131protected override ImmutableArray<ParameterSymbol> GetParameters(MethodSymbol method)
1136protected override ImmutableArray<ParameterSymbol> GetParameters(PropertySymbol property)
1141protected override TypeSymbol GetParamType(ParameterSymbol parameter)
1170protected override bool IsByRefParam(ParameterSymbol parameter)
Symbols\Source\ParameterHelpers.cs (24)
180where TParameterSymbol : ParameterSymbol
215ImmutableArray<ParameterSymbol> parametersForNameConflict = parameters.Cast<TParameterSymbol, ParameterSymbol>();
262where TParameterSymbol : ParameterSymbol
327internal static void EnsureRefKindAttributesExist(PEModuleBuilder moduleBuilder, ImmutableArray<ParameterSymbol> parameters)
332internal static void EnsureRefKindAttributesExist(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
344private static void EnsureRefKindAttributesExist(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
346foreach (var parameter in parameters)
373internal static void EnsureParamCollectionAttributeExistsAndModifyCompilation(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics)
381internal static void EnsureNativeIntegerAttributeExists(PEModuleBuilder moduleBuilder, ImmutableArray<ParameterSymbol> parameters)
387internal static void EnsureNativeIntegerAttributeExists(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
404private static void EnsureNativeIntegerAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
407foreach (var parameter in parameters)
423internal static bool RequiresScopedRefAttribute(ParameterSymbol parameter)
439internal static bool IsRefScopedByDefault(ParameterSymbol parameter)
449internal static void EnsureScopedRefAttributeExists(PEModuleBuilder moduleBuilder, ImmutableArray<ParameterSymbol> parameters)
454internal static void EnsureScopedRefAttributeExists(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
466private static void EnsureScopedRefAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
468foreach (var parameter in parameters)
484internal static void EnsureNullableAttributeExists(PEModuleBuilder moduleBuilder, Symbol container, ImmutableArray<ParameterSymbol> parameters)
489internal static void EnsureNullableAttributeExists(CSharpCompilation? compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation)
501private static void EnsureNullableAttributeExists(CSharpCompilation compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
505foreach (var parameter in parameters)
522internal static Location GetParameterLocation(ParameterSymbol parameter) => parameter.GetNonNullSyntaxNode().Location;
Symbols\Source\SourceMemberContainerSymbol.cs (15)
4452private static bool ParametersMatchPropertyAccessor(PropertySymbol propertySymbol, bool getNotSet, ImmutableArray<ParameterSymbol> methodParams)
4463var methodParam = methodParams[i];
4483private static bool ParametersMatchEventAccessor(EventSymbol eventSymbol, ImmutableArray<ParameterSymbol> methodParams)
4873ctor.Parameters.SelectAsArray<ParameterSymbol, ParameterSymbol>(param => new SignatureOnlyParameterSymbol(param.TypeWithAnnotations,
4920ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
4973ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
5033ImmutableArray<ParameterSymbol>.Empty,
5101ImmutableArray<Symbol> addProperties(ImmutableArray<ParameterSymbol> recordParameters)
5105foreach (ParameterSymbol param in recordParameters)
5112ImmutableArray<ParameterSymbol>.Empty,
5183bool checkMemberNotHidden(Symbol symbol, ParameterSymbol param)
5207ImmutableArray<ParameterSymbol>.Empty,
5238ImmutableArray<ParameterSymbol>.Empty,
5300ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (11)
19internal delegate void ReportMismatchInParameterType<TArg>(BindingDiagnosticBag bag, MethodSymbol overriddenMethod, MethodSymbol overridingMethod, ParameterSymbol parameter, bool topLevel, TArg arg);
1229(BindingDiagnosticBag diagnostics, MethodSymbol overriddenMethod, MethodSymbol overridingMethod, ParameterSymbol overridingParameter, bool topLevel, Location location)
1298var baseParameter = baseParameters[i];
1301var overrideParameter = overrideParameters[parameterIndex];
1335var overrideParam = overrideParameters[i + overrideParameterOffset];
1336var baseParam = baseParameters[i];
1473var baseParameter = baseParameters[i];
1474var overrideParameter = overrideParameters[i + overrideParameterOffset];
1506ReportMismatchInParameterType<(ParameterSymbol BaseParameter, TArg Arg)> reportMismatchInParameterType,
1524var baseParameter = baseParameters[i];
1525var overrideParameter = overrideParameters[i + overrideParameterOffset];
Symbols\Synthesized\SynthesizedEmbeddedNullableAttributeSymbol.cs (7)
76private void GenerateByteArrayConstructorBody(SyntheticBoundNodeFactory factory, ArrayBuilder<BoundStatement> statements, ImmutableArray<ParameterSymbol> parameters)
90private void GenerateSingleByteConstructorBody(SyntheticBoundNodeFactory factory, ArrayBuilder<BoundStatement> statements, ImmutableArray<ParameterSymbol> parameters)
112private readonly ImmutableArray<ParameterSymbol> _parameters;
114private readonly Action<SyntheticBoundNodeFactory, ArrayBuilder<BoundStatement>, ImmutableArray<ParameterSymbol>> _getConstructorBody;
118Func<MethodSymbol, ImmutableArray<ParameterSymbol>> getParameters,
119Action<SyntheticBoundNodeFactory, ArrayBuilder<BoundStatement>, ImmutableArray<ParameterSymbol>> getConstructorBody) :
126public override ImmutableArray<ParameterSymbol> Parameters => _parameters;