Binder\Binder.ValueChecks.cs (34)
125public ImmutableArray<ParameterSymbol> Parameters;
356internal ParameterSymbol? Parameter { get; }
365internal MixableDestination(ParameterSymbol parameter, BoundExpression argument)
401internal ParameterSymbol? Parameter { get; }
407internal EscapeArgument(ParameterSymbol? parameter, BoundExpression argument, RefKind refKind, bool isArgList = false)
415public void Deconstruct(out ParameterSymbol? parameter, out BoundExpression argument, out RefKind refKind)
437internal ParameterSymbol? Parameter { get; }
450internal EscapeValue(ParameterSymbol? parameter, BoundExpression argument, EscapeLevel escapeLevel, bool isRefEscape)
458public void Deconstruct(out ParameterSymbol? parameter, out BoundExpression argument, out EscapeLevel escapeLevel, out bool isRefEscape)
1411ParameterSymbol parameterSymbol = parameter.ParameterSymbol;
1468static void reportReadOnlyParameterError(ParameterSymbol parameterSymbol, SyntaxNode node, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics)
1524private static SafeContext GetParameterValEscape(ParameterSymbol parameter)
1534private static EscapeLevel? GetParameterValEscapeLevel(ParameterSymbol parameter) =>
1537private static SafeContext GetParameterRefEscape(ParameterSymbol parameter)
1549private static EscapeLevel? GetParameterRefEscapeLevel(ParameterSymbol parameter) =>
1552private bool CheckParameterValEscape(SyntaxNode node, ParameterSymbol parameter, SafeContext escapeTo, BindingDiagnosticBag diagnostics)
1570private bool CheckParameterRefEscape(SyntaxNode node, BoundExpression parameter, ParameterSymbol parameterSymbol, SafeContext escapeTo, bool checkingReceiver, BindingDiagnosticBag diagnostics)
2421var extensionParameter = symbol.ContainingType.ExtensionParameter;
2704var parameter = argIndex < parameters.Length ?
2732static bool isMixableParameter([NotNullWhen(true)] ParameterSymbol? parameter) =>
2784ParameterSymbol? thisParameter = null;
2889ParameterSymbol? extensionReceiver = null;
2946return method?.TryGetThisParameter(out var thisParameter) == true && thisParameter is not null &&
2950static bool isRefToRefStruct(ParameterSymbol parameter)
3116private static string GetInvocationParameterName(ParameterSymbol? parameter)
3133ParameterSymbol? parameter,
3372private readonly ParameterSymbol _underlyingParameter;
3374internal TypeParameterThisParameterSymbol(ParameterSymbol underlyingParameter, TypeParameterSymbol type)
3766var thisParam = ((MethodSymbol)_symbol).ThisParameter;
4061var thisParam = ((MethodSymbol)_symbol).ThisParameter;
4373var thisParam = ((MethodSymbol)_symbol).ThisParameter;
5033var thisParam = ((MethodSymbol)_symbol).ThisParameter;
5703ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
5743ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
Binder\Binder_Expressions.cs (25)
492TryGetPrimaryConstructorParameterUsedAsValue(primaryConstructor, result) is (ParameterSymbol parameter, SyntaxNode syntax) &&
521ParameterSymbol parameter,
532ParameterSymbol parameter,
1832private ParameterSymbol GetShadowedPrimaryConstructorParameter(SimpleNameSyntax node, Symbol symbol, bool invoked, ArrayBuilder<Symbol> membersOpt)
1879if (singleSymbol is ParameterSymbol shadowedParameter &&
2081var parameter = (ParameterSymbol)symbol;
2614ParameterSymbol? thisSymbol = this.ContainingMemberOrLambda.EnclosingThisSymbol();
3560ImmutableArray<ParameterSymbol> parameters,
3616ImmutableArray<ParameterSymbol> parameters,
3649ImmutableArray<ParameterSymbol> parameters,
3732static ParameterSymbol getCorrespondingParameter(in MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, int arg)
3742ImmutableArray<ParameterSymbol> parameters,
3754var correspondingParameter = getCorrespondingParameter(in result, parameters, interpolatedStringArgNum);
3871var receiverParameter = ((NamedTypeSymbol)methodResult.Member.ContainingSymbol).ExtensionParameter;
3881var parameter = parameters[originalParameterIndex];
3901var parameter = parameters[originalParameterIndex];
3976private void CheckArgumentRefKind(RefKind argRefKind, BoundExpression argument, int arg, ParameterSymbol parameter,
5114var parametersPassedToBase = new OrderedSet<ParameterSymbol>();
5123if (TryGetPrimaryConstructorParameterUsedAsValue(primaryConstructor, analyzedArguments.Argument(i)) is (ParameterSymbol parameter, SyntaxNode syntax))
5127var baseParameter = GetCorrespondingParameter(i, resultMember.Parameters, argsToParamsOpt, expanded: true);
5220private static (ParameterSymbol, SyntaxNode) TryGetPrimaryConstructorParameterUsedAsValue(SynthesizedPrimaryConstructor primaryConstructor, BoundExpression boundExpression)
7735leftType = ((ParameterSymbol)leftSymbol).Type;
10259var parameter = property.Parameters[0];
Binder\Binder_Invocation.cs (17)
1269ParameterSymbol receiverParameter = method.Parameters.First();
1370private BoundExpression CheckAndConvertExtensionReceiver(BoundExpression receiver, ParameterSymbol extensionParameter, BindingDiagnosticBag diagnostics)
1427private BoundExpression GetDefaultParameterSpecialNoConversion(SyntaxNode syntax, ParameterSymbol parameter, BindingDiagnosticBag diagnostics)
1485internal static ParameterSymbol? GetCorrespondingParameter(
1487ImmutableArray<ParameterSymbol> parameters,
1492ParameterSymbol? parameter;
1530ImmutableArray<ParameterSymbol> parameters,
1546var parameter = GetCorrespondingParameter(i, parameters, argsToParamsOpt, expanded);
1607foreach (var parameter in parameters.AsSpan()[..lastIndex])
1663BoundExpression bindDefaultArgument(SyntaxNode syntax, ParameterSymbol parameter, Symbol? containingMember, bool enableCallerInfo, BindingDiagnosticBag diagnostics,
1835private BoundExpression CreateParamsCollection(SyntaxNode node, ParameterSymbol paramsParameter, ImmutableArray<BoundExpression> collectionArgs, BindingDiagnosticBag diagnostics)
2119var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2139var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2158private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments, IEnumerable<ImmutableArray<ParameterSymbol>> parameterListList, BindingDiagnosticBag diagnostics)
2294private static TypeSymbol GetCorrespondingParameterType(AnalyzedArguments analyzedArguments, int i, ImmutableArray<ParameterSymbol> parameterList)
2300foreach (var parameter in parameterList)
2317return BuildArgumentsForErrorRecovery(analyzedArguments, Enumerable.Empty<ImmutableArray<ParameterSymbol>>(), BindingDiagnosticBag.Discarded);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (23)
1318ParameterSymbol final = member.GetParameters().Last();
2541var m1LastParameter = m1LeastOverriddenParameters[^1];
2542var m2LastParameter = m2LeastOverriddenParameters[^1];
2546var parameter1 = getParameterOrExtensionParameter(i, m1.Result, m1LeastOverriddenParameters, m1.LeastOverriddenMember);
2547var parameter2 = getParameterOrExtensionParameter(i, m2.Result, m2LeastOverriddenParameters, m2.LeastOverriddenMember);
2575static TypeSymbol getParameterTypeAndRefKind(int i, MemberAnalysisResult memberResolutionResult, ImmutableArray<ParameterSymbol> parameters,
2578ParameterSymbol parameter = getParameterOrExtensionParameter(i, memberResolutionResult, parameters, member);
2596static ParameterSymbol getParameterOrExtensionParameter(int argIndex, MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, TMember member)
2603ParameterSymbol? extensionParameter = member.ContainingType.ExtensionParameter;
2617ImmutableArray<ParameterSymbol> parameters1,
2619ImmutableArray<ParameterSymbol> parameters2)
2627var p1 = getParameterOrExtensionParameter(i, m1.Result, parameters1, m1.Member);
2628var p2 = getParameterOrExtensionParameter(i, m2.Result, parameters2, m2.Member);
2683private static RefKind GetParameterBetternessRefKind<TMember>(ParameterSymbol parameter, TMember member) where TMember : Symbol
3776private static bool IdenticalParameters(ImmutableArray<ParameterSymbol> p1, ImmutableArray<ParameterSymbol> p2)
3791var param1 = p1[i];
3792var param2 = p2[i];
3902ImmutableArray<ParameterSymbol> parameters = member.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: false);
3936var parameter = parameters[parm];
3961ParameterSymbol parameter,
4073var parameter = parameters[parm];
CodeGen\CodeGenerator_RefSafety.cs (11)
12/// <inheritdoc cref="MightEscapeTemporaryRefs(bool, TypeSymbol, RefKind, ParameterSymbol?, ImmutableArray{ParameterSymbol})"/>
19thisParameterSymbol: node.Method.TryGetThisParameter(out var thisParameter) ? thisParameter : null,
23/// <inheritdoc cref="MightEscapeTemporaryRefs(bool, TypeSymbol, RefKind, ParameterSymbol?, ImmutableArray{ParameterSymbol})"/>
34/// <inheritdoc cref="MightEscapeTemporaryRefs(bool, TypeSymbol, RefKind, ParameterSymbol?, ImmutableArray{ParameterSymbol})"/>
65ParameterSymbol? thisParameterSymbol,
66ImmutableArray<ParameterSymbol> parameters)
84foreach (var parameter in parameters)
95static bool processParameter(ParameterSymbol parameter, ref bool anyRefSources, ref bool anyRefTargets)
Compilation\CSharpSemanticModel.cs (12)
1810case ParameterSymbol _:
3234protected ParameterSymbol GetParameterSymbol(
3235ImmutableArray<ParameterSymbol> parameters,
3239foreach (var symbol in parameters)
3698var thisParam = GetThisParameter(boundNode.Type, containingType, containingMember, out resultKind);
3743private static ParameterSymbol GetThisParameter(TypeSymbol typeOfThis, NamedTypeSymbol containingType, Symbol containingMember, out LookupResultKind resultKind)
3752ParameterSymbol thisParam;
4529ParameterSymbol param = FindNamedParameter(containingInvocationInfo.Symbol.GetSymbol().GetParameters(), argumentName);
4546ParameterSymbol param = FindNamedParameter(invocationSym.GetSymbol().GetParameters(), argumentName);
4568private static ParameterSymbol FindNamedParameter(ImmutableArray<ParameterSymbol> parameters, string argumentName)
4570foreach (ParameterSymbol param in parameters)
FlowAnalysis\NullableWalker.cs (83)
272/// 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>)"/>.
622ParameterSymbol methodThisParameter = MethodThisParameter;
629if (_symbol.TryGetInstanceExtensionParameter(out ParameterSymbol? extensionParameter))
675if (method.TryGetThisParameter(out var thisParameter) && thisParameter is object)
1260ImmutableArray<ParameterSymbol> parameters = method.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true);
1277foreach (var parameter in parameters)
1308ImmutableArray<ParameterSymbol> parameters = method.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true);
1309foreach (var parameter in parameters)
1342private void EnforceParameterNotNullWhenOnExit(SyntaxNode syntax, ImmutableArray<ParameterSymbol> parameters, bool sense, LocalState stateWhen)
1349foreach (var parameter in parameters)
1355private void ReportParameterIfBadConditionalState(SyntaxNode syntax, ParameterSymbol parameter, bool sense, LocalState stateWhen)
1364bool parameterHasBadConditionalState(ParameterSymbol parameter, bool sense, LocalState stateWhen)
1402private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt, LocalState state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam)
1409foreach (var inputParam in parameters)
2044var parameter = (ParameterSymbol)symbol;
2148var thisParameter = method?.ThisParameter;
2248if (symbol is ParameterSymbol { ContainingSymbol: SynthesizedPrimaryConstructor primaryConstructor } parameter &&
2260if (enclosingMemberMethod?.TryGetThisParameter(out ParameterSymbol? methodThisParameter) == true &&
2356private static object GetParameterAsDiagnosticArgument(ParameterSymbol? parameterOpt)
2363private static object GetContainingSymbolAsDiagnosticArgument(ParameterSymbol? parameterOpt)
2425ParameterSymbol? parameterOpt = null,
2991var parameter = methodParameters[i];
3000private void EnterParameter(ParameterSymbol parameter, TypeWithAnnotations parameterType)
3027var parameter = equalsValue.Parameter;
3125ImmutableArray<ParameterSymbol> parameters = method.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true);
4054var reinferredParameter = reinferredAddMethod.Parameters[argIndex];
4493ImmutableArray<ParameterSymbol> parameters = ((PropertySymbol?)symbol)?.Parameters ?? default;
5659BoundExpression expr, BoundExpression operand, Conversion conversion, ParameterSymbol parameter, TypeWithState operandType, bool isLifted,
5683private void VisitBinaryOperatorOperandConversionAndPostConditions(BoundExpression expr, BoundExpression operand, Conversion conversion, ParameterSymbol parameter, TypeWithState operandType, bool isLifted)
6887ImmutableArray<ParameterSymbol> parameters = AdjustParametersIfNeeded(method.Parameters, adjustForExtensionBlockMember, method);
6913private static ImmutableArray<ParameterSymbol> AdjustParametersIfNeeded(ImmutableArray<ParameterSymbol> parameters, bool isExtensionBlockMember, Symbol member)
6920ParameterSymbol? extensionParameter = member.ContainingType.ExtensionParameter;
6954ParameterSymbol? extensionParameter = member.ContainingType.ExtensionParameter;
7272private FlowAnalysisAnnotations GetParameterAnnotations(ParameterSymbol parameter)
7425private delegate (TMember? member, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol;
7444ImmutableArray<ParameterSymbol> parametersOpt,
7485ImmutableArray<ParameterSymbol> parametersOpt,
7540var notNullParametersBuilder = parameterHasNotNullIfNotNull ? ArrayBuilder<ParameterSymbol>.GetInstance() : null;
7552(ParameterSymbol? parameter, TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations, bool isExpandedParamsArgument) =
7628(ParameterSymbol? parameter, TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations, _) =
7679return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) =>
7691static void expandParamsCollection(ref ImmutableArray<BoundExpression> arguments, ref ImmutableArray<RefKind> refKindsOpt, ImmutableArray<ParameterSymbol> parametersOpt, ref ImmutableArray<int> argsToParamsOpt, ref BitVector defaultArguments)
7832if (current.TryGetThisParameter(out var thisParameter) && thisParameter is not null)
7959private ImmutableArray<FlowAnalysisAnnotations> GetParametersAnnotations(ImmutableArray<BoundExpression> arguments, ImmutableArray<ParameterSymbol> parametersOpt, ImmutableArray<int> argsToParamsOpt, bool expanded)
8055ParameterSymbol parameter,
8192ParameterSymbol parameter,
8196ArrayBuilder<ParameterSymbol>? notNullParametersOpt,
8287FlowAnalysisAnnotations notNullBasedOnParameters(FlowAnalysisAnnotations parameterAnnotations, ArrayBuilder<ParameterSymbol>? notNullParametersOpt, ParameterSymbol parameter)
8294foreach (var notNullParameter in notNullParametersOpt)
8489private (ParameterSymbol? Parameter, TypeWithAnnotations Type, FlowAnalysisAnnotations Annotations, bool isExpandedParamsArgument) GetCorrespondingParameter(
8491ImmutableArray<ParameterSymbol> parametersOpt,
8501var parameter = Binder.GetCorrespondingParameter(argumentOrdinal, parametersOpt, argsToParamsOpt, expanded);
9334ParameterSymbol? parameterOpt,
9463void reportBadDelegateParameter(BindingDiagnosticBag bag, MethodSymbol sourceInvokeMethod, MethodSymbol targetInvokeMethod, ParameterSymbol parameter, bool topLevel, (TypeSymbol targetType, Location location) arg)
9534void reportBadDelegateParameter(BindingDiagnosticBag bag, MethodSymbol sourceInvokeMethod, MethodSymbol targetInvokeMethod, ParameterSymbol parameterSymbol, bool topLevel, Location location)
9589ParameterSymbol? parameterOpt = null,
9665static (MethodSymbol invokeSignature, ImmutableArray<ParameterSymbol>) getDelegateOrFunctionPointerInfo(TypeSymbol targetType)
9670_ => (null, ImmutableArray<ParameterSymbol>.Empty),
10147ParameterSymbol? parameterOpt,
10192var parameter = method.Parameters[0];
10365ParameterSymbol? parameterOpt,
10617private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod)
10640foreach (var parameter in parameters)
10654ParameterSymbol? receiverParameter = isExtensionBlockMethod ? method.ContainingType.ExtensionParameter : method.Parameters[0];
10747var parameter = node.ParameterSymbol;
10876BoundParameter { ParameterSymbol: ParameterSymbol parameter }
11041var receiverParameter = isExtensionBlockMethod ? deconstructMethod.ContainingType.ExtensionParameter : deconstructMethod.Parameters[0];
11049var parameter = parameters[i + offset];
11069var parameter = parameters[i + offset];
11340ParameterSymbol? parameter = null;
11591private void ReportNullabilityMismatchInRefArgument(BoundExpression argument, TypeSymbol argumentType, ParameterSymbol parameter, TypeSymbol parameterType)
11603private void ReportNullabilityMismatchInArgument(SyntaxNode argument, TypeSymbol argumentType, ParameterSymbol parameter, TypeSymbol parameterType, bool forOutput)
11608private void ReportNullabilityMismatchInArgument(Location argumentLocation, TypeSymbol argumentType, ParameterSymbol? parameterOpt, TypeSymbol parameterType, bool forOutput)
11624private TypeWithAnnotations GetDeclaredParameterResult(ParameterSymbol parameter)
11651var extensionParameter = property.ContainingType.ExtensionParameter;
11653ImmutableArray<ParameterSymbol> parameters = [extensionParameter];
12302var parameter = method.Parameters[0];
12535var trueFalseParameter = trueFalseOperator.Parameters[0];
12976private void CheckExtensionMethodThisNullability(BoundExpression expr, Conversion conversion, ParameterSymbol parameter, TypeWithState result)
Generated\BoundNodes.xml.Generated.cs (17)
352public BoundParameterEqualsValue(SyntaxNode syntax, ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
363public ParameterSymbol Parameter { get; }
368public BoundParameterEqualsValue Update(ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value)
2425public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors)
2436public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
2448public ParameterSymbol Parameter { get; }
2454public BoundParameterId Update(ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
4687public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol, TypeSymbol type, bool hasErrors)
4697public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol, TypeSymbol type)
4708public ParameterSymbol ParameterSymbol { get; }
4713public BoundParameter Update(ParameterSymbol parameterSymbol, TypeSymbol type)
10975ParameterSymbol parameter = this.VisitParameterSymbol(node.Parameter);
11353ParameterSymbol parameter = this.VisitParameterSymbol(node.Parameter);
11735ParameterSymbol parameterSymbol = this.VisitParameterSymbol(node.ParameterSymbol);
12567ParameterSymbol parameter = GetUpdatedSymbol(node, node.Parameter);
13358ParameterSymbol parameter = GetUpdatedSymbol(node, node.Parameter);
13921ParameterSymbol parameterSymbol = GetUpdatedSymbol(node, node.ParameterSymbol);
Symbols\Compilation_WellKnownMembers.cs (8)
251internal static Symbol? GetRuntimeMember(NamedTypeSymbol declaringType, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt)
257internal static Symbol? GetRuntimeMember(ImmutableArray<Symbol> members, in MemberDescriptor descriptor, SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol> comparer, AssemblySymbol? accessWithinOpt)
1023foreach (var param in sig.Parameters)
1079internal class SpecialMembersSignatureComparer : SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol>
1149protected override ImmutableArray<ParameterSymbol> GetParameters(MethodSymbol method)
1154protected override ImmutableArray<ParameterSymbol> GetParameters(PropertySymbol property)
1159protected override TypeSymbol GetParamType(ParameterSymbol parameter)
1188protected override bool IsByRefParam(ParameterSymbol parameter)
Symbols\Source\ParameterHelpers.cs (29)
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 EnsureParamCollectionAttributeExists(PEModuleBuilder moduleBuilder, ImmutableArray<ParameterSymbol> parameters)
381internal static void EnsureParamCollectionAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
389internal static void EnsureNativeIntegerAttributeExists(PEModuleBuilder moduleBuilder, ImmutableArray<ParameterSymbol> parameters)
395internal static void EnsureNativeIntegerAttributeExists(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
412private static void EnsureNativeIntegerAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
415foreach (var parameter in parameters)
431internal static bool RequiresScopedRefAttribute(ParameterSymbol parameter)
447internal static bool IsRefScopedByDefault(ParameterSymbol parameter)
457internal static void EnsureScopedRefAttributeExists(PEModuleBuilder moduleBuilder, ImmutableArray<ParameterSymbol> parameters)
462internal static void EnsureScopedRefAttributeExists(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
474private static void EnsureScopedRefAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
476foreach (var parameter in parameters)
492internal static void EnsureNullableAttributeExists(PEModuleBuilder moduleBuilder, Symbol container, ImmutableArray<ParameterSymbol> parameters)
497internal static void EnsureNullableAttributeExists(CSharpCompilation? compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation)
509private static void EnsureNullableAttributeExists(CSharpCompilation compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
513foreach (var parameter in parameters)
530internal static void CheckUnderspecifiedGenericExtension(Symbol extensionMember, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics)
552static void reportUnusedExtensionTypeParameters(Symbol extensionMember, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, NamedTypeSymbol extension, ParameterSymbol extensionParameter, PooledHashSet<TypeParameterSymbol> usedTypeParameters)
565foreach (var parameter in parameters)
595internal static Location GetParameterLocation(ParameterSymbol parameter) => parameter.GetNonNullSyntaxNode().Location;
Symbols\Source\SourceMemberContainerSymbol.cs (15)
4461private static bool ParametersMatchPropertyAccessor(PropertySymbol propertySymbol, bool getNotSet, ImmutableArray<ParameterSymbol> methodParams)
4472var methodParam = methodParams[i];
4492private static bool ParametersMatchEventAccessor(EventSymbol eventSymbol, ImmutableArray<ParameterSymbol> methodParams)
4885ctor.Parameters.SelectAsArray<ParameterSymbol, ParameterSymbol>(param => new SignatureOnlyParameterSymbol(param.TypeWithAnnotations,
4932ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
4985ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
5045ImmutableArray<ParameterSymbol>.Empty,
5113ImmutableArray<Symbol> addProperties(ImmutableArray<ParameterSymbol> recordParameters)
5117foreach (ParameterSymbol param in recordParameters)
5124ImmutableArray<ParameterSymbol>.Empty,
5195bool checkMemberNotHidden(Symbol symbol, ParameterSymbol param)
5219ImmutableArray<ParameterSymbol>.Empty,
5250ImmutableArray<ParameterSymbol>.Empty,
5312ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (13)
19internal delegate void ReportMismatchInParameterType<TArg>(BindingDiagnosticBag bag, MethodSymbol overriddenMethod, MethodSymbol overridingMethod, ParameterSymbol parameter, bool topLevel, TArg arg);
1172if (RequiresValidScopedOverrideForRefSafety(overriddenMethod, overridingMethod.TryGetThisParameter(out var thisParam) ? thisParam : null))
1244(BindingDiagnosticBag diagnostics, MethodSymbol overriddenMethod, MethodSymbol overridingMethod, ParameterSymbol overridingParameter, bool topLevel, Location location)
1313var baseParameter = baseParameters[i];
1316var overrideParameter = overrideParameters[parameterIndex];
1350var overrideParam = overrideParameters[i + overrideParameterOffset];
1351var baseParam = baseParameters[i];
1396internal static bool RequiresValidScopedOverrideForRefSafety(MethodSymbol? method, ParameterSymbol? overrideThisParameter)
1489var baseParameter = baseParameters[i];
1490var overrideParameter = overrideParameters[i + overrideParameterOffset];
1522ReportMismatchInParameterType<(ParameterSymbol BaseParameter, TArg Arg)> reportMismatchInParameterType,
1540var baseParameter = baseParameters[i];
1541var 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;