Binder\Binder.ValueChecks.cs (34)
104public ImmutableArray<ParameterSymbol> Parameters;
342internal ParameterSymbol? Parameter { get; }
351internal MixableDestination(ParameterSymbol parameter, BoundExpression argument)
387internal ParameterSymbol? Parameter { get; }
393internal EscapeArgument(ParameterSymbol? parameter, BoundExpression argument, RefKind refKind, bool isArgList = false)
401public void Deconstruct(out ParameterSymbol? parameter, out BoundExpression argument, out RefKind refKind)
423internal ParameterSymbol? Parameter { get; }
436internal EscapeValue(ParameterSymbol? parameter, BoundExpression argument, EscapeLevel escapeLevel, bool isRefEscape)
444public void Deconstruct(out ParameterSymbol? parameter, out BoundExpression argument, out EscapeLevel escapeLevel, out bool isRefEscape)
1408ParameterSymbol parameterSymbol = parameter.ParameterSymbol;
1465static void reportReadOnlyParameterError(ParameterSymbol parameterSymbol, SyntaxNode node, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics)
1521private static SafeContext GetParameterValEscape(ParameterSymbol parameter)
1531private static EscapeLevel? GetParameterValEscapeLevel(ParameterSymbol parameter) =>
1534private static SafeContext GetParameterRefEscape(ParameterSymbol parameter)
1546private static EscapeLevel? GetParameterRefEscapeLevel(ParameterSymbol parameter) =>
1549private bool CheckParameterValEscape(SyntaxNode node, ParameterSymbol parameter, SafeContext escapeTo, BindingDiagnosticBag diagnostics)
1567private bool CheckParameterRefEscape(SyntaxNode node, BoundExpression parameter, ParameterSymbol parameterSymbol, SafeContext escapeTo, bool checkingReceiver, BindingDiagnosticBag diagnostics)
2429var extensionParameter = symbol.ContainingType.ExtensionParameter;
2712var parameter = argIndex < parameters.Length ?
2740static bool isMixableParameter([NotNullWhen(true)] ParameterSymbol? parameter) =>
2767ParameterSymbol? thisParameter = null;
2872ParameterSymbol? extensionReceiver = null;
2929return method?.TryGetThisParameter(out var thisParameter) == true && thisParameter is not null &&
2933static bool isRefToRefStruct(ParameterSymbol parameter)
3099private static string GetInvocationParameterName(ParameterSymbol? parameter)
3116ParameterSymbol? parameter,
3355private readonly ParameterSymbol _underlyingParameter;
3357internal TypeParameterThisParameterSymbol(ParameterSymbol underlyingParameter, TypeParameterSymbol type)
3756var thisParam = ((MethodSymbol)_symbol).ThisParameter;
4055var thisParam = ((MethodSymbol)_symbol).ThisParameter;
4367var thisParam = ((MethodSymbol)_symbol).ThisParameter;
5068var thisParam = ((MethodSymbol)_symbol).ThisParameter;
5743ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
5783ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
Binder\Binder_Expressions.cs (25)
492TryGetPrimaryConstructorParameterUsedAsValue(primaryConstructor, result) is (ParameterSymbol parameter, SyntaxNode syntax) &&
521ParameterSymbol parameter,
532ParameterSymbol parameter,
1835private ParameterSymbol GetShadowedPrimaryConstructorParameter(SimpleNameSyntax node, Symbol symbol, bool invoked, ArrayBuilder<Symbol> membersOpt)
1882if (singleSymbol is ParameterSymbol shadowedParameter &&
2085var parameter = (ParameterSymbol)symbol;
2618ParameterSymbol? thisSymbol = this.ContainingMemberOrLambda.EnclosingThisSymbol();
3564ImmutableArray<ParameterSymbol> parameters,
3620ImmutableArray<ParameterSymbol> parameters,
3653ImmutableArray<ParameterSymbol> parameters,
3736static ParameterSymbol getCorrespondingParameter(in MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, int arg)
3746ImmutableArray<ParameterSymbol> parameters,
3758var correspondingParameter = getCorrespondingParameter(in result, parameters, interpolatedStringArgNum);
3875var receiverParameter = ((NamedTypeSymbol)methodResult.Member.ContainingSymbol).ExtensionParameter;
3885var parameter = parameters[originalParameterIndex];
3905var parameter = parameters[originalParameterIndex];
3980private void CheckArgumentRefKind(RefKind argRefKind, BoundExpression argument, int arg, ParameterSymbol parameter,
5131var parametersPassedToBase = new OrderedSet<ParameterSymbol>();
5140if (TryGetPrimaryConstructorParameterUsedAsValue(primaryConstructor, analyzedArguments.Argument(i)) is (ParameterSymbol parameter, SyntaxNode syntax))
5144var baseParameter = GetCorrespondingParameter(i, resultMember.Parameters, argsToParamsOpt, expanded: true);
5237private static (ParameterSymbol, SyntaxNode) TryGetPrimaryConstructorParameterUsedAsValue(SynthesizedPrimaryConstructor primaryConstructor, BoundExpression boundExpression)
7757leftType = ((ParameterSymbol)leftSymbol).Type;
11006var parameter = property.Parameters[0];
Binder\Binder_Invocation.cs (17)
1294ParameterSymbol receiverParameter = method.Parameters.First();
1396private BoundExpression CheckAndConvertExtensionReceiver(BoundExpression receiver, ParameterSymbol extensionParameter, BindingDiagnosticBag diagnostics)
1453private BoundExpression GetDefaultParameterSpecialNoConversion(SyntaxNode syntax, ParameterSymbol parameter, BindingDiagnosticBag diagnostics)
1511internal static ParameterSymbol? GetCorrespondingParameter(
1513ImmutableArray<ParameterSymbol> parameters,
1518ParameterSymbol? parameter;
1556ImmutableArray<ParameterSymbol> parameters,
1572var parameter = GetCorrespondingParameter(i, parameters, argsToParamsOpt, expanded);
1633foreach (var parameter in parameters.AsSpan()[..lastIndex])
1689BoundExpression bindDefaultArgument(SyntaxNode syntax, ParameterSymbol parameter, Symbol? containingMember, bool enableCallerInfo, BindingDiagnosticBag diagnostics,
1861private BoundExpression CreateParamsCollection(SyntaxNode node, ParameterSymbol paramsParameter, ImmutableArray<BoundExpression> collectionArgs, BindingDiagnosticBag diagnostics)
2145var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2165var parameterListList = ArrayBuilder<ImmutableArray<ParameterSymbol>>.GetInstance();
2184private ImmutableArray<BoundExpression> BuildArgumentsForErrorRecovery(AnalyzedArguments analyzedArguments, IEnumerable<ImmutableArray<ParameterSymbol>> parameterListList, BindingDiagnosticBag diagnostics)
2320private static TypeSymbol GetCorrespondingParameterType(AnalyzedArguments analyzedArguments, int i, ImmutableArray<ParameterSymbol> parameterList)
2326foreach (var parameter in parameterList)
2343return BuildArgumentsForErrorRecovery(analyzedArguments, Enumerable.Empty<ImmutableArray<ParameterSymbol>>(), BindingDiagnosticBag.Discarded);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (23)
1320ParameterSymbol final = member.GetParameters().Last();
2543var m1LastParameter = m1LeastOverriddenParameters[^1];
2544var m2LastParameter = m2LeastOverriddenParameters[^1];
2548var parameter1 = getParameterOrExtensionParameter(i, m1.Result, m1LeastOverriddenParameters, m1.LeastOverriddenMember);
2549var parameter2 = getParameterOrExtensionParameter(i, m2.Result, m2LeastOverriddenParameters, m2.LeastOverriddenMember);
2577static TypeSymbol getParameterTypeAndRefKind(int i, MemberAnalysisResult memberResolutionResult, ImmutableArray<ParameterSymbol> parameters,
2580ParameterSymbol parameter = getParameterOrExtensionParameter(i, memberResolutionResult, parameters, member);
2598static ParameterSymbol getParameterOrExtensionParameter(int argIndex, MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, TMember member)
2605ParameterSymbol? extensionParameter = member.ContainingType.ExtensionParameter;
2619ImmutableArray<ParameterSymbol> parameters1,
2621ImmutableArray<ParameterSymbol> parameters2)
2629var p1 = getParameterOrExtensionParameter(i, m1.Result, parameters1, m1.Member);
2630var p2 = getParameterOrExtensionParameter(i, m2.Result, parameters2, m2.Member);
2685private static RefKind GetParameterBetternessRefKind<TMember>(ParameterSymbol parameter, TMember member) where TMember : Symbol
3778private static bool IdenticalParameters(ImmutableArray<ParameterSymbol> p1, ImmutableArray<ParameterSymbol> p2)
3793var param1 = p1[i];
3794var param2 = p2[i];
3904ImmutableArray<ParameterSymbol> parameters = member.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: false);
3938var parameter = parameters[parm];
3963ParameterSymbol parameter,
4075var 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)
3705var thisParam = GetThisParameter(boundNode.Type, containingType, containingMember, out resultKind);
3750private static ParameterSymbol GetThisParameter(TypeSymbol typeOfThis, NamedTypeSymbol containingType, Symbol containingMember, out LookupResultKind resultKind)
3759ParameterSymbol thisParam;
4536ParameterSymbol param = FindNamedParameter(containingInvocationInfo.Symbol.GetSymbol().GetParameters(), argumentName);
4553ParameterSymbol param = FindNamedParameter(invocationSym.GetSymbol().GetParameters(), argumentName);
4575private static ParameterSymbol FindNamedParameter(ImmutableArray<ParameterSymbol> parameters, string argumentName)
4577foreach (ParameterSymbol param in parameters)
FlowAnalysis\NullableWalker.cs (89)
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, int, Location, ArrayBuilder<VisitResult>)"/>.
640ParameterSymbol methodThisParameter = MethodThisParameter;
647if (_symbol.TryGetInstanceExtensionParameter(out ParameterSymbol? extensionParameter))
693if (method.TryGetThisParameter(out var thisParameter) && thisParameter is object)
1278ImmutableArray<ParameterSymbol> parameters = method.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true);
1295foreach (var parameter in parameters)
1326ImmutableArray<ParameterSymbol> parameters = method.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true);
1327foreach (var parameter in parameters)
1360private void EnforceParameterNotNullWhenOnExit(SyntaxNode syntax, ImmutableArray<ParameterSymbol> parameters, bool sense, LocalState stateWhen)
1367foreach (var parameter in parameters)
1373private void ReportParameterIfBadConditionalState(SyntaxNode syntax, ParameterSymbol parameter, bool sense, LocalState stateWhen)
1382bool parameterHasBadConditionalState(ParameterSymbol parameter, bool sense, LocalState stateWhen)
1420private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt, LocalState state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam)
1427foreach (var inputParam in parameters)
2059case ParameterSymbol parameter:
2079var parameter = factory.Parameters[0];
2186var thisParameter = method?.ThisParameter;
2286if (symbol is ParameterSymbol { ContainingSymbol: SynthesizedPrimaryConstructor primaryConstructor } parameter &&
2298if (enclosingMemberMethod?.TryGetThisParameter(out ParameterSymbol? methodThisParameter) == true &&
2394private static object GetParameterAsDiagnosticArgument(ParameterSymbol? parameterOpt)
2401private static object GetContainingSymbolAsDiagnosticArgument(ParameterSymbol? parameterOpt)
2463ParameterSymbol? parameterOpt = null,
3037var parameter = methodParameters[i];
3046private void EnterParameter(ParameterSymbol parameter, TypeWithAnnotations parameterType)
3073var parameter = equalsValue.Parameter;
3171ImmutableArray<ParameterSymbol> parameters = method.GetParametersIncludingExtensionParameter(skipExtensionIfStatic: true);
4129var reinferredParameter = reinferredAddMethod.Parameters[argIndex];
4603getSymbolAndParameters(objectInitializer, containingType, out Symbol? symbol, out ImmutableArray<ParameterSymbol> parameters);
4670getSymbolAndParameters(objectInitializer, containingType, out Symbol? symbol, out ImmutableArray<ParameterSymbol> parameters);
4808out Symbol? symbol, out ImmutableArray<ParameterSymbol> parametersOpt)
5769BoundExpression expr, BoundExpression operand, Conversion conversion, ParameterSymbol parameter, TypeWithState operandType, bool isLifted,
5793private void VisitBinaryOperatorOperandConversionAndPostConditions(BoundExpression expr, BoundExpression operand, Conversion conversion, ParameterSymbol parameter, TypeWithState operandType, bool isLifted)
6999ImmutableArray<ParameterSymbol> parameters = AdjustParametersIfNeeded(method.Parameters, adjustForExtensionBlockMember, method);
7026private static ImmutableArray<ParameterSymbol> AdjustParametersIfNeeded(ImmutableArray<ParameterSymbol> parameters, bool isExtensionBlockMember, Symbol member)
7033ParameterSymbol? extensionParameter = member.ContainingType.ExtensionParameter;
7067ParameterSymbol? extensionParameter = member.ContainingType.ExtensionParameter;
7405private FlowAnalysisAnnotations GetParameterAnnotations(ParameterSymbol parameter)
7568private delegate (TMember? member, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol;
7588ImmutableArray<ParameterSymbol> parametersOpt,
7631ImmutableArray<ParameterSymbol> parametersOpt,
7687var notNullParametersBuilder = parameterHasNotNullIfNotNull ? ArrayBuilder<ParameterSymbol>.GetInstance() : null;
7699(ParameterSymbol? parameter, TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations, bool isExpandedParamsArgument) =
7775(ParameterSymbol? parameter, TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations, _) =
7828return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) =>
7841static void expandParamsCollection(ref ImmutableArray<BoundExpression> arguments, ref ImmutableArray<RefKind> refKindsOpt, ImmutableArray<ParameterSymbol> parametersOpt, ref ImmutableArray<int> argsToParamsOpt, ref BitVector defaultArguments)
7982if (current.TryGetThisParameter(out var thisParameter) && thisParameter is not null)
8127private ImmutableArray<FlowAnalysisAnnotations> GetParametersAnnotations(ImmutableArray<BoundExpression> arguments, ImmutableArray<ParameterSymbol> parametersOpt, ImmutableArray<int> argsToParamsOpt, bool expanded)
8223ParameterSymbol parameter,
8361ParameterSymbol parameter,
8365ArrayBuilder<ParameterSymbol>? notNullParametersOpt,
8456FlowAnalysisAnnotations notNullBasedOnParameters(FlowAnalysisAnnotations parameterAnnotations, ArrayBuilder<ParameterSymbol>? notNullParametersOpt, ParameterSymbol parameter)
8463foreach (var notNullParameter in notNullParametersOpt)
8475void trackNullableStateForAssignment(TypeSymbol? receiverType, BoundExpression parameterValue, TypeWithAnnotations lValueType, int targetSlot, TypeWithState parameterWithState, bool isSuppressed, FlowAnalysisAnnotations parameterAnnotations, RefKind refKind, ParameterSymbol parameter)
8500static bool hasConditionalPostCondition(TypeSymbol? receiverType, FlowAnalysisAnnotations annotations, RefKind refKind, ParameterSymbol parameter)
8511static bool isUnionTryGetValueValue(TypeSymbol? receiverType, RefKind refKind, ParameterSymbol parameter)
8542static TypeWithState applyPostConditionsWhenTrue(TypeSymbol? receiverType, TypeWithState typeWithState, FlowAnalysisAnnotations annotations, RefKind refKind, ParameterSymbol parameter)
8677private (ParameterSymbol? Parameter, TypeWithAnnotations Type, FlowAnalysisAnnotations Annotations, bool isExpandedParamsArgument) GetCorrespondingParameter(
8679ImmutableArray<ParameterSymbol> parametersOpt,
8689var parameter = Binder.GetCorrespondingParameter(argumentOrdinal, parametersOpt, argsToParamsOpt, expanded);
9523ParameterSymbol? parameterOpt,
9709void reportBadDelegateParameter(BindingDiagnosticBag bag, MethodSymbol sourceInvokeMethod, MethodSymbol targetInvokeMethod, ParameterSymbol parameter, bool topLevel, (TypeSymbol targetType, Location location) arg)
9780void reportBadDelegateParameter(BindingDiagnosticBag bag, MethodSymbol sourceInvokeMethod, MethodSymbol targetInvokeMethod, ParameterSymbol parameterSymbol, bool topLevel, Location location)
9835ParameterSymbol? parameterOpt = null,
9913static (MethodSymbol invokeSignature, ImmutableArray<ParameterSymbol>) getDelegateOrFunctionPointerInfo(TypeSymbol targetType)
9918_ => (null, ImmutableArray<ParameterSymbol>.Empty),
10453ParameterSymbol? parameterOpt,
10498var parameter = method.Parameters[0];
10666var parameter = factory.Parameters[0];
10843ParameterSymbol? parameterOpt,
11095private MethodSymbol CheckMethodGroupReceiverNullability(BoundMethodGroup group, ImmutableArray<ParameterSymbol> parameters, MethodSymbol method, bool invokedAsExtensionMethod)
11118foreach (var parameter in parameters)
11132ParameterSymbol? receiverParameter = isExtensionBlockMethod ? method.ContainingType.ExtensionParameter : method.Parameters[0];
11225var parameter = node.ParameterSymbol;
11352BoundParameter { ParameterSymbol: ParameterSymbol parameter }
11518var receiverParameter = isExtensionBlockMethod ? deconstructMethod.ContainingType.ExtensionParameter : deconstructMethod.Parameters[0];
11526var parameter = parameters[i + offset];
11546var parameter = parameters[i + offset];
11818ParameterSymbol? parameter = null;
12081private void ReportNullabilityMismatchInRefArgument(BoundExpression argument, TypeSymbol argumentType, ParameterSymbol parameter, TypeSymbol parameterType)
12093private void ReportNullabilityMismatchInArgument(SyntaxNode argument, TypeSymbol argumentType, ParameterSymbol parameter, TypeSymbol parameterType, bool forOutput)
12098private void ReportNullabilityMismatchInArgument(Location argumentLocation, TypeSymbol argumentType, ParameterSymbol? parameterOpt, TypeSymbol parameterType, bool forOutput)
12114private TypeWithAnnotations GetDeclaredParameterResult(ParameterSymbol parameter)
12161ImmutableArray<ParameterSymbol> parameters,
12841var parameter = method.Parameters[0];
13074var trueFalseParameter = trueFalseOperator.Parameters[0];
13513private void CheckExtensionMethodThisNullability(BoundExpression expr, Conversion conversion, ParameterSymbol parameter, TypeWithState result)
Generated\BoundNodes.xml.Generated.cs (17)
355public BoundParameterEqualsValue(SyntaxNode syntax, ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
366public ParameterSymbol Parameter { get; }
371public BoundParameterEqualsValue Update(ParameterSymbol parameter, ImmutableArray<LocalSymbol> locals, BoundExpression value)
2422public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type, bool hasErrors)
2433public BoundParameterId(SyntaxNode syntax, ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
2445public ParameterSymbol Parameter { get; }
2451public BoundParameterId Update(ParameterSymbol parameter, FieldSymbol? hoistedField, TypeSymbol type)
4670public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol, TypeSymbol type, bool hasErrors)
4680public BoundParameter(SyntaxNode syntax, ParameterSymbol parameterSymbol, TypeSymbol type)
4691public ParameterSymbol ParameterSymbol { get; }
4696public BoundParameter Update(ParameterSymbol parameterSymbol, TypeSymbol type)
11116ParameterSymbol parameter = this.VisitParameterSymbol(node.Parameter);
11495ParameterSymbol parameter = this.VisitParameterSymbol(node.Parameter);
11879ParameterSymbol parameterSymbol = this.VisitParameterSymbol(node.ParameterSymbol);
12732ParameterSymbol parameter = GetUpdatedSymbol(node, node.Parameter);
13528ParameterSymbol parameter = GetUpdatedSymbol(node, node.Parameter);
14091ParameterSymbol 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)
1047foreach (var param in sig.Parameters)
1103internal class SpecialMembersSignatureComparer : SignatureComparer<MethodSymbol, FieldSymbol, PropertySymbol, TypeSymbol, ParameterSymbol>
1173protected override ImmutableArray<ParameterSymbol> GetParameters(MethodSymbol method)
1178protected override ImmutableArray<ParameterSymbol> GetParameters(PropertySymbol property)
1183protected override TypeSymbol GetParamType(ParameterSymbol parameter)
1212protected 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)
585internal static Location GetParameterLocation(ParameterSymbol parameter) => parameter.GetNonNullSyntaxNode().Location;
Symbols\Source\SourceMemberContainerSymbol.cs (15)
4632private static bool ParametersMatchPropertyAccessor(PropertySymbol propertySymbol, bool getNotSet, ImmutableArray<ParameterSymbol> methodParams)
4643var methodParam = methodParams[i];
4663private static bool ParametersMatchEventAccessor(EventSymbol eventSymbol, ImmutableArray<ParameterSymbol> methodParams)
5157ctor.Parameters.SelectAsArray<ParameterSymbol, ParameterSymbol>(param => new SignatureOnlyParameterSymbol(param.TypeWithAnnotations,
5204ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
5257ImmutableArray.Create<ParameterSymbol>(new SignatureOnlyParameterSymbol(
5317ImmutableArray<ParameterSymbol>.Empty,
5385ImmutableArray<Symbol> addProperties(ImmutableArray<ParameterSymbol> recordParameters)
5389foreach (ParameterSymbol param in recordParameters)
5396ImmutableArray<ParameterSymbol>.Empty,
5467bool checkMemberNotHidden(Symbol symbol, ParameterSymbol param)
5491ImmutableArray<ParameterSymbol>.Empty,
5522ImmutableArray<ParameterSymbol>.Empty,
5584ImmutableArray.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);
1180if (RequiresValidScopedOverrideForRefSafety(overriddenMethod, overridingMethod.TryGetThisParameter(out var thisParam) ? thisParam : null))
1260(BindingDiagnosticBag diagnostics, MethodSymbol overriddenMethod, MethodSymbol overridingMethod, ParameterSymbol overridingParameter, bool topLevel, Location location)
1329var baseParameter = baseParameters[i];
1332var overrideParameter = overrideParameters[parameterIndex];
1366var overrideParam = overrideParameters[i + overrideParameterOffset];
1367var baseParam = baseParameters[i];
1412internal static bool RequiresValidScopedOverrideForRefSafety(MethodSymbol? method, ParameterSymbol? overrideThisParameter)
1505var baseParameter = baseParameters[i];
1506var overrideParameter = overrideParameters[i + overrideParameterOffset];
1538ReportMismatchInParameterType<(ParameterSymbol BaseParameter, TArg Arg)> reportMismatchInParameterType,
1556var baseParameter = baseParameters[i];
1557var 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;