319 references to Type
Microsoft.CodeAnalysis.CSharp (319)
Binder\Binder_Attributes.cs (2)
736parameter.Type.TypeKind == TypeKind.Array && 737!((TypeSymbol)reorderedArgument.TypeInternal!).Equals(parameter.Type, TypeCompareKind.AllIgnoreOptions))
Binder\Binder_Await.cs (2)
374BoundExpression argument = CreateConversion(placeholder, argumentConversion, destination: method.Parameters[0].Type, diagnostics); 474method.Parameters[0].Type,
Binder\Binder_Conversions.cs (17)
657method.Parameters[0].Type is ArrayTypeSymbol { IsSZArray: true, ElementType: TypeParameterSymbol }); 667static (readonlySpanType, method) => method.Parameters[0].Type.IsSpan() && 717arg.source.Equals(parameter.Type.OriginalDefinition, TypeCompareKind.ConsiderEverything) && 723((NamedTypeSymbol)parameter.Type).TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[0].Type.Equals(typeArgument.Type, TypeCompareKind.ConsiderEverything) && 746Parameters: [{ Type.SpecialType: SpecialType.System_String }] 1436var collectionBuilderElementsPlaceholder = new BoundCollectionBuilderElementsPlaceholder(syntax, readonlySpanParameter.Type) { WasCompilerGenerated = true }; 1568if (method.Parameters is not [.., { RefKind: RefKind.None, Type: NamedTypeSymbol parameterType }] 1596parameterType = (NamedTypeSymbol)methodWithTargetTypeParameters.Parameters.Last().Type; 1636var parameterType = (NamedTypeSymbol)collectionBuilderMethod.Parameters.Last().Type; 2092bool thisTypeIsOpen = typeParameters.Any((typeParameter, parameter) => parameter.Type.ContainsTypeParameter(typeParameter), member.Parameters[0]); 2105if (!typeParameters.Any((typeParameter, parameter) => parameter.Type.ContainsTypeParameter(typeParameter), member.Parameters[1])) 2127TypeSymbol secondArgumentType = (constructed ?? member).Parameters[1].Type; 2154var conversion = conversions.ConvertExtensionMethodThisArg(constructed.Parameters[0].Type, receiverType, ref useSiteInfo, isMethodGroupConversion: false); 2161else if (typeParameters.Any((typeParameter, parameter) => !parameter.Type.ContainsTypeParameter(typeParameter), member.Parameters[0])) 3543(Conversions.ConvertExtensionMethodThisArg(GetReceiverParameter(method)!.Type, receiverOpt!.Type, ref useSiteInfo, isMethodGroupConversion: true).Exists && useSiteInfo.Diagnostics.IsNullOrEmpty())); 3567source: delegateParameter.Type, 3568destination: methodParameter.Type,
Binder\Binder_Crefs.cs (2)
711if (ContainsNestedTypeOfUnconstructedGenericType(parameterSymbols[i].Type)) 774if (ContainsNestedTypeOfUnconstructedGenericType(param.Type))
Binder\Binder_Expressions.cs (17)
550defaultValueBinder.GenerateConversionForAssignment(parameter.Type, valueBeforeConversion, diagnostics, ConversionForAssignmentFlags.DefaultParameter)); 2121if (IsBadLocalOrParameterCapture(parameter, parameter.Type, parameter.RefKind)) 2129else if (parameter.Type.IsRestrictedType(ignoreSpanLikeTypes: true)) 2131Error(diagnostics, ErrorCode.ERR_SpecialByRefInLambda, node, parameter.Type); 2135Debug.Assert(parameter.Type.IsRefLikeOrAllowsRefLikeType()); 2145(parameter.RefKind != RefKind.None || parameter.Type.IsRestrictedType()) && 2152else if (parameter.Type.IsRestrictedType(ignoreSpanLikeTypes: true)) 2154Error(diagnostics, ErrorCode.ERR_UnsupportedPrimaryConstructorParameterCapturingRefAny, node, parameter.Type); 2158Debug.Assert(parameter.Type.IsRefLikeOrAllowsRefLikeType()); 3665if (parameters[paramsIndex].Type.IsSZArray()) 3878placeholderType = receiverParameter.Type; 3899placeholderType = parameter.Type; 3918placeholderType = parameter.Type; 7757leftType = ((ParameterSymbol)leftSymbol).Type; 11461original.Parameters[parameterOffset] is { Type.SpecialType: SpecialType.System_Int32, RefKind: RefKind.None } && 11462original.Parameters[parameterOffset + 1] is { Type.SpecialType: SpecialType.System_Int32, RefKind: RefKind.None }; 11485original.Parameters[0] is { Type.SpecialType: SpecialType.System_Int32, RefKind: RefKind.None };
Binder\Binder_Invocation.cs (8)
690!candidate.Member.GetParameters().Last().Type.IsSZArray()) 1407receiver = CreateConversion(receiver, extensionParameter.Type, diagnostics); 1455var parameterType = parameter.Type; 1692TypeSymbol parameterType = parameter.Type; 1863TypeSymbol collectionType = paramsParameter.Type; 1997!shadowedParameter.Type.Equals(typeOrValue.Type, TypeCompareKind.AllIgnoreOptions)) // If the type and the name match, we would resolve to the same type rather than a value at the end. 2328if (parameter.Name == name) return parameter.Type; 2334return (i < parameterList.Length) ? parameterList[i].Type : null;
Binder\Binder_Operators.cs (7)
476BoundExpression rightConverted = CreateConversion(right, overloadResolutionResult.ValidResult.Result.ConversionForArg(isExtension ? 1 : 0), method.Parameters[0].Type, diagnostics); 506leftConversion = CreateConversion(node, leftPlaceholder, conversion, isCast: false, conversionGroupOpt: null, InConversionGroupFlags.Unspecified, method.ContainingType.ExtensionParameter.Type, diagnostics); 515rightType: method.Parameters[0].Type, 1649TypeSymbol parameterType = userDefinedOperator.Parameters[0].Type; 3612operandConversion = CreateConversion(node, operandPlaceholder, conversion, isCast: false, conversionGroupOpt: null, InConversionGroupFlags.Unspecified, method.ContainingType.ExtensionParameter.Type, diagnostics); 3925if (!((extensionParameter.Type.IsValueType && extensionParameter.RefKind == RefKind.Ref) || 3926(extensionParameter.Type.IsReferenceType && extensionParameter.RefKind == RefKind.None)))
Binder\Binder_Statements.cs (2)
2220Error(diagnostics, ErrorFacts.GetStaticClassParameterCode(useWarning: false), anonymousFunction.ParameterLocation(i), delegateParameters[i].Type); 2245var delegateParameterType = delegateParameters[i].Type;
Binder\Binder_Symbols.cs (2)
1499CheckWhatCandidatesWeHave(members, parameter.Type, plainName, 1512Error(diagnostics, ErrorCode.ERR_AmbiguousPrimaryConstructorParameterAsColorColorReceiver, receiver.Syntax, parameter.Name, parameter.Type, parameter);
Binder\Binder.CapturedParametersFinder.cs (2)
168if (IsTypeOrValueReceiver(enclosingBinder, id, parameter.Type, out SyntaxNode? memberAccessNode, out string? memberName, out int targetMemberArity, out bool invoked)) 171if (TreatAsInstanceMemberAccess(enclosingBinder, parameter.Type, memberAccessNode, memberName, targetMemberArity, invoked, lookupResult))
Binder\Binder.ValueChecks.cs (11)
353Debug.Assert(parameter.RefKind.IsWritableReference() && parameter.Type.IsRefLikeOrAllowsRefLikeType()); 2366(param is { RefKind: not RefKind.None, Type: { } type } && type.IsRefLikeOrAllowsRefLikeType())) && 2594(param is { RefKind: not RefKind.None, Type: { } type } && type.IsRefLikeOrAllowsRefLikeType())) && 2742parameter.Type.IsRefLikeOrAllowsRefLikeType() && 2936parameter.Type.IsRefLikeOrAllowsRefLikeType(); 3019if (parameter.Type.IsRefLikeOrAllowsRefLikeType() && parameter.RefKind != RefKind.Out && GetParameterValEscapeLevel(parameter) is { } valEscapeLevel) 3079if (parameter.Type.IsRefLikeOrAllowsRefLikeType()) 3757Debug.Assert(thisParam.Type.Equals(((BoundThisReference)expr).Type, TypeCompareKind.ConsiderEverything)); 4056Debug.Assert(thisParam.Type.Equals(((BoundThisReference)expr).Type, TypeCompareKind.ConsiderEverything)); 4368Debug.Assert(thisParam.Type.Equals(((BoundThisReference)expr).Type, TypeCompareKind.ConsiderEverything)); 5069Debug.Assert(thisParam.Type.Equals(((BoundThisReference)expr).Type, TypeCompareKind.ConsiderEverything));
Binder\DecisionDagBuilder.cs (1)
682targetType = deconstructMethod.Parameters[0].Type;
Binder\ExecutableCodeBinder.cs (1)
120else if (parameter.Type.IsPointerOrFunctionPointer() && !isReceiverParameter)
Binder\ForEachLoopBinder.cs (4)
1043builder.CollectionType = builder.GetEnumeratorInfo.Method.Parameters[0].Type; 1047builder.CollectionType = builder.GetEnumeratorInfo.Method.ContainingType.ExtensionParameter.Type; 1562var collectionConversion = this.Conversions.ClassifyConversionFromExpression(collectionExpr, result.Parameters[0].Type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo); 1577result.Parameters[0].Type);
Binder\InMethodBinder.cs (1)
201if ((this.Flags & BinderFlags.InEEMethodBinder) != 0 && parameter.Type.IsDisplayClassType())
Binder\RefSafetyAnalysis.cs (1)
1046if (parameter?.Type?.IsRefLikeOrAllowsRefLikeType() != true ||
Binder\Semantics\AccessCheck.cs (1)
175if (!IsSymbolAccessibleCore(param.Type, within, throughTypeOpt: null, out failedThroughTypeCheck, compilation, ref useSiteInfo, basesBeingResolved))
Binder\Semantics\Conversions\Conversions.cs (4)
363if (thisParameter?.Type.IsReferenceType == false) 370thisParameter.Type); 445if (parameter.Type.IsDynamic()) 486if (!(method.IsExtensionBlockMember() && method.IsStatic) && !Binder.GetReceiverParameter(method).Type.IsReferenceType)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1540if (!delegateParameters[p].Type.Equals(anonymousFunction.ParameterType(p), TypeCompareKind.AllIgnoreOptions))
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (9)
1378op1Left = p[0].Type; 1379op1Right = p[1].Type; 1395op2Left = p[0].Type; 1396op2Right = p[1].Type; 1609return SourceUserDefinedOperatorSymbolBase.ExtensionOperatorParameterTypeMatchesExtendedType(method.Parameters[paramIndex].Type, extensionParameter.Type); 1619if (!candidate.Method.ContainingType.ExtensionParameter.Type.IsValidNullableTypeArgument() || 1620!Conversions.ConvertExtensionMethodThisArg(MakeNullable(candidate.Method.ContainingType.ExtensionParameter.Type), operand.Type, ref useSiteInfo, isMethodGroupConversion: false).Exists) 1625else if (!Conversions.ConvertExtensionMethodThisArg(candidate.Method.ContainingType.ExtensionParameter.Type, operand.Type, ref useSiteInfo, isMethodGroupConversion: false).Exists)
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (4)
227if (!candidate.Method.ContainingType.ExtensionParameter.Type.IsValidNullableTypeArgument() || 228!Conversions.ConvertExtensionMethodThisArg(MakeNullable(candidate.Method.ContainingType.ExtensionParameter.Type), operand.Type, ref useSiteInfo, isMethodGroupConversion: false).Exists) 233else if (!Conversions.ConvertExtensionMethodThisArg(candidate.Method.ContainingType.ExtensionParameter.Type, operand.Type, ref useSiteInfo, isMethodGroupConversion: false).Exists) 297result = Hash.Combine(result, typeComparer.GetHashCode(parameter.Type));
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (7)
1037if (parameter.Type.ContainsTypeParameter(typeParameter)) 2451if ((sourceParam.Type.IsReferenceType || sourceParam.Type.IsFunctionPointer()) && sourceParam.RefKind == RefKind.None) 2801if ((sourceParam.Type.IsReferenceType || sourceParam.Type.IsFunctionPointer()) && sourceParam.RefKind == RefKind.None) 3126if (!anonymousFunction.ParameterType(p).Equals(fixedDelegateParameters[p].Type, TypeCompareKind.IgnoreDynamicAndTupleNames | TypeCompareKind.IgnoreNullableModifiersForReferenceTypes)) 3197Debug.Assert(!extension.ExtensionParameter.Type.IsDynamic());
Binder\Semantics\OverloadResolution\OverloadResolution.cs (8)
1321if ((final.IsParamsArray && final.Type.IsSZArray()) || 1322(final.IsParamsCollection && !final.Type.IsSZArray() && !disallowExpandedNonArrayParams && 1325return TryInferParamsCollectionIterationType(binder, final.OriginalDefinition.Type, out definitionElementType); 2560TypeSymbol t1 = m1LastParameter.Type; 2561TypeSymbol t2 = m2LastParameter.Type; 2584var type = parameter.Type; 3801if (!Conversions.HasIdentityConversion(param1.Type, param2.Type))
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (2)
1253TypeSymbol parameterType = unwrapIfParamsCollection(badArg, parameter, isLastParameter) is TypeSymbol t ? t : parameter.Type; 1411parameter.Type is NamedTypeSymbol { IsInterpolatedStringHandlerType: true };
BoundTree\BoundDagEvaluation.cs (2)
328builder.Add(new BoundDagTemp(Syntax, parameter.Type, this, i)); 340return new BoundDagTemp(Syntax, parameter.Type, this, 0);
BoundTree\Constructors.cs (2)
472: this(syntax, parameterSymbol, parameterSymbol.Type, hasErrors) 477: this(syntax, parameterSymbol, parameterSymbol.Type)
CodeGen\CodeGenerator_RefSafety.cs (1)
97if (parameter.Type.IsRefLikeOrAllowsRefLikeType() && parameter.EffectiveScope != ScopedKind.ScopedValue)
CodeGen\EmitConversion.cs (2)
416if (parameters[0].Type.SpecialType != SpecialType.System_Object) continue; 417var p1t = parameters[1].Type.SpecialType;
CodeGen\EmitExpression.cs (2)
1432Debug.Assert(parameter.Type.Equals(parameter.ParameterSymbol.Type, TypeCompareKind.AllIgnoreOptions) || 3370EmitIndirectStore(parameter.ParameterSymbol.Type, parameter.Syntax);
Compiler\AnonymousTypeMethodBodySynthesizer.cs (1)
287retExpression = F.StaticCall(manager.System_String, formatMethod, F.Null(formatMethod.Parameters[0].Type), format, F.ArrayOrEmpty(manager.System_Object, arguments));
Compiler\ClsComplianceChecker.cs (2)
578if (!IsCompliantType(parameter.Type, context)) 580this.AddDiagnostic(ErrorCode.WRN_CLS_BadArgType, parameter.GetFirstLocation(), parameter.Type);
Compiler\MethodBodySynthesizer.cs (3)
186thisReference = new BoundThisReference(syntax, thisSymbol.Type) { WasCompilerGenerated = true }; 282field.IsStatic || field.ContainingSymbol is NamedTypeSymbol { IsExtension: true } ? null : new BoundThisReference(syntax, accessor.ThisParameter.Type), 380new BoundThisReference(syntax, thisParameter.Type) { WasCompilerGenerated = true };
Compiler\MethodBodySynthesizer.Lowered.cs (1)
87F.Null(text.Type)),
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (1)
245Visit(symbol.Type, builder);
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (4)
424var otherType = (TypeSymbol?)Visit(param.Type); 672_comparer.Equals(parameter.Type, other.Type); 940var translatedParamType = (TypeSymbol)Visit(param.Type);
Emitter\Model\ParameterSymbolAdapter.cs (2)
55return ((PEModuleBuilder)context.Module).Translate(AdaptedParameterSymbol.Type, 95type = AdaptedParameterSymbol.Type;
Emitter\Model\ParameterTypeInformation.cs (1)
53return ((PEModuleBuilder)context.Module).Translate(_underlyingParameter.Type, syntaxNodeOpt: (CSharpSyntaxNode)context.SyntaxNode, diagnostics: context.Diagnostics);
Emitter\NoPia\EmbeddedTypesManager.cs (1)
189ImmutableArray.Create(new TypedConstant(ctor.Parameters[0].Type, TypedConstantKind.Type, ctor.ContainingAssembly.GetSpecialType(SpecialType.System_Object))),
FlowAnalysis\AbstractFlowPass.cs (2)
1441&& !TypeIsImmutable(thisParameter.Type)) 3048return param.Type.IsNonNullableValueType();
FlowAnalysis\DefiniteAssignment.cs (2)
365if (methodThisParameter.Type.SpecialType.CanOptimizeBehavior()) 434TypeSymbol parameterType = parameter.Type;
FlowAnalysis\NullableWalker.cs (4)
3853(p1, p2) => p1.Type.Equals(p2.Type, TypeCompareKind.AllNullableIgnoreOptions | TypeCompareKind.IgnoreTupleNames)) && 12092parameterOpt?.Type.IsNonNullableValueType() == true && parameterType.IsNullableType() ? parameterOpt.Type : parameterType, // Compensate for operator lifting
Lowering\AsyncRewriter\AsyncRewriter.AsyncIteratorRewriter.cs (1)
216parameter.Type.Equals(F.Compilation.GetWellKnownType(WellKnownType.System_Threading_CancellationToken), TypeCompareKind.ConsiderEverything))
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (2)
70if (thisParameter is { Type.IsValueType: true, RefKind: not RefKind.None }) 415Debug.Assert(thisParameter is not { Type.IsValueType: true, RefKind: RefKind.Ref });
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (1)
689type = ((ParameterSymbol)capturedVariable).Type;
Lowering\ClosureConversion\ClosureConversion.cs (4)
247Debug.Assert(thisParameter is null || TypeSymbol.Equals(thisParameter.Type, thisType, TypeCompareKind.ConsiderEverything2)); 612if ((object)_currentFrameThis != null && TypeSymbol.Equals(_currentFrameThis.Type, frameClass, TypeCompareKind.ConsiderEverything2)) 625if (TypeSymbol.Equals(potentialParameter.Type.OriginalDefinition, frameClass, TypeCompareKind.ConsiderEverything2)) 912var frameType = (NamedTypeSymbol)loweredSymbol.Parameters[i].Type.OriginalDefinition;
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (6)
712var conversionInputType = method.Parameters[0].Type; 719? Convert(Visit(node.Operand), node.Operand.Type, method.Parameters[0].Type, node.Checked, false) 787unquoted = _bound.Call(_bound.MethodInfo(method, createDelegate.ContainingType), createDelegate, _bound.Typeof(delegateType, createDelegate.Parameters[0].Type), receiver); 794_bound.Typeof(delegateType, createDelegate.Parameters[0].Type), 796_bound.MethodInfo(method, createDelegate.Parameters[2].Type)); 867_bound.Typeof(_typeMap.SubstituteType(p.Type).Type, _bound.WellKnownType(WellKnownType.System_Type)), _bound.Literal(p.Name));
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
633_diagnostics.Add(ErrorCode.ERR_ExpressionTreeCantContainRefStruct, p.GetFirstLocation(), p.Type.Name);
Lowering\DiagnosticsPass_Warnings.cs (2)
369if (parameters.Length == 2 && TypeSymbol.Equals(parameters[0].Type, t, TypeCompareKind.ConsiderEverything2) && TypeSymbol.Equals(parameters[1].Type, t, TypeCompareKind.ConsiderEverything2))
Lowering\ExtensionMethodReferenceRewriter.cs (1)
123Debug.Assert(receiverOpt.Type!.Equals(method.Parameters[0].Type, TypeCompareKind.IgnoreNullableModifiersForReferenceTypes));
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (10)
314var parameterLogger = GetLocalOrParameterStoreLogger(parameter.Type, parameter, refAssignmentSourceIsLocal: null, _factory.Syntax); 322MakeStoreLoggerArguments(parameterLogger.Parameters[0], parameter, parameter.Type, _factory.Parameter(parameter), refAssignmentSourceIndex: null, _factory.Literal((ushort)ordinal))))); 430type = parameterSymbol.Type; 457if (parameter.Type.IsVoidPointer() && !targetType.IsPointerOrFunctionPointer()) 460Debug.Assert(!parameter.Type.IsManagedTypeNoUseSiteDiagnostics); 463(BoundExpression)new BoundAddressOfOperator(_factory.Syntax, value, isManaged: false, parameter.Type) : 464_factory.Sequence(new[] { value }, new BoundAddressOfOperator(_factory.Syntax, VariableRead(targetSymbol), isManaged: false, parameter.Type)); 469if (parameter.Type.SpecialType == SpecialType.System_String && targetType.SpecialType != SpecialType.System_String) 489Conversion c = _factory.ClassifyEmitConversion(value, parameter.Type); 491return ImmutableArray.Create(_factory.Convert(parameter.Type, value, c), index);
Lowering\Instrumentation\ModuleCancellationInstrumenter.cs (1)
186member is MethodSymbol { Parameters: [.., { RefKind: RefKind.None, Type: { } lastParamType }] parametersWithCancellationToken } overload &&
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (1)
770var parameterType = leftTruthOperator.Parameters[0].Type;
Lowering\LocalRewriter\LocalRewriter_Call.cs (9)
253case (not null, not null) when !methodThisParameter.Type.Equals(interceptorThisParameterForCompare.Type, TypeCompareKind.ObliviousNullableModifierMatchesAny) 296Debug.Assert(receiverOpt.Type.Equals(interceptor.Parameters[0].Type, TypeCompareKind.AllIgnoreOptions) 297|| (!receiverOpt.Type.IsReferenceType && interceptor.Parameters[0].Type.IsReferenceType)); 298receiverOpt = MakeConversionNode(receiverOpt, interceptor.Parameters[0].Type, @checked: false, markAsChecked: true); 1225var effectiveArgRefKind = GetEffectiveRefKind(paramRefKind, currentArgRefKind, parameters[i].Type, comRefKindMismatchPossible: false); 1329return ((MethodSymbol)methodOrIndexer).Parameters[0].Type as NamedTypeSymbol; 1335return methodOrIndexer.ContainingType.ExtensionParameter.Type as NamedTypeSymbol; 1455refKinds[p] = GetEffectiveRefKind(paramRefKind, argRefKind, parameters[p].Type, comRefKindMismatchPossible: true);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (6)
187if (!ShouldUseIEnumerableBulkAddMethod(singleSpread.Expression.Type, toListOfElementType.Parameters[0].Type, singleSpread.EnumeratorInfoOpt?.GetEnumeratorInfo.Method)) 235ConversionsBase.HasIdentityConversion(parameter.Type, spreadType) && 376assertTypesAreCompatible(_compilation, arrayType, spanConstructor.Parameters[0].Type, isReadOnlySpan); 592var spanType = (NamedTypeSymbol)readonlySpanParameter.Type; 787&& ShouldUseIEnumerableBulkAddMethod(spreadExpression.Type!, linqToArrayMethod.Parameters[0].Type, spreadElement.EnumeratorInfoOpt?.GetEnumeratorInfo.Method)) 1350if (!ShouldUseIEnumerableBulkAddMethod(rewrittenSpreadOperand.Type, addRangeMethod.Parameters[0].Type, spreadElement.EnumeratorInfoOpt?.GetEnumeratorInfo.Method))
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
259return symbol.IsExtensionBlockMember() && !symbol.IsStatic && symbol.ContainingType.ExtensionParameter is { RefKind: RefKind.None, Type.IsReferenceType: false };
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (4)
719Debug.Assert(method.Parameters[0].Type.IsStringType()); 1563Debug.Assert(conversion.Method.Parameters[0].Type.Equals(rewrittenOperand.Type, TypeCompareKind.AllIgnoreOptions)); 1879Conversion fromConversion = TryMakeConversion(syntax, conversion.UserDefinedFromConversion, fromType, meth.Parameters[0].Type, @checked: @checked); 1992Conversion fromConversion = TryMakeConversion(syntax, fromType, meth.Parameters[0].Type, @checked: @checked);
Lowering\LocalRewriter\LocalRewriter_Event.cs (3)
310TypeSymbol parameters0Type = addRemove.Parameters[0].Type; 316TypeSymbol parameters1Type = addRemove.Parameters[1].Type; 322BoundExpression eventInfo = _factory.New(ctor, _factory.Typeof(node.Event.ContainingType, ctor.Parameters[0].Type), _factory.Literal(node.Event.MetadataName));
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (1)
284MethodSymbol createSpan = getCreateSpanHelper(node, spanType: getItemOrSliceHelper.ContainingType, intType: (NamedTypeSymbol)getItemOrSliceHelper.Parameters[0].Type);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
702(memberSymbol.IsExtensionBlockMember() && !memberSymbol.IsStatic && ConversionsBase.IsValidExtensionMethodThisArgConversion(_compilation.Conversions.ClassifyConversionFromType(rewrittenReceiver.Type, memberSymbol.ContainingType.ExtensionParameter!.Type, isChecked: false, ref discardedUseSiteInfo))) ||
Lowering\LocalRewriter\LocalRewriter.cs (2)
1168Debug.Assert(Conversions.IsValidExtensionMethodThisArgConversion(this._compilation.Conversions.ClassifyConversionFromType(receiver.Type, extensionParameter.Type, isChecked: false, ref discardedUseSiteInfo))); 1172return MakeConversionNode(receiver, extensionParameter.Type, @checked: false, acceptFailingConversion: false, markAsChecked: markAsChecked);
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
262Debug.Assert(e.Property.GetMethod.Parameters[0].Type.SpecialType == SpecialType.System_Int32);
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (2)
149!parameter.Type.IsRestrictedType(), 230var type = (variable.Kind == SymbolKind.Local) ? ((LocalSymbol)variable).Type : ((ParameterSymbol)variable).Type;
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
147thisParameter.Type.IsReferenceType &&
Lowering\StateMachineRewriter\StateMachineRewriter.cs (3)
259var proxyField = F.StateMachineFieldForRegularParameter(typeMap.SubstituteType(parameter.Type).Type, parameter.Name, parameter, isPublic: !PreserveInitialParameterValuesAndThreadId); 264var field = F.StateMachineFieldForRegularParameter(typeMap.SubstituteType(parameter.Type).Type, GeneratedNames.StateMachineParameterProxyFieldName(parameter.Name), parameter, isPublic: true); 448if (method.IsStatic || method.ThisParameter.Type.IsReferenceType)
Lowering\SyntheticBoundNodeFactory.cs (3)
230return new BoundThisReference(Syntax, CurrentFunction.ThisParameter.Type) { WasCompilerGenerated = true }; 251return new BoundParameter(Syntax, p, p.Type) { WasCompilerGenerated = true }; 1226NamedTypeSymbol baseType = CurrentFunction.ThisParameter.Type.BaseTypeNoUseSiteDiagnostics;
Symbols\Attributes\SourceAttributeData.cs (1)
282TypeSymbol parameterType = parameters[parameterIndex].Type;
Symbols\Compilation_WellKnownMembers.cs (1)
1185return parameter.Type;
Symbols\MemberSymbolExtensions.cs (2)
365extensionParameter.Type.ContainsPointerOrFunctionPointer()) 862return method.ReturnType.ContainsTupleNames() || method.Parameters.Any(static p => p.Type.ContainsTupleNames());
Symbols\Metadata\PE\PEEventSymbol.cs (1)
208TypeSymbol.Equals(_removeMethod.Parameters[0].Type, token, TypeCompareKind.ConsiderEverything2);
Symbols\Metadata\PE\PEParameterSymbol.cs (5)
714&& ContainingAssembly.TypeConversions.HasCallerLineNumberConversion(this.Type, ref discardedUseSiteInfo); 734&& ContainingAssembly.TypeConversions.HasCallerInfoStringConversion(this.Type, ref discardedUseSiteInfo); 755&& ContainingAssembly.TypeConversions.HasCallerInfoStringConversion(this.Type, ref discardedUseSiteInfo); 778&& ContainingAssembly.TypeConversions.HasCallerInfoStringConversion(this.Type, ref discardedUseSiteInfo); 882else if (paramNames.IsDefault || Type is not NamedTypeSymbol { IsInterpolatedStringHandlerType: true })
Symbols\NamedTypeSymbol.cs (6)
430if (!thisParam.Type.IsValidExtensionParameterType()) 436if (thisParam.RefKind == RefKind.Ref && !thisParam.Type.IsValueType) 442&& !thisParam.Type.IsValidInOrRefReadonlyExtensionParameterType()) 2006var candidate = factory.Parameters[0].Type; 2712Conversion conversion = conversions.ClassifyBuiltInConversion(type, candidate.Parameters[0].Type, isChecked: false, ref discardedUseSiteInfo); 2840if (typeSet.Contains(candidate.Parameters[0].Type))
Symbols\OverriddenOrHiddenMembersHelpers.cs (1)
670Debug.Assert(!param.Type.HasCustomModifiers(flagNonDefaultArraySizesOrLowerBounds: false));
Symbols\ParameterSymbol.cs (1)
475ITypeSymbolInternal IParameterSymbolInternal.Type => Type;
Symbols\ReducedExtensionMethodSymbol.cs (2)
53var conversion = conversions.ConvertExtensionMethodThisArg(method.Parameters[0].Type, receiverType, ref useSiteInfo, isMethodGroupConversion: false); 251return _reducedFrom.Parameters[0].Type;
Symbols\Source\CustomModifierUtils.cs (3)
132sourceParameter.Type.HasCustomModifiers(flagNonDefaultArraySizesOrLowerBounds: true) || 134destinationParameter.Type.HasCustomModifiers(flagNonDefaultArraySizesOrLowerBounds: true) || // Could happen if the associated property has custom modifiers. 144builder.Add(destinationParameter.WithCustomModifiersAndParams(sourceParameter.Type,
Symbols\Source\ParameterHelpers.cs (3)
558extensionParameter.Type.FindTypeParameters(usedTypeParameters); 567parameter.Type.FindTypeParameters(usedTypeParameters); 946TypeSymbol parameterType = parameter.Type;
Symbols\Source\SourceComplexParameterSymbol.cs (19)
356new BoundLiteral(parameterSyntax, defaultValue, Type)); 410if (Type.IsNullableType()) 412convertedExpression = binder.GenerateConversionForAssignment(Type.GetNullableUnderlyingType(), 905return RefKind != RefKind.None || (HasParamsModifier && Type.IsRefLikeOrAllowsRefLikeType()); 1015if (this.Type.IsReferenceType) 1039else if (!compilation.Conversions.ClassifyConversionFromType((TypeSymbol)arg.TypeInternal, this.Type, isChecked: false, ref useSiteInfo).Kind.IsImplicitConversion()) 1264if (!Type.Equals(this.DeclaringCompilation.GetWellKnownType(WellKnownType.System_Threading_CancellationToken))) 1287if (Type is not NamedTypeSymbol { IsInterpolatedStringHandlerType: true } handlerType) 1290diagnostics.Add(ErrorCode.ERR_TypeIsNotAnInterpolatedStringHandlerType, arguments.AttributeSyntaxOpt.Location, Type); 1566public sealed override bool IsParamsArray => (_parameterSyntaxKind & ParameterFlags.ParamsParameter) != 0 && this.Type.IsSZArray(); 1568public sealed override bool IsParamsCollection => (_parameterSyntaxKind & ParameterFlags.ParamsParameter) != 0 && !this.Type.IsSZArray(); 1596if (DeclaredScope == ScopedKind.ScopedValue && !Type.IsErrorOrRefLikeOrAllowsRefLikeType()) 1613var collectionTypeKind = ConversionsBase.GetCollectionExpressionTypeKind(DeclaringCompilation, Type, out TypeWithAnnotations elementTypeWithAnnotations); 1629binder.TryGetCollectionIterationType(syntax, Type, out elementTypeWithAnnotations); 1638withElement: null, syntax, Type, out MethodSymbol? constructor, isExpanded: out _, diagnostics, isParamsModifierValidation: true)) 1648if (!binder.HasCollectionExpressionApplicableAddMethod(syntax, Type, out ImmutableArray<MethodSymbol> addMethods, diagnostics)) 1657diagnostics.Add(ErrorCode.ERR_ParamsCollectionExtensionAddMethod, syntax, Type); 1690binder.TryGetCollectionIterationType(syntax, Type, out elementTypeWithAnnotations); 1699syntax, (NamedTypeSymbol)Type, diagnostics, forParams: true);
Symbols\Source\SourceConstructorSymbolBase.cs (1)
99parameter.Type.CheckAllConstraints(compilation, conversions, parameter.GetFirstLocation(), diagnostics);
Symbols\Source\SourceDelegateMethodSymbol.cs (3)
121diagnostics.Add(ErrorCode.ERR_BadVisDelegateParam, delegateType.GetFirstLocation(), delegateType, parameterSymbol.Type); 123else if (!delegateTypeIsFile && parameterSymbol.Type.HasFileLocalTypes()) 125diagnostics.Add(ErrorCode.ERR_FileTypeDisallowedInSignature, delegateType.GetFirstLocation(), parameterSymbol.Type, delegateType);
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (4)
1428p.Type.IsRefLikeOrAllowsRefLikeType())) 1438if ((overrideThisParameter is { RefKind: RefKind.Ref or RefKind.Out } && overrideThisParameter.Type.IsRefLikeOrAllowsRefLikeType()) || 1444else if (parameters.Any(p => (p.RefKind is RefKind.Ref or RefKind.Out) && p.Type.IsRefLikeOrAllowsRefLikeType())) 1460else if (parameters.Any(p => p.RefKind == RefKind.None && p.Type.IsRefLikeOrAllowsRefLikeType()))
Symbols\Source\SourceMemberContainerSymbol.cs (4)
1517if (this.ExtensionParameter is { Type: NamedTypeSymbol { Name: var extendedTypeName } }) 4671if (!propertyParamType.Equals(methodParam.Type, TypeCompareKind.AllIgnoreOptions)) 4689eventSymbol.Type.Equals(methodParams[0].Type, TypeCompareKind.AllIgnoreOptions); 5123primaryAndCopyCtorAmbiguity = ctor.ParameterCount == 1 && ctor.Parameters[0].Type.Equals(this, TypeCompareKind.AllIgnoreOptions);
Symbols\Source\SourceMemberMethodSymbol.cs (4)
377diagnostics.Add(code, GetFirstLocation(), this, parameter.Type); 386diagnostics.Add(code, GetFirstLocation(), this, extensionParameter.Type); 414if (param.Type.HasFileLocalTypes()) 416diagnostics.Add(ErrorCode.ERR_FileTypeDisallowedInSignature, GetFirstLocation(), param.Type, containingType);
Symbols\Source\SourceMethodSymbol.cs (3)
74else if (parameter.Type.IsPointerOrFunctionPointer() && !isExtensionParameter) 79else if (parameter.Type.IsRestrictedType()) 81diagnostics.Add(ErrorCode.ERR_BadSpecialByRefParameter, getLocation(parameter, location, isExtensionParameter), parameter.Type);
Symbols\Source\SourceMethodSymbolWithAttributes.cs (3)
1019Debug.Assert(arguments.Attribute.AttributeConstructor.Parameters is [{ Type.SpecialType: SpecialType.System_Int32 }, { Type.SpecialType: SpecialType.System_String }]); 1414checkAndReportManagedTypes(param.Type, param.RefKind, param.GetNonNullSyntaxNode(), isParam: true, diagnostics);
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (1)
1207Conversion conversion = conversions.ConvertExtensionMethodThisArg(parameterType: result.ContainingType.ExtensionParameter.Type, receiverType, ref discardedUseSiteInfo, isMethodGroupConversion: false);
Symbols\Source\SourceNamedTypeSymbol.cs (2)
2032if (indexer.Parameters is [{ Type: { } type }] && 2063conversion.Parameters[0].Type.Equals(this, TypeCompareKind.AllIgnoreOptions) &&
Symbols\Source\SourceOrdinaryMethodOrUserDefinedOperatorSymbol.cs (1)
241parameter.Type.CheckAllConstraints(compilation, conversions, parameter.GetFirstLocation(), diagnostics);
Symbols\Source\SourceParameterSymbol.cs (2)
125newType = CustomModifierUtils.CopyTypeCustomModifiers(newType, this.Type, this.ContainingAssembly); 245else if (HasParamsModifier && Type.IsRefLikeOrAllowsRefLikeType())
Symbols\Source\SourcePropertySymbol.cs (6)
680if (!IsExplicitInterfaceImplementation && !this.IsNoMoreVisibleThan(param.Type, ref useSiteInfo)) 682diagnostics.Add(ErrorCode.ERR_BadVisIndexerParam, Location, this, param.Type); 684else if (param.Type.HasFileLocalTypes() && !containingTypeForFileTypeCheck.HasFileLocalTypes()) 686diagnostics.Add(ErrorCode.ERR_FileTypeDisallowedInSignature, Location, param.Type, containingTypeForFileTypeCheck); 708!this.IsNoMoreVisibleThan(extensionParameter.Type, ref useSiteInfo)) 710diagnostics.Add(ErrorCode.ERR_BadVisIndexerParam, Location, this, extensionParameter.Type);
Symbols\Source\SourcePropertySymbolBase.cs (1)
1858parameter.Type.CheckAllConstraints(DeclaringCompilation, conversions, parameter.GetFirstLocation(), diagnostics);
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (5)
81if (this.ContainingType is { IsExtension: true, ExtensionParameter.Type.IsStatic: true }) 385if (ContainingType is { IsExtension: true, ExtensionParameter: { Type.IsStatic: false } extensionParameter } && !IsStatic && 408if (extensionParameter.Type.IsStructType()) 416switch (extensionParameter.Type) 895if (ContainingType is { IsExtension: true, ExtensionParameter.Type: var extendedType })
Symbols\SubstitutedMethodSymbol.cs (1)
170return reduced.Parameters[0].Type;
Symbols\SymbolDistinguisher.cs (1)
145symbol = ((ParameterSymbol)symbol).Type;
Symbols\Synthesized\Records\SynthesizedRecordBaseEquals.cs (1)
59if (parameter.Type.IsErrorType())
Symbols\Synthesized\Records\SynthesizedRecordClone.cs (1)
125ctor.Parameters[0].Type.Equals(ContainingType, TypeCompareKind.AllIgnoreOptions))
Symbols\Synthesized\Records\SynthesizedRecordCopyCtor.cs (1)
147method.Parameters[0].Type.Equals(containingType, TypeCompareKind.AllIgnoreOptions) &&
Symbols\Synthesized\Records\SynthesizedRecordDeconstruct.cs (1)
73if (!parameter.Type.Equals(type, TypeCompareKind.AllIgnoreOptions))
Symbols\Synthesized\Records\SynthesizedRecordEqualityOperator.cs (1)
47candidate.Parameters[0].Type.Equals(ContainingType, TypeCompareKind.AllIgnoreOptions))
Symbols\Synthesized\Records\SynthesizedRecordEquals.cs (1)
130TypeSymbol baseType = baseEquals.Parameters[0].Type;
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
362var arguments = Parameters.SelectAsArray((p, s) => (BoundExpression)new BoundParameter(s, p, p.Type), _userMainReturnTypeSyntax); 388&& handleAsyncEntryPointMethod.Parameters[0].Type.Equals(userMain.ReturnType, TypeCompareKind.AllIgnoreOptions))
Symbols\Synthesized\SynthesizedHotReloadExceptionConstructorSymbol.cs (1)
59!parameter.Type.Equals(exceptionConstructor.ContainingType))
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (2)
451if (!TypeSymbol.Equals(_parameters[i].Type, other._parameters[i].Type, compareKind))
Symbols\Synthesized\SynthesizedParameterSymbol.cs (2)
390public override bool IsParamsArray => _isParams && Type.IsSZArray(); 392public override bool IsParamsCollection => _isParams && !Type.IsSZArray();
Symbols\Synthesized\SynthesizedThrowSwitchExpressionExceptionMethod.cs (1)
33Debug.Assert(unmatchedValue.Type.SpecialType == SpecialType.System_Object);
Symbols\Synthesized\SynthesizedUnionCtor.cs (1)
84this.Parameters[0].Type.CheckAllConstraints(DeclaringCompilation, conversions, GetFirstLocation(), diagnostics);
Symbols\VarianceSafety.cs (1)
244param.Type,