7 implementations of Type
GenerateDocumentationAndConfigFiles (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
27public ITypeSymbol Type { get; } = type;
Microsoft.CodeAnalysis.Analyzers (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
27public ITypeSymbol Type { get; } = type;
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
27public ITypeSymbol Type { get; } = type;
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\ParameterSymbol.cs (1)
26ITypeSymbol IParameterSymbol.Type
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\ParameterSymbol.vb (1)
318Private ReadOnly Property IParameterSymbol_Type As ITypeSymbol Implements IParameterSymbol.Type
Microsoft.CodeAnalysis.Workspaces (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
27public ITypeSymbol Type { get; } = type;
Roslyn.Diagnostics.Analyzers (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationParameterSymbol.cs (1)
27public ITypeSymbol Type { get; } = type;
1111 references to Type
Aspire.Hosting.Analyzers (1)
AppHostAnalyzer.cs (1)
92SymbolEqualityComparer.Default.Equals(parameterData.Symbol.Type, wellKnownTypes.Get(SpecialType.System_String))
Aspire.Hosting.Integration.Analyzers (10)
AspireExportAnalyzer.cs (10)
92!IsBuilderType(method.Parameters[0].Type, wellKnownTypes) || 200parameter.Type.ToDisplayString(), 214var targetType = method.Parameters[0].Type; 246var firstParamType = method.Parameters[0].Type; 272var firstParamType = method.Parameters[0].Type; 283concreteTargetTypeName = GetConcreteResourceBuilderTypeName(method.Parameters[i].Type, wellKnownTypes); 442if (parameter.Type is not INamedTypeSymbol namedType || !IsDelegateType(namedType)) 599var paramType = param.Type; 663var dpType = delegateParam.Type; 1239var type = parameter.Type;
ConfigurationSchemaGenerator (30)
RuntimeSource\Configuration.Binder\ConfigurationBindingGenerator.Parser.cs (6)
583if (IsUnsupportedType(parameter.Type)) 861SymbolEqualityComparer.Default.Equals(element, method.Parameters[0].Type))) 877SymbolEqualityComparer.Default.Equals(key, method.Parameters[0].Type) && 878SymbolEqualityComparer.Default.Equals(element, method.Parameters[1].Type))) 962if (firstParam.Name == "argument" && firstParam.Type.SpecialType == SpecialType.System_Object 963&& secondParam.Name == "paramName" && secondParam.Type.Equals(_typeSymbols.String, SymbolEqualityComparer.Default))
RuntimeSource\Configuration.Binder\Parser\ConfigurationBinder.cs (12)
45if (!SymbolEqualityComparer.Default.Equals(_typeSymbols.IConfiguration, @params[0].Type)) 58if (@params[1].Type.SpecialType is SpecialType.System_String) 62else if (SymbolEqualityComparer.Default.Equals(@params[2].Type, _typeSymbols.ActionOfBinderOptions)) 82if (instanceArg.Parameter?.Type.SpecialType is not SpecialType.System_Object) 114IParameterReferenceOperation p => p.Parameter.Type, 140if (!SymbolEqualityComparer.Default.Equals(_typeSymbols.IConfiguration, @params[0].Type)) 161else if (paramCount is 2 && SymbolEqualityComparer.Default.Equals(@params[1].Type, _typeSymbols.ActionOfBinderOptions)) 179else if (paramCount is 3 && SymbolEqualityComparer.Default.Equals(@params[2].Type, _typeSymbols.ActionOfBinderOptions)) 200if (paramCount > 3 || @params[1].Type.SpecialType is not SpecialType.System_String) 211else if (paramCount is 3 && SymbolEqualityComparer.Default.Equals(@params[2].Type, type)) 222if (@params[2].Type.SpecialType is not SpecialType.System_String) 234else if (paramCount is 4 && @params[3].Type.SpecialType is SpecialType.System_Object)
RuntimeSource\Configuration.Binder\Parser\OptionsBuilderConfigurationExtensions.cs (5)
22@params[0].Type is not INamedTypeSymbol { IsGenericType: true } genericType || 51if (!SymbolEqualityComparer.Default.Equals(_typeSymbols.IConfiguration, @params[1].Type)) 593 when SymbolEqualityComparer.Default.Equals(_typeSymbols.ActionOfBinderOptions, @params[2].Type) => 79@params[1].Type.SpecialType is SpecialType.System_String && 80SymbolEqualityComparer.Default.Equals(_typeSymbols.ActionOfBinderOptions, @params[2].Type))
RuntimeSource\Configuration.Binder\Parser\OptionsConfigurationServiceCollectionExtensions.cs (7)
23!SymbolEqualityComparer.Default.Equals(_typeSymbols.IServiceCollection, @params[0].Type)) 35if (paramCount is 2 && SymbolEqualityComparer.Default.Equals(_typeSymbols.IConfiguration, @params[1].Type)) 41ITypeSymbol? secondParamType = @params[1].Type; 42ITypeSymbol? thirdParamType = @params[2].Type; 60@params[1].Type.SpecialType is SpecialType.System_String && 61SymbolEqualityComparer.Default.Equals(_typeSymbols.IConfiguration, @params[2].Type) && 62SymbolEqualityComparer.Default.Equals(_typeSymbols.ActionOfBinderOptions, @params[3].Type))
GenerateDocumentationAndConfigFiles (73)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (22)
33method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 48method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 61method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 62method.Parameters[1].Type.SpecialType == SpecialType.System_Object && 185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 230method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean; 314SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 315SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 321SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 322SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 397method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean && 410SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, asyncDisposableType) && 411method.Parameters[1].Type.SpecialType == SpecialType.System_Boolean && 490method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 502SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type); 515SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type) && 516SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, method.Parameters[2].Type); 520=> methodSymbol.Parameters.Any(p => p.Type.TypeKind == TypeKind.Delegate); 533!method.Parameters[0].Type.IsValueType;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
47return invocation.TargetMethod.Parameters[0].Type;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (3)
110var type1 = parameter1.Type.OriginalDefinition; 111var type2 = parameter2.Type.OriginalDefinition; 222SymbolKind.Parameter => ((IParameterSymbol)symbol).Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (2)
98var capacityConstructor = GetAccessibleInstanceConstructor(constructors, c => c.Parameters is [{ Name: "capacity", Type.SpecialType: SpecialType.System_Int32 }]); 169Equals(lastParameter.Type.OriginalDefinition, readonlySpanOfTType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BuiltinOperatorSymbolKey.cs (1)
30static (contextualSymbol, i) => SafeGet(contextualSymbol.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
38/// the "same" <see cref="IParameterSymbol.Type"/>s and 62/// the "same" <see cref="IParameterSymbol.Type"/>s and
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (1)
58static (contextualSymbol, i) => SafeGet(contextualSymbol.Signature.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
256getContextualType: static (method, i) => SafeGet(method.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.PropertySymbolKey.cs (1)
98getContextualType: static (property, i) => SafeGet(property.OriginalDefinition.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
402if (!signatureComparer.Equals(originalParameterTypes[i], parameters[i].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
80_writeParameterType = p => WriteSymbolKey(p.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (2)
475CompareAcrossSemanticModels(parameterSymbol.Type, newParameterSymbol.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
136var type = parameter.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (2)
74method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 75secondParam.Type.InheritsFromOrEquals(eventArgsType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (1)
250return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
346IParameterSymbol parameterSymbol => parameterSymbol.Type, 414return ((IParameterSymbol)symbol).Type; 514.Select(p => (p.Type ?? compilation.GetSpecialType(SpecialType.System_Object)).WithNullableAnnotation(p.NullableAnnotation)); 663IParameterSymbol parameterSymbol => parameterSymbol.Type, 730if (!methods.Any(x => x is { Name: WellKnownMemberNames.OnCompleted, ReturnsVoid: true, Parameters: [{ Type.TypeKind: TypeKind.Delegate }] }))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
128return symbol.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
115if (!IsSymbolAccessibleCore(param.Type, within, null, out failedThroughTypeCheck))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
51parameter.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
37accessibility = AccessibilityUtilities.Minimum(accessibility, parameter.Type.Accept(this));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
570AreEquivalent(x.Type, y.Type, equivalentTypesWithDifferingAssemblies) &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
231GetHashCode(x.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (3)
52symbolEqualityComparer.SignatureTypeEquivalenceComparer.Equals(x.Type, y.Type, equivalentTypesWithDifferingAssemblies); 70symbolEqualityComparer.SignatureTypeEquivalenceComparer.GetHashCode(x.Type));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
301type ?? parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
30parameter.Type, 45parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (5)
297type: parameter.Type, 319type: parameter.Type, 351var parameterType = parameter.Type; 400var shouldAddNullCheck = addNullChecks && parameter.Type.CanAddNullCheck() && !parameter.Type.IsNullable();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
91.Single(m => containingType.Equals(m.Parameters.FirstOrDefault()?.Type)); 469method.Parameters[0].Type.SpecialType == SpecialType.System_Object &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\SyntaxGeneratorInternal.cs (1)
114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (2)
88parameterSymbol.Type 93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
ILLink.RoslynAnalyzer (5)
COMAnalyzer.cs (1)
91typeSymbol = parameterSymbol.Type;
DynamicallyAccessedMembersAnalyzer.cs (1)
191if (parameter.GetDynamicallyAccessedMemberTypes() != DynamicallyAccessedMemberTypes.None && !parameter.Type.IsTypeInterestingForDataflow(isByRef: parameter.RefKind is not RefKind.None))
TrimAnalysis\FlowAnnotations.cs (1)
170if (!parameter.OriginalDefinition.Type.IsTypeInterestingForDataflow(isByRef))
TrimAnalysis\HandleCallAction.cs (1)
73if (Visit(param.Type))
TrimAnalysis\ParameterProxy.cs (1)
71public TypeProxy ParameterType => new TypeProxy(ParameterSymbol?.Type ?? Method.Method.ContainingType);
Microsoft.Analyzers.Extra (7)
AsyncMethodWithoutCancellation.cs (1)
158if (typeSymbols.Contains(argument.Type))
CallAnalysis\Fixers\LegacyLoggingFixer.cs (2)
185matchParams = invocationArgList[i].Equals(methodSymbol.Parameters[i].Type, SymbolEqualityComparer.Default); 249if (SymbolEqualityComparer.Default.Equals(ctorArg.Type, param.Type))
CallAnalysis\StartsEndsWith.cs (4)
23.Where(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, stringType)) 26(m.Parameters.Length == 2 && SymbolEqualityComparer.Default.Equals(m.Parameters[1].Type, stringCompType))); 29.Where(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, stringType)) 32(m.Parameters.Length == 2 && SymbolEqualityComparer.Default.Equals(m.Parameters[1].Type, stringCompType)));
Microsoft.Analyzers.Local (1)
CallAnalysis\ToInvariantString.cs (1)
32if (method.Parameters.Length == 1 && SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, formatProvider))
Microsoft.AspNetCore.Analyzers (4)
MiddlewareAnalyzer.cs (1)
36SymbolEqualityComparer.Default.Equals(invocation.Arguments[0].Parameter?.Type, _context.StartupSymbols.IApplicationBuilder))
ServicesAnalyzer.cs (1)
31SymbolEqualityComparer.Default.Equals(invocation.Arguments[0].Parameter?.Type, _context.StartupSymbols.IServiceCollection))
StartupFacts.cs (2)
77return SymbolEqualityComparer.Default.Equals(symbol.Parameters[0].Type, symbols.IServiceCollection); 112if (SymbolEqualityComparer.Default.Equals(symbol.Parameters[i].Type, symbols.IApplicationBuilder))
Microsoft.AspNetCore.App.Analyzers (21)
Http\HeaderDictionaryIndexerAnalyzer.cs (1)
30property.Parameters[0].Type.SpecialType == SpecialType.System_String &&
Kestrel\ListenOnIPv6AnyAnalyzer.cs (1)
101Type: // searching type `System.Net.IPAddress`
RouteEmbeddedLanguage\Infrastructure\RouteUsageDetector.cs (4)
270a => SymbolEqualityComparer.Default.Equals(a.Type, wellKnownTypes.Get(WellKnownType.Microsoft_AspNetCore_Routing_IEndpointRouteBuilder)) || 271a.Type.Implements(wellKnownTypes.Get(WellKnownType.Microsoft_AspNetCore_Routing_IEndpointRouteBuilder)))) 278var delegateParameter = method.Parameters.FirstOrDefault(p => delegateSymbol.IsAssignableFrom(p.Type)); 291var routeStringParameter = method.Parameters.FirstOrDefault(p => SymbolEqualityComparer.Default.Equals(stringSymbol, p.Type) &&
RouteHandlers\AtMostOneFromBodyAttribute.cs (1)
29var fromBodyMetadataInterfaceMembers = asParameterDecoratedParameter.Type.GetMembers().Where(
RouteHandlers\DisallowNonParsableComplexTypesOnParameters.cs (2)
121if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol) 125else if (parameterSymbol.Type is INamedTypeSymbol namedTypeSymbol)
RouteHandlers\RouteHandlerAnalyzer.cs (1)
208var parmeterType = targetMethod.Parameters[DelegateParameterOrdinal].Type;
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
194return invocation.TargetMethod.Parameters[0].Type as INamedTypeSymbol;
src\aspnetcore\src\Shared\RoslynUtils\ParsabilityHelper.cs (6)
100methodSymbol.Parameters[0].Type.SpecialType == SpecialType.System_String && 110methodSymbol.Parameters[0].Type.SpecialType == SpecialType.System_String && 111SymbolEqualityComparer.Default.Equals(methodSymbol.Parameters[1].Type, wellKnownTypes.Get(WellKnownType.System_IFormatProvider)) && 139SymbolEqualityComparer.Default.Equals(methodSymbol.Parameters[0].Type, wellKnownTypes.Get(WellKnownType.Microsoft_AspNetCore_Http_HttpContext)) && 150SymbolEqualityComparer.Default.Equals(methodSymbol.Parameters[0].Type, wellKnownTypes.Get(WellKnownType.Microsoft_AspNetCore_Http_HttpContext)) && 151SymbolEqualityComparer.Default.Equals(methodSymbol.Parameters[1].Type, wellKnownTypes.Get(WellKnownType.System_Reflection_ParameterInfo)) &&
src\aspnetcore\src\Shared\RoslynUtils\SymbolExtensions.cs (4)
208IParameterSymbol parameterSymbol => parameterSymbol.Type, 226parameterSymbol.Type is INamedTypeSymbol 241: InnerGetDefaultValueString(parameterSymbol.ExplicitDefaultValue, parameterSymbol.Type); 300var parameterTypes = constructor.Parameters.Select(parameter => $"typeof({parameter.Type.ToDisplayString()})");
Microsoft.AspNetCore.Components.Analyzers (1)
InternalUsageAnalyzer.cs (1)
111VisitDeclarationSymbol(context, parameter.Type, method);
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
InternalUsageAnalyzer.cs (1)
111VisitDeclarationSymbol(context, parameter.Type, method);
Microsoft.AspNetCore.Mvc.Analyzers (4)
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
194return invocation.TargetMethod.Parameters[0].Type as INamedTypeSymbol;
TopLevelParameterNameAnalyzer.cs (3)
77parameter.Type.Name, 98if (!IsComplexType(parameter.Type)) 105var type = parameter.Type;
Microsoft.AspNetCore.Mvc.Api.Analyzers (4)
src\aspnetcore\src\Shared\Roslyn\CodeAnalysisExtensions.cs (1)
194return invocation.TargetMethod.Parameters[0].Type as INamedTypeSymbol;
SymbolApiConventionMatcher.cs (2)
48if (!IsTypeMatch(methodParameters[i].Type, conventionParameter.Type, typeMatchBehavior) ||
SymbolApiResponseMetadataProvider.cs (1)
212(parameter.Type.SpecialType & SpecialType.System_Int32) == SpecialType.System_Int32)
Microsoft.AspNetCore.OpenApi.SourceGenerators (2)
XmlComments\XmlComment.InheritDoc.cs (2)
336if (!SymbolEqualityComparer.Default.Equals(left.Parameters[i].Type, right.Parameters[i].Type))
Microsoft.CodeAnalysis (24)
Compilation\Compilation.cs (1)
1754if (!isContainingAssemblyInReferences(param.Type))
DiagnosticAnalyzer\SuppressMessageAttributeState.TargetSymbolResolver.cs (1)
803return parameterType != null && symbol.Type.Equals(parameterType);
DocumentationCommentId.cs (2)
506this.GetReferenceGenerator(p.ContainingSymbol).Visit(p.Type); 1472return parameterType != null && symbol.Type.Equals(parameterType, SymbolEqualityComparer.CLRSignature);
Operations\ControlFlowGraphBuilder.cs (8)
2509(ITypeSymbolHelpers.IsNullableType(left.Type) || !ITypeSymbolHelpers.IsNullableType(unaryOperatorMethod.Parameters[0].Type)))) 2597if (unaryOperatorMethod == null ? isLifted : !ITypeSymbolHelpers.IsNullableType(unaryOperatorMethod.Parameters[0].Type)) 2603Debug.Assert(unaryOperatorMethod == null || !ITypeSymbolHelpers.IsNullableType(unaryOperatorMethod.Parameters[0].Type)); 2607else if (unaryOperatorMethod != null && ITypeSymbolHelpers.IsNullableType(unaryOperatorMethod.Parameters[0].Type)) 2609condition = MakeInvalidOperation(unaryOperatorMethod.Parameters[0].Type, condition); 6858Debug.Assert(outParameterArgument is { Parameter: { RefKind: RefKind.Out, Type.SpecialType: SpecialType.System_Boolean } }); 7245operation.Syntax, operation.Parameter.Type, isImplicit: true); 7287operation.Syntax, parameter.Type, constantValue: null, isImplicit: true);
SymbolDisplay\AbstractSymbolDisplayVisitor_Minimal.cs (1)
120return parameterSymbol.Type;
Symbols\Attributes\CommonAttributeData.cs (10)
208Debug.Assert(parameters[0].Type.SpecialType == SpecialType.System_Byte); 209Debug.Assert(parameters[1].Type.SpecialType == SpecialType.System_Byte); 216if (parameters[2].Type.SpecialType == SpecialType.System_Int32) 218Debug.Assert(parameters[2].Type.SpecialType == SpecialType.System_Int32); 219Debug.Assert(parameters[3].Type.SpecialType == SpecialType.System_Int32); 220Debug.Assert(parameters[4].Type.SpecialType == SpecialType.System_Int32); 228Debug.Assert(parameters[2].Type.SpecialType == SpecialType.System_UInt32); 229Debug.Assert(parameters[3].Type.SpecialType == SpecialType.System_UInt32); 230Debug.Assert(parameters[4].Type.SpecialType == SpecialType.System_UInt32); 414if (attribute.AttributeConstructor.Parameters[0].Type.SpecialType == SpecialType.System_Int16)
Symbols\Attributes\MarshalAsAttributeDecoder.cs (1)
102if (attribute.AttributeConstructor.Parameters[0].Type.SpecialType == SpecialType.System_Int16)
Microsoft.CodeAnalysis.Analyzers (90)
MetaAnalyzers\ConfigureGeneratedCodeAnalysisAnalyzer.cs (1)
69if (!SymbolEqualityComparer.Default.Equals(parameter.Type, analysisContext))
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (6)
330.Where(m => m.IsPublic() && m.Parameters.Length > 0 && SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, diagnosticDescriptorType)) 550method.Parameters[0].Type.SpecialType == SpecialType.System_String; 572firstParamArgument.Parameter?.Type.SpecialType == SpecialType.System_String && 600invocation.Arguments[0].Parameter?.Type.SpecialType == SpecialType.System_String && 628if (titleArgument.Parameter?.Type.SpecialType == SpecialType.System_String) 817SymbolEqualityComparer.Default.Equals(argument.Parameter?.Type, localizableStringType))
MetaAnalyzers\EnableConcurrentExecutionAnalyzer.cs (1)
69if (!SymbolEqualityComparer.Default.Equals(parameter.Type, analysisContext))
MetaAnalyzers\Fixers\CompareSymbolsCorrectlyFix.cs (2)
163if (SymbolEqualityComparer.Default.Equals(overload.Parameters[0].Type.OriginalDefinition, iEqualityComparer)) 171else if (SymbolEqualityComparer.Default.Equals(overload.Parameters[^1].Type.OriginalDefinition, iEqualityComparer))
MetaAnalyzers\RegisterActionAnalyzer.cs (6)
275if (parameter.Type is INamedTypeSymbol namedType && 438if (IsContextType(parameter.Type, _compilationStartAnalysisContext, _codeBlockStartAnalysisContext, _operationBlockStartAnalysisContext)) 449if (IsContextType(parameter.Type, _compilationStartAnalysisContext, _codeBlockStartAnalysisContext, _operationBlockStartAnalysisContext)) 540Debug.Assert(IsContextType(contextParameter.Type, _codeBlockStartAnalysisContext, _compilationStartAnalysisContext, _operationBlockStartAnalysisContext)); 541bool isCompilationStartAction = SymbolEqualityComparer.Default.Equals(contextParameter.Type.OriginalDefinition, _compilationStartAnalysisContext.OriginalDefinition); 542bool isOperationBlockStartAction = !isCompilationStartAction && SymbolEqualityComparer.Default.Equals(contextParameter.Type.OriginalDefinition, _operationBlockStartAnalysisContext.OriginalDefinition);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
58AddCoupledNamedTypesCore(builder, parameter.Type, wellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (22)
33method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 48method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 61method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 62method.Parameters[1].Type.SpecialType == SpecialType.System_Object && 185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 230method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean; 314SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 315SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 321SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 322SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 397method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean && 410SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, asyncDisposableType) && 411method.Parameters[1].Type.SpecialType == SpecialType.System_Boolean && 490method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 502SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type); 515SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type) && 516SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, method.Parameters[2].Type); 520=> methodSymbol.Parameters.Any(p => p.Type.TypeKind == TypeKind.Delegate); 533!method.Parameters[0].Type.IsValueType;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
47return invocation.TargetMethod.Parameters[0].Type;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (3)
110var type1 = parameter1.Type.OriginalDefinition; 111var type2 = parameter2.Type.OriginalDefinition; 222SymbolKind.Parameter => ((IParameterSymbol)symbol).Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (2)
98var capacityConstructor = GetAccessibleInstanceConstructor(constructors, c => c.Parameters is [{ Name: "capacity", Type.SpecialType: SpecialType.System_Int32 }]); 169Equals(lastParameter.Type.OriginalDefinition, readonlySpanOfTType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BuiltinOperatorSymbolKey.cs (1)
30static (contextualSymbol, i) => SafeGet(contextualSymbol.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
38/// the "same" <see cref="IParameterSymbol.Type"/>s and 62/// the "same" <see cref="IParameterSymbol.Type"/>s and
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (1)
58static (contextualSymbol, i) => SafeGet(contextualSymbol.Signature.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
256getContextualType: static (method, i) => SafeGet(method.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.PropertySymbolKey.cs (1)
98getContextualType: static (property, i) => SafeGet(property.OriginalDefinition.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
402if (!signatureComparer.Equals(originalParameterTypes[i], parameters[i].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
80_writeParameterType = p => WriteSymbolKey(p.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (2)
475CompareAcrossSemanticModels(parameterSymbol.Type, newParameterSymbol.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
136var type = parameter.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (2)
74method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 75secondParam.Type.InheritsFromOrEquals(eventArgsType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (1)
250return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
346IParameterSymbol parameterSymbol => parameterSymbol.Type, 414return ((IParameterSymbol)symbol).Type; 514.Select(p => (p.Type ?? compilation.GetSpecialType(SpecialType.System_Object)).WithNullableAnnotation(p.NullableAnnotation)); 663IParameterSymbol parameterSymbol => parameterSymbol.Type, 730if (!methods.Any(x => x is { Name: WellKnownMemberNames.OnCompleted, ReturnsVoid: true, Parameters: [{ Type.TypeKind: TypeKind.Delegate }] }))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
128return symbol.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
115if (!IsSymbolAccessibleCore(param.Type, within, null, out failedThroughTypeCheck))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
51parameter.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
37accessibility = AccessibilityUtilities.Minimum(accessibility, parameter.Type.Accept(this));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
570AreEquivalent(x.Type, y.Type, equivalentTypesWithDifferingAssemblies) &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
231GetHashCode(x.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (3)
52symbolEqualityComparer.SignatureTypeEquivalenceComparer.Equals(x.Type, y.Type, equivalentTypesWithDifferingAssemblies); 70symbolEqualityComparer.SignatureTypeEquivalenceComparer.GetHashCode(x.Type));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
301type ?? parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
30parameter.Type, 45parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (5)
297type: parameter.Type, 319type: parameter.Type, 351var parameterType = parameter.Type; 400var shouldAddNullCheck = addNullChecks && parameter.Type.CanAddNullCheck() && !parameter.Type.IsNullable();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
91.Single(m => containingType.Equals(m.Parameters.FirstOrDefault()?.Type)); 469method.Parameters[0].Type.SpecialType == SpecialType.System_Object &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\SyntaxGeneratorInternal.cs (1)
114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (2)
88parameterSymbol.Type 93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.CodeAnalysis.AnalyzerUtilities (85)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
58AddCoupledNamedTypesCore(builder, parameter.Type, wellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (22)
33method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 48method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 61method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 62method.Parameters[1].Type.SpecialType == SpecialType.System_Object && 185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 230method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean; 314SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 315SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 321SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 322SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 397method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean && 410SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, asyncDisposableType) && 411method.Parameters[1].Type.SpecialType == SpecialType.System_Boolean && 490method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 502SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type); 515SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type) && 516SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, method.Parameters[2].Type); 520=> methodSymbol.Parameters.Any(p => p.Type.TypeKind == TypeKind.Delegate); 533!method.Parameters[0].Type.IsValueType;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
47return invocation.TargetMethod.Parameters[0].Type;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (3)
110var type1 = parameter1.Type.OriginalDefinition; 111var type2 = parameter2.Type.OriginalDefinition; 222SymbolKind.Parameter => ((IParameterSymbol)symbol).Type,
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (3)
172if (DisposeOwnershipTransferLikelyTypes.Contains(parameter.Type) || 388DisposeOwnershipTransferLikelyTypes.Contains(operation.Parameter.Type), 391IsDisposableCreationSpecialCase(invocation.TargetMethod) && DisposeOwnershipTransferLikelyTypes.Contains(operation.Parameter.Type),
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (1)
156containingMethod.Parameters.Any(p => _disposeOwnershipTransferLikelyTypes.Contains(p.Type));
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
67parameter.Type.IsReferenceType &&
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
243=> PointsToAnalysis.ShouldBeTracked(parameter.Type, IsDisposable) ?
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedBytesSources.cs (4)
50arguments[0].Parameter?.Type.SpecialType == SpecialType.System_String, 63arguments[0].Parameter?.Type.SpecialType == SpecialType.System_String, 78arguments[0].Parameter?.Type is IArrayTypeSymbol arrayTypeSymbol && 88arguments[0].Parameter?.Type.SpecialType == SpecialType.System_String,
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedSymmetricAlgorithmKeysSources.cs (4)
59arguments[0].Parameter?.Type.SpecialType == SpecialType.System_String, 72arguments[0].Parameter?.Type.SpecialType == SpecialType.System_String, 88arguments[0].Parameter?.Type is IArrayTypeSymbol arrayTypeSymbol && 96arguments[0].Parameter?.Type.SpecialType == SpecialType.System_String,
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\StringTransferSources.cs (7)
38(firstParameter.Type.SpecialType == SpecialType.System_String || 39firstParameter.Type.SpecialType == SpecialType.System_Char || 40(firstParameter.Type is IArrayTypeSymbol arrayType && 43(firstParameter.Type is IPointerTypeSymbol pointerType && 87(secondParameter.Type.SpecialType == SpecialType.System_String || 88secondParameter.Type.SpecialType == SpecialType.System_Char || 89(secondParameter.Type is IArrayTypeSymbol arrayType &&
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (1)
697&& taintedArgument.Parameter.Type.SpecialType == SpecialType.System_String)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (5)
350method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean; 993var validationMethods = requiresMethods.Concat(assumeMethods).Concat(assertMethods).OfType<IMethodSymbol>().Where(m => m.IsStatic && m.ReturnsVoid && !m.Parameters.IsEmpty && (m.Parameters[0].Type.SpecialType == SpecialType.System_Boolean)); 2404if (argument.Parameter?.Type.TypeKind == TypeKind.Delegate || 2405argument.Parameter?.Type.SpecialType == SpecialType.System_Object) 2411if (argument.Parameter.Type.TypeKind == TypeKind.Delegate)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (2)
98var capacityConstructor = GetAccessibleInstanceConstructor(constructors, c => c.Parameters is [{ Name: "capacity", Type.SpecialType: SpecialType.System_Int32 }]); 169Equals(lastParameter.Type.OriginalDefinition, readonlySpanOfTType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BuiltinOperatorSymbolKey.cs (1)
30static (contextualSymbol, i) => SafeGet(contextualSymbol.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
38/// the "same" <see cref="IParameterSymbol.Type"/>s and 62/// the "same" <see cref="IParameterSymbol.Type"/>s and
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (1)
58static (contextualSymbol, i) => SafeGet(contextualSymbol.Signature.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
256getContextualType: static (method, i) => SafeGet(method.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.PropertySymbolKey.cs (1)
98getContextualType: static (property, i) => SafeGet(property.OriginalDefinition.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
402if (!signatureComparer.Equals(originalParameterTypes[i], parameters[i].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
80_writeParameterType = p => WriteSymbolKey(p.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (2)
475CompareAcrossSemanticModels(parameterSymbol.Type, newParameterSymbol.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
136var type = parameter.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (2)
74method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 75secondParam.Type.InheritsFromOrEquals(eventArgsType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (1)
250return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
346IParameterSymbol parameterSymbol => parameterSymbol.Type, 414return ((IParameterSymbol)symbol).Type; 514.Select(p => (p.Type ?? compilation.GetSpecialType(SpecialType.System_Object)).WithNullableAnnotation(p.NullableAnnotation)); 663IParameterSymbol parameterSymbol => parameterSymbol.Type, 730if (!methods.Any(x => x is { Name: WellKnownMemberNames.OnCompleted, ReturnsVoid: true, Parameters: [{ Type.TypeKind: TypeKind.Delegate }] }))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
128return symbol.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
115if (!IsSymbolAccessibleCore(param.Type, within, null, out failedThroughTypeCheck))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
51parameter.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
37accessibility = AccessibilityUtilities.Minimum(accessibility, parameter.Type.Accept(this));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
570AreEquivalent(x.Type, y.Type, equivalentTypesWithDifferingAssemblies) &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
231GetHashCode(x.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (3)
52symbolEqualityComparer.SignatureTypeEquivalenceComparer.Equals(x.Type, y.Type, equivalentTypesWithDifferingAssemblies); 70symbolEqualityComparer.SignatureTypeEquivalenceComparer.GetHashCode(x.Type));
Microsoft.CodeAnalysis.CodeStyle (49)
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\DeserializationConstructorCheck.cs (2)
19methodSymbol.Parameters[0].Type.Equals(_serializationInfoType) && 20methodSymbol.Parameters[1].Type.Equals(_streamingContextType) &&
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (2)
849attribute.AttributeConstructor?.Parameters is [_, { Name: "checkId", Type.SpecialType: SpecialType.System_String }, ..] && 858attribute.AttributeConstructor.Parameters[0].Type.SpecialType == SpecialType.System_String &&
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
966methodSymbol.Parameters[0].Type.Equals(memberSymbol.ContainingType))
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (1)
449method.Parameters.Any(static p => p.IsRefOrOut() && p.Type.IsDelegateType())))
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (4)
233method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 234secondParam.Type.InheritsFromOrEquals(_eventArgsType)) 273if (method is { MetadataName: "GetInstance", IsStatic: true, Parameters: [{ Type.SpecialType: SpecialType.System_String }] } && 295if (parameter.Type.SpecialType != SpecialType.System_Int32)
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
89if (linqMethodSymbol.Parameters is [_, { Type: INamedTypeSymbol { Arity: 2 } }])
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\UpdateExpressionState.cs (5)
206Equals(parameter1.Type, propertyParameter.Type) && 207Equals(parameter2.Type, propertyType)) is true) 272useSpread = parameter.Type.Equals(convertedType); 282useSpread = method.GetOriginalUnreducedDefinition() is not IMethodSymbol { IsExtensionMethod: true, Parameters: [_, { Type: ITypeParameterSymbol }] };
src\roslyn\src\Analyzers\Core\Analyzers\ValidateFormatString\AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
139var hasIFormatProvider = parameters[0].Type.Equals(formatProviderType);
src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\SuppressMessageAttributeState.TargetSymbolResolver.cs (1)
803return parameterType != null && symbol.Type.Equals(parameterType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (2)
98var capacityConstructor = GetAccessibleInstanceConstructor(constructors, c => c.Parameters is [{ Name: "capacity", Type.SpecialType: SpecialType.System_Int32 }]); 169Equals(lastParameter.Type.OriginalDefinition, readonlySpanOfTType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BuiltinOperatorSymbolKey.cs (1)
30static (contextualSymbol, i) => SafeGet(contextualSymbol.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
38/// the "same" <see cref="IParameterSymbol.Type"/>s and 62/// the "same" <see cref="IParameterSymbol.Type"/>s and
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (1)
58static (contextualSymbol, i) => SafeGet(contextualSymbol.Signature.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
256getContextualType: static (method, i) => SafeGet(method.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.PropertySymbolKey.cs (1)
98getContextualType: static (property, i) => SafeGet(property.OriginalDefinition.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
402if (!signatureComparer.Equals(originalParameterTypes[i], parameters[i].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
80_writeParameterType = p => WriteSymbolKey(p.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (2)
475CompareAcrossSemanticModels(parameterSymbol.Type, newParameterSymbol.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
136var type = parameter.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (2)
74method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 75secondParam.Type.InheritsFromOrEquals(eventArgsType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (1)
250return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
346IParameterSymbol parameterSymbol => parameterSymbol.Type, 414return ((IParameterSymbol)symbol).Type; 514.Select(p => (p.Type ?? compilation.GetSpecialType(SpecialType.System_Object)).WithNullableAnnotation(p.NullableAnnotation)); 663IParameterSymbol parameterSymbol => parameterSymbol.Type, 730if (!methods.Any(x => x is { Name: WellKnownMemberNames.OnCompleted, ReturnsVoid: true, Parameters: [{ Type.TypeKind: TypeKind.Delegate }] }))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
128return symbol.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
115if (!IsSymbolAccessibleCore(param.Type, within, null, out failedThroughTypeCheck))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
51parameter.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
37accessibility = AccessibilityUtilities.Minimum(accessibility, parameter.Type.Accept(this));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
570AreEquivalent(x.Type, y.Type, equivalentTypesWithDifferingAssemblies) &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
231GetHashCode(x.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (3)
52symbolEqualityComparer.SignatureTypeEquivalenceComparer.Equals(x.Type, y.Type, equivalentTypesWithDifferingAssemblies); 70symbolEqualityComparer.SignatureTypeEquivalenceComparer.GetHashCode(x.Type));
Microsoft.CodeAnalysis.CodeStyle.Fixes (31)
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\Fixer.cs (1)
153var parameterType = parameters[parameterIndex].Type;
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (2)
498compilation, argumentTypeInfo, parameter.Type, 523if (parameter.IsParams && parameter.Type is IArrayTypeSymbol arrayType)
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AddParameterService.cs (1)
200[parameter.Type],
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (2)
224constructor.Parameters.Select(p => p.Type).SequenceEqual(ParameterTypes)) 258var result = SymbolEquivalenceComparer.Instance.Equals(ctorParameter.Type, ParameterTypes[i]) &&
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\GenerateConstructorHelpers.cs (1)
122var conversion = semanticFacts.ClassifyConversion(semanticModel, expression, constructorParameter.Type);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.State.cs (1)
237var typeLocalName = parameter.Type.GetLocalName(fallback: parameter.Name);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.MethodSignatureInfo.cs (1)
38=> _methodSymbol.Parameters.SelectAsArray(p => p.Type);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.SignatureInfo.cs (1)
99isUnsafe = returnType.RequiresUnsafeModifier() || parameters.Any(static p => p.Type.RequiresUnsafeModifier());
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.cs (1)
224Equals(parameter.Type, cancellationTokenType))
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementHelpers.cs (2)
51if (includeMemberType(parameter.Type) && 151if (IsTypeLessAccessibleThanOtherType(parameter.Type, second, []))
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_Method.cs (2)
82t => compilation.ClassifyCommonConversion(t.p1.Type, t.p2.Type) is not { IsImplicit: true, Exists: true }))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
301type ?? parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
30parameter.Type, 45parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (5)
297type: parameter.Type, 319type: parameter.Type, 351var parameterType = parameter.Type; 400var shouldAddNullCheck = addNullChecks && parameter.Type.CanAddNullCheck() && !parameter.Type.IsNullable();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
91.Single(m => containingType.Equals(m.Parameters.FirstOrDefault()?.Type)); 469method.Parameters[0].Type.SpecialType == SpecialType.System_Object &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\SyntaxGeneratorInternal.cs (1)
114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (2)
88parameterSymbol.Type 93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.CodeAnalysis.CSharp (6)
SymbolDisplay\SymbolDisplayVisitor.Members.cs (6)
302symbol = symbol.ReduceExtensionMethod(symbol.Parameters.First().Type) ?? symbol; 646param.Type.Accept(this.NotFirstVisitor); 805CanAddConstant(symbol.Type, symbol.ExplicitDefaultValue); 836AddConstantValue(symbol.Type, symbol.ExplicitDefaultValue); 874!(symbol.IsParams && symbol.Type is { IsRefLikeType: true } or ITypeParameterSymbol { AllowsRefLikeType: true })) 881symbol.Type.Accept(this.NotFirstVisitor);
Microsoft.CodeAnalysis.CSharp.Analyzers (1)
MetaAnalyzers\CSharpSemanticModelGetDeclaredSymbolAlwaysReturnsNullAnalyzer.cs (1)
66.Select(m => m.Parameters[1].Type);
Microsoft.CodeAnalysis.CSharp.CodeStyle (31)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (2)
172if (!IsIdentityOrImplicitConversion(compilation, lambdaParameter.Type, invokedParameter.Type))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForNewDiagnosticAnalyzer.cs (4)
56constructorParameter.Type.Name != nameof(IEnumerable<>)) 61if (!Equals(compilation.IEnumerableOfTType(), constructorParameter.Type.OriginalDefinition)) 80var constructorParameterTypeArg = constructorParameter.Type.GetTypeArguments().Single(); 85addParameter.Type.Equals(constructorParameterTypeArg)))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (5)
579if (siblingParameter.Type.IsRefLikeType && 947Type: INamedTypeSymbol 966if (originalCreateMethod.Parameters.All(static p => p.Type is ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method })) 971if (originalCreateMethod.Parameters is [{ IsParams: true, Type: IArrayTypeSymbol { ElementType: ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method } } }]) 994Type: INamedTypeSymbol
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (3)
158if (firstParameter is { Type.SpecialType: SpecialType.System_Int32, Name: "capacity" }) 279var implementedInterface = firstParameter.Type 291if (!addMethods.Any(m => m.Parameters is [{ Type: var parameterType }] && Equals(parameterType, elementType)))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\Helpers.cs (5)
78method.OriginalDefinition.Parameters[0].Type.SpecialType == SpecialType.System_Int32; 116=> parameter.Type.SpecialType == SpecialType.System_Int32 && 120=> parameter.Type.SpecialType == SpecialType.System_Int32 && 135p.Parameters[0].Type.Equals(parameterType)) 150m.Parameters[0].Type.Equals(parameterType) &&
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (1)
254if (parameter?.Type.NullableAnnotation == NullableAnnotation.Annotated)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (2)
369if (constructor.Parameters.Any(p => p.Type.IsRefLikeType)) 534parameter.Type.Equals(member.GetMemberType(), SymbolEqualityComparer.IncludeNullability))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
957return argument.DetermineParameter(semanticModel, allowUncertainCandidates: false, allowParams: true, cancellationToken)?.Type; 962=> argument.DetermineParameter(semanticModel, allowUncertainCandidates: false, allowParams: true, cancellationToken)?.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (1)
445if (parameter.Type.OriginalDefinition.TypeKind != TypeKind.TypeParameter)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
826if (symbol is IMethodSymbol { Parameters: [{ Type.OriginalDefinition: var parameterType }, ..] } &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1115type.Equals(parameters[0].Type) && 1116type.Equals(parameters[1].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (2)
267var originalParamType = this.OriginalSemanticModel.GetDeclaredSymbol(originalParam).Type; 268var replacedParamType = this.SpeculativeSemanticModel.GetDeclaredSymbol(replacedParam).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
224if (argumentOp is not { Value.Type: { } valueType, Parameter.Type: { } parameterType })
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (24)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
161ExpressionGenerator.GenerateExpression(parameter.Type, value: null, canUseFieldReference: false))));
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (3)
161if (constructorSymbol is { Parameters: [{ Type: var parameterType }] } && 173else if (!constructorSymbol.Parameters.Select(parameter => parameter.Type) 357.SelectAsArray(parameter => parameter.Type)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (3)
37methodSymbol.Parameters.First().Type.SpecialType == SpecialType.System_Object && 510if (parameter.Type.Equals(type)) 517else if (parameter.Type.SpecialType == SpecialType.System_Object)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (1)
186parameterList, parameterList.WithParameters(parameters.Insert(0, Parameter(Identifier("@this")).WithType(thisParameter.Type.GenerateTypeSyntax()))));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (3)
49currentMethod.Parameters is [.., { IsParams: true, Type: IArrayTypeSymbol arrayType }]) 86if (!originalParameter.Type.Equals(currentParameter.Type))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (2)
287parameterNode = parameterNode.WithType(delegateParameter?.Type.GenerateTypeSyntax() ?? s_objectType); 346=> EqualsValueClause(ExpressionGenerator.GenerateExpression(parameter.Type, parameter.ExplicitDefaultValue, canUseFieldReference: true));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\MethodGenerator.cs (1)
245.SelectMany(p => p.Type.GetReferencedTypeParameters())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ParameterGenerator.cs (2)
70.WithType(parameter.Type.GenerateTypeSyntax(allowVar: false)) 111=> ExpressionGenerator.GenerateExpression(parameter.Type, value, canUseFieldReference: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
168var parameters = symbol.Signature.Parameters.Select(p => (p.Type, RefKindModifiers: CSharpSyntaxGeneratorInternal.GetParameterModifiers(p)))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\WithElementSyntaxExtensions.cs (1)
57static m => m.Parameters is [{ Type.SpecialType: SpecialType.System_Int32, Name: "capacity" }]);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (6)
785.Select(p => new TypeInferenceInfo(p.Type, p.IsParams)); 798var info = new TypeInferenceInfo(parameter.Type, parameter.IsParams); 1227return CreateResult(parameter.Type); 1393.Select(a => new TypeInferenceInfo(a.Parameters.ElementAtOrDefault(parameterIndex)?.Type)) 1411.Select(a => new TypeInferenceInfo(a.Parameters[0].Type)); 1499var addMethodParameterTypes = addMethodSymbols.Select(m => ((IMethodSymbol)m).Parameters[0]).Select(p => new TypeInferenceInfo(p.Type));
Microsoft.CodeAnalysis.CSharp.Features (58)
ChangeSignature\CSharpChangeSignatureService.cs (1)
925var objectCreation = ArrayCreationExpression((ArrayTypeSyntax)parameterSymbol.Type.GenerateTypeSyntax(), initializerExpression);
CodeRefactorings\ConvertLocalFunctionToMethod\CSharpConvertLocalFunctionToMethodCodeRefactoringProvider.cs (1)
303.WithType(parameter.Type.GenerateTypeSyntax());
Completion\CompletionProviders\CrefCompletionProvider.cs (1)
307builder.Append(p.Type.ToMinimalDisplayString(semanticModel, position, MinimalParameterTypeFormat));
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (1)
322methodParameterType.Equals(overloadParameter.Type, SymbolEqualityComparer.Default))
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.ItemGetter.cs (1)
258AddType(parameter.Type, builder, semanticModel);
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider_Conversions.cs (1)
72var symbols = ImmutableArray.Create<ISymbol>(conversion.ContainingType, conversion.Parameters.First().Type, conversion.ReturnType);
Completion\Providers\DefaultArgumentProvider.cs (3)
31else if (context.Parameter.Type.IsReferenceType || context.Parameter.Type.IsNullable()) 37context.DefaultValue = context.Parameter.Type.SpecialType switch
ConvertToExtension\ConvertToExtensionCodeRefactoringProvider.cs (2)
98firstParameterSymbol.Type.AddReferencedMethodTypeParameters(methodTypeParameters); 167string.Format(CSharpFeaturesResources.Convert_0_extension_methods_to_extension, specificExtension.Value.FirstParameter.Type.ToDisplayString()),
InitializeParameter\CSharpInitializeMemberFromPrimaryConstructorParameterCodeRefactoringProvider.cs (4)
111IsImplicitConversion(compilation, source: parameter.Type, destination: field.Type) && 120IsImplicitConversion(compilation, source: parameter.Type, destination: property.Type) && 225parameter.Type, 249parameter.Type,
InlineHints\CSharpInlineTypeHintsService.cs (4)
78IsValidType(parameter?.Type)) 81? new TypeHint(parameter.Type, span, textChange: new TextChange(span, GetTypeDisplayString(parameter.Type) + " "), trailingSpace: true) 82: new TypeHint(parameter.Type, span, textChange: null, trailingSpace: true);
IntroduceParameter\CSharpIntroduceParameterCodeRefactoringProvider.cs (1)
26=> ExpressionGenerator.GenerateExpression(parameterSymbol.Type, parameterSymbol.ExplicitDefaultValue, canUseFieldReference: true);
QuickInfo\OnTheFlyDocsUtilities.cs (1)
16var parameterStrings = symbol.GetParameters().SelectAsArray(parameter => GetOnTheFlyDocsRelevantFileInfo(parameter.Type));
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider_DelegateType.cs (1)
65parts.AddRange(parameter.Type.ToMinimalDisplayParts(semanticModel, position));
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryLambdaExpression\CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (2)
172if (!IsIdentityOrImplicitConversion(compilation, lambdaParameter.Type, invokedParameter.Type))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForNewDiagnosticAnalyzer.cs (4)
56constructorParameter.Type.Name != nameof(IEnumerable<>)) 61if (!Equals(compilation.IEnumerableOfTType(), constructorParameter.Type.OriginalDefinition)) 80var constructorParameterTypeArg = constructorParameter.Type.GetTypeArguments().Single(); 85addParameter.Type.Equals(constructorParameterTypeArg)))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (5)
579if (siblingParameter.Type.IsRefLikeType && 947Type: INamedTypeSymbol 966if (originalCreateMethod.Parameters.All(static p => p.Type is ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method })) 971if (originalCreateMethod.Parameters is [{ IsParams: true, Type: IArrayTypeSymbol { ElementType: ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method } } }]) 994Type: INamedTypeSymbol
src\roslyn\src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (3)
158if (firstParameter is { Type.SpecialType: SpecialType.System_Int32, Name: "capacity" }) 279var implementedInterface = firstParameter.Type 291if (!addMethods.Any(m => m.Parameters is [{ Type: var parameterType }] && Equals(parameterType, elementType)))
src\roslyn\src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\Helpers.cs (5)
78method.OriginalDefinition.Parameters[0].Type.SpecialType == SpecialType.System_Int32; 116=> parameter.Type.SpecialType == SpecialType.System_Int32 && 120=> parameter.Type.SpecialType == SpecialType.System_Int32 && 135p.Parameters[0].Type.Equals(parameterType)) 150m.Parameters[0].Type.Equals(parameterType) &&
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (1)
254if (parameter?.Type.NullableAnnotation == NullableAnnotation.Annotated)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (2)
369if (constructor.Parameters.Any(p => p.Type.IsRefLikeType)) 534parameter.Type.Equals(member.GetMemberType(), SymbolEqualityComparer.IncludeNullability))
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
161ExpressionGenerator.GenerateExpression(parameter.Type, value: null, canUseFieldReference: false))));
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordEngine.cs (3)
161if (constructorSymbol is { Parameters: [{ Type: var parameterType }] } && 173else if (!constructorSymbol.Parameters.Select(parameter => parameter.Type) 357.SelectAsArray(parameter => parameter.Type)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (3)
37methodSymbol.Parameters.First().Type.SpecialType == SpecialType.System_Object && 510if (parameter.Type.Equals(type)) 517else if (parameter.Type.SpecialType == SpecialType.System_Object)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (1)
186parameterList, parameterList.WithParameters(parameters.Insert(0, Parameter(Identifier("@this")).WithType(thisParameter.Type.GenerateTypeSyntax()))));
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (3)
49currentMethod.Parameters is [.., { IsParams: true, Type: IArrayTypeSymbol arrayType }]) 86if (!originalParameter.Type.Equals(currentParameter.Type))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseLocalFunction\CSharpUseLocalFunctionCodeFixProvider.cs (2)
287parameterNode = parameterNode.WithType(delegateParameter?.Type.GenerateTypeSyntax() ?? s_objectType); 346=> EqualsValueClause(ExpressionGenerator.GenerateExpression(parameter.Type, parameter.ExplicitDefaultValue, canUseFieldReference: true));
UseNamedArguments\CSharpUseNamedArgumentsCodeRefactoringProvider.cs (1)
49var conversion = semanticModel.Compilation.ClassifyConversion(argType, parameters[0].Type);
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (2)
Microsoft.NetCore.Analyzers\Performance\CSharpRecommendCaseInsensitiveStringComparisonFixer.cs (1)
72if (rightOffendingMethod != null && arg.Parameter?.Type?.Name == StringTypeName)
Microsoft.NetCore.Analyzers\Runtime\CSharpForwardCancellationTokenToInvocations.Analyzer.cs (1)
37(a.IsImplicit && a.Parameter != null && !a.Parameter.Type.Equals(cancellationTokenType)) ||
Microsoft.CodeAnalysis.CSharp.Workspaces (32)
Recommendations\CSharpRecommendationServiceRunner.cs (1)
852var useBaseReferenceAccessibility = symbol is IParameterSymbol { IsThis: true } p && !p.Type.Equals(containerType);
Recommendations\CSharpRecommendationServiceRunner_Conversions.cs (3)
172if (!type.Equals(method.Parameters[0].Type)) 190=> method.ReturnType.IsNonNullableValueType() && method.Parameters.Single().Type.IsNonNullableValueType(); 196TryMakeNullable(compilation, method.Parameters.Single().Type),
Recommendations\CSharpRecommendationServiceRunner_Operators.cs (1)
62if (symbol.IsUserDefinedOperator() && symbol.Parameters.All(p => p.Type.IsValueType))
Rename\CSharpRenameRewriterLanguageService.cs (1)
770matchingLocal is IParameterSymbol { Type.TypeKind: TypeKind.Delegate };
Simplification\CSharpSimplificationService.Expander.cs (4)
181if (parameterSymbols.All(p => p.Type?.ContainsAnonymousType() == false)) 187var typeSyntax = parameterSymbols[i].Type.GenerateTypeSyntax().WithTrailingTrivia(s_oneWhitespaceSeparator); 224if (parameterSymbol?.Type?.ContainsAnonymousType() == false) 226var typeSyntax = parameterSymbol.Type.GenerateTypeSyntax().WithTrailingTrivia(s_oneWhitespaceSeparator);
Simplification\Reducers\CSharpMiscellaneousReducer.cs (2)
57Equals(oldSymbol.Type, newSymbol.Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
957return argument.DetermineParameter(semanticModel, allowUncertainCandidates: false, allowParams: true, cancellationToken)?.Type; 962=> argument.DetermineParameter(semanticModel, allowUncertainCandidates: false, allowParams: true, cancellationToken)?.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (1)
445if (parameter.Type.OriginalDefinition.TypeKind != TypeKind.TypeParameter)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
826if (symbol is IMethodSymbol { Parameters: [{ Type.OriginalDefinition: var parameterType }, ..] } &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1115type.Equals(parameters[0].Type) && 1116type.Equals(parameters[1].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (2)
267var originalParamType = this.OriginalSemanticModel.GetDeclaredSymbol(originalParam).Type; 268var replacedParamType = this.SpeculativeSemanticModel.GetDeclaredSymbol(replacedParam).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
224if (argumentOp is not { Value.Type: { } valueType, Parameter.Type: { } parameterType })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\MethodGenerator.cs (1)
245.SelectMany(p => p.Type.GetReferencedTypeParameters())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ParameterGenerator.cs (2)
70.WithType(parameter.Type.GenerateTypeSyntax(allowVar: false)) 111=> ExpressionGenerator.GenerateExpression(parameter.Type, value, canUseFieldReference: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
168var parameters = symbol.Signature.Parameters.Select(p => (p.Type, RefKindModifiers: CSharpSyntaxGeneratorInternal.GetParameterModifiers(p)))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\WithElementSyntaxExtensions.cs (1)
57static m => m.Parameters is [{ Type.SpecialType: SpecialType.System_Int32, Name: "capacity" }]);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (6)
785.Select(p => new TypeInferenceInfo(p.Type, p.IsParams)); 798var info = new TypeInferenceInfo(parameter.Type, parameter.IsParams); 1227return CreateResult(parameter.Type); 1393.Select(a => new TypeInferenceInfo(a.Parameters.ElementAtOrDefault(parameterIndex)?.Type)) 1411.Select(a => new TypeInferenceInfo(a.Parameters[0].Type)); 1499var addMethodParameterTypes = addMethodSymbols.Select(m => ((IMethodSymbol)m).Parameters[0]).Select(p => new TypeInferenceInfo(p.Type));
Microsoft.CodeAnalysis.Extensions.Package (18)
Symbols\IMethodSymbolExtensions.cs (2)
74method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 75secondParam.Type.InheritsFromOrEquals(eventArgsType);
Symbols\INamedTypeSymbolExtensions.cs (1)
250return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
Symbols\ISymbolExtensions.cs (5)
346IParameterSymbol parameterSymbol => parameterSymbol.Type, 414return ((IParameterSymbol)symbol).Type; 514.Select(p => (p.Type ?? compilation.GetSpecialType(SpecialType.System_Object)).WithNullableAnnotation(p.NullableAnnotation)); 663IParameterSymbol parameterSymbol => parameterSymbol.Type, 730if (!methods.Any(x => x is { Name: WellKnownMemberNames.OnCompleted, ReturnsVoid: true, Parameters: [{ Type.TypeKind: TypeKind.Delegate }] }))
Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
128return symbol.Type.Accept(this);
Symbols\ISymbolExtensions_Accessibility.cs (1)
115if (!IsSymbolAccessibleCore(param.Type, within, null, out failedThroughTypeCheck))
Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
51parameter.Type.Accept(this);
Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
37accessibility = AccessibilityUtilities.Minimum(accessibility, parameter.Type.Accept(this));
Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
570AreEquivalent(x.Type, y.Type, equivalentTypesWithDifferingAssemblies) &&
Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
231GetHashCode(x.Type,
Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (3)
52symbolEqualityComparer.SignatureTypeEquivalenceComparer.Equals(x.Type, y.Type, equivalentTypesWithDifferingAssemblies); 70symbolEqualityComparer.SignatureTypeEquivalenceComparer.GetHashCode(x.Type));
Microsoft.CodeAnalysis.Features (100)
AddConstructorParametersFromMembers\AddConstructorParametersFromMembersCodeRefactoringProvider.cs (1)
143type: t.parameter.Type,
ChangeSignature\AbstractChangeSignatureService.cs (1)
1062var toType = methodSymbol.Parameters.Last().Type;
Completion\Providers\AbstractContextVariableArgumentProvider.cs (3)
30var requireExactType = context.Parameter.Type.IsSpecialType() 117if (requireExactType && !SymbolEqualityComparer.Default.Equals(context.Parameter.Type, symbolType)) 122var conversion = context.SemanticModel.Compilation.ClassifyCommonConversion(symbolType, context.Parameter.Type);
Completion\Providers\AbstractPartialMethodCompletionProvider.cs (1)
74parameters: method.Parameters.SelectAsArray(p => CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type, p.Name)),
Completion\Providers\ImportCompletionProvider\AbstractExtensionMethodImportCompletionProvider.cs (1)
119IParameterSymbol parameterSymbol => parameterSymbol.Type,
Completion\Providers\ImportCompletionProvider\ExtensionMemberImportCompletionHelper.SymbolComputer.cs (5)
385extensionParameter.Type is ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method } typeParameter) 500if (filterReceiverTypeName.Length > 0 && !string.Equals(filterReceiverTypeName, GetReceiverTypeName(extensionParameter.Type), StringComparison.Ordinal)) 506receiverType = extensionParameter.Type; 516if (filterReceiverTypeName.Length > 0 && !string.Equals(filterReceiverTypeName, GetReceiverTypeName(method.Parameters[0].Type), StringComparison.Ordinal)) 519receiverType = method.Parameters[0].Type;
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (1)
536=> property is { IsIndexer: true, Parameters: [{ Type.SpecialType: SpecialType.System_Int32 }] };
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (1)
875CodeGenerationSymbolFactory.CreateParameterSymbol(RefKind.Out, p.Type, p.Name)),
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (3)
6734SymbolKind.Parameter => ((IParameterSymbol)localOrParameter).Type, 7158=> method.Parameters is [var parameter] && SymbolEqualityComparer.Default.Equals(parameter.Type, compilation.GetTypeByMetadataName(typeof(StringBuilder).FullName!)); 7161=> method.Parameters is [var parameter] && SymbolEqualityComparer.Default.Equals(parameter.Type, method.ContainingType);
EditAndContinue\Utilities\Extensions.cs (3)
214=> symbol is IMethodSymbol { Parameters: [var parameter] } && SymbolEqualityComparer.Default.Equals(parameter.Type, symbol.ContainingType); 220static (param, constructor) => param.RefKind == RefKind.Out && param.Type.Equals(constructor.Parameters[param.Ordinal].Type, SymbolEqualityComparer.Default),
EmbeddedLanguages\EmbeddedLanguageDetector.cs (1)
190m => m is IMethodSymbol { Parameters: [{ Type.SpecialType: SpecialType.System_String }, ..] });
ExtractMethod\MethodExtractor.Analyzer.cs (2)
117&& thisParameterBeingRead is { Type: { TypeKind: TypeKind.Struct, IsReadOnly: false } }; 579IParameterSymbol parameter => parameter.Type,
ExtractMethod\MethodExtractor.TypeParameterCollector.cs (1)
42param.Type.Accept(this);
GenerateComparisonOperators\GenerateComparisonOperatorsCodeRefactoringProvider.cs (1)
245comparedType.Equals(method.Parameters[1].Type))
GenerateConstructors\AbstractGenerateConstructorsCodeRefactoringProvider.State.cs (4)
105let constructorTypes = c.Parameters.Select(p => p.Type) 106let symbolTypes = parameters.Take(c.Parameters.Length).Select(p => p.parameter.Type) 117=> parameters.Select(p => p.parameter.Type).SequenceEqual(constructor.Parameters.Select(p => p.Type));
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider.cs (2)
131containingType.Equals(m.Parameters[0].Type) && 132containingType.Equals(m.Parameters[1].Type));
GenerateType\AbstractGenerateTypeService.GenerateNamedType.cs (1)
130static (c, parameterTypes) => c.Parameters.Select(p => p.Type).SequenceEqual(parameterTypes, SymbolEqualityComparer.Default), parameterTypes))
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (13)
124if (parameter.Type.SpecialType == SpecialType.System_String) 209if (parameter.Type.SpecialType == SpecialType.System_String) 283else if (parameter.Type.SpecialType == SpecialType.System_String && 341if (parameter.Type.IsReferenceType) 344if (parameter.Type.NullableAnnotation == NullableAnnotation.Annotated) 347else if (!parameter.Type.IsNullable()) 399if (!parameter.Type.IsSignedIntegralType()) 437var parameterType = parameter.Type; 649var typeOfParameterExpression = generator.TypeOfExpression(generator.TypeExpression(parameter.Type)); 657generator.GenericName(enumIsDefinedGenericMethod.Name, parameter.Type)), 694if (parameter.Type.IsReferenceType && argumentNullExceptionType != null) 698.FirstOrDefault(s => s is IMethodSymbol { Parameters: [{ Type.SpecialType: SpecialType.System_Object }, ..] }); 765.FirstOrDefault(s => s is IMethodSymbol { Parameters: [{ Type.SpecialType: SpecialType.System_String }, ..] });
InitializeParameter\AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs (4)
300parameter.Type, uniqueName); 341parameter.Type, 639IsImplicitConversion(compilation, source: parameter.Type, destination: field.Type) && 649IsImplicitConversion(compilation, source: parameter.Type, destination: property.Type) &&
InlineHints\AbstractInlineParameterNameHintsService.cs (1)
243return parameter.Type.SpecialType == SpecialType.System_Boolean;
InlineMethod\AbstractInlineMethodRefactoringProvider.cs (1)
347.LocalDeclarationStatement(parameterSymbol.Type, name, rightHandSideValue);
InlineMethod\AbstractInlineMethodRefactoringProvider.InlineContext.cs (2)
259parameterAndName.parameterSymbol.Type, 281return (TStatementSyntax)syntaxGenerator.LocalDeclarationStatement(parameterSymbol.Type, name, expression);
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (2)
501&& parameterSymbol.Type is IArrayTypeSymbol paramArrayParameter 521return GenerateLiteralExpression(parameterSymbol.Type, parameterSymbol.ExplicitDefaultValue);
IntroduceParameter\IntroduceParameterDocumentRewriter.cs (1)
613!parameter.Type.Equals(compilation.GetTypeByMetadataName(typeof(CancellationToken)?.FullName!));
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.StructuralTypeCollectorVisitor.cs (1)
114=> symbol.Type.Accept(this);
QuickInfo\CommonSemanticQuickInfoProvider.ErrorVisitor.cs (1)
73=> Visit(symbol.Type);
ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs (1)
138SymbolEqualityComparer.IncludeNullability.Equals(parameter.Type, getMethod.ReturnType) &&
ReplacePropertyWithMethods\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (1)
150comparer.Equals(m.Parameters[0].Type, property.Type));
RQName\RQNodeBuilder.cs (1)
145var parameterType = BuildType(parameter.Type);
Shared\Extensions\ISymbolExtensions_Sorting.cs (3)
78var xParamType = GetNamedType(xParam.Type); 79var yParamType = GetNamedType(yParam.Type); 135return [.. GetMethodOrIndexerOrEventParameters(symbol).Select(p => p.Type.ToMinimalDisplayString(semanticModel, position))];
Shared\Utilities\ExtractTypeHelpers.cs (2)
210return method.Parameters.Any(static (t, arg) => DoesTypeReferenceTypeParameter(t.Type, arg.typeParameter, arg.checkedTypes), (typeParameter, checkedTypes)) || 215return property.Parameters.Any(static (t, arg) => DoesTypeReferenceTypeParameter(t.Type, arg.typeParameter, arg.checkedTypes), (typeParameter, checkedTypes)) ||
src\roslyn\src\Analyzers\Core\Analyzers\Helpers\DeserializationConstructorCheck.cs (2)
19methodSymbol.Parameters[0].Type.Equals(_serializationInfoType) && 20methodSymbol.Parameters[1].Type.Equals(_streamingContextType) &&
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (2)
849attribute.AttributeConstructor?.Parameters is [_, { Name: "checkId", Type.SpecialType: SpecialType.System_String }, ..] && 858attribute.AttributeConstructor.Parameters[0].Type.SpecialType == SpecialType.System_String &&
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
966methodSymbol.Parameters[0].Type.Equals(memberSymbol.ContainingType))
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (1)
449method.Parameters.Any(static p => p.IsRefOrOut() && p.Type.IsDelegateType())))
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (4)
233method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 234secondParam.Type.InheritsFromOrEquals(_eventArgsType)) 273if (method is { MetadataName: "GetInstance", IsStatic: true, Parameters: [{ Type.SpecialType: SpecialType.System_String }] } && 295if (parameter.Type.SpecialType != SpecialType.System_Int32)
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (1)
89if (linqMethodSymbol.Parameters is [_, { Type: INamedTypeSymbol { Arity: 2 } }])
src\roslyn\src\Analyzers\Core\Analyzers\UseCollectionInitializer\UpdateExpressionState.cs (5)
206Equals(parameter1.Type, propertyParameter.Type) && 207Equals(parameter2.Type, propertyType)) is true) 272useSpread = parameter.Type.Equals(convertedType); 282useSpread = method.GetOriginalUnreducedDefinition() is not IMethodSymbol { IsExtensionMethod: true, Parameters: [_, { Type: ITypeParameterSymbol }] };
src\roslyn\src\Analyzers\Core\Analyzers\ValidateFormatString\AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
139var hasIFormatProvider = parameters[0].Type.Equals(formatProviderType);
src\roslyn\src\Analyzers\Core\CodeFixes\AddExplicitCast\Fixer.cs (1)
153var parameterType = parameters[parameterIndex].Type;
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AbstractAddParameterCodeFixProvider.cs (2)
498compilation, argumentTypeInfo, parameter.Type, 523if (parameter.IsParams && parameter.Type is IArrayTypeSymbol arrayType)
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AddParameterService.cs (1)
200[parameter.Type],
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.State.cs (2)
224constructor.Parameters.Select(p => p.Type).SequenceEqual(ParameterTypes)) 258var result = SymbolEquivalenceComparer.Instance.Equals(ctorParameter.Type, ParameterTypes[i]) &&
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateConstructor\GenerateConstructorHelpers.cs (1)
122var conversion = semanticFacts.ClassifyConversion(semanticModel, expression, constructorParameter.Type);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.State.cs (1)
237var typeLocalName = parameter.Type.GetLocalName(fallback: parameter.Name);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.MethodSignatureInfo.cs (1)
38=> _methodSymbol.Parameters.SelectAsArray(p => p.Type);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.SignatureInfo.cs (1)
99isUnsafe = returnType.RequiresUnsafeModifier() || parameters.Any(static p => p.Type.RequiresUnsafeModifier());
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.cs (1)
224Equals(parameter.Type, cancellationTokenType))
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementHelpers.cs (2)
51if (includeMemberType(parameter.Type) && 151if (IsTypeLessAccessibleThanOtherType(parameter.Type, second, []))
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\ImplementInterfaceGenerator_Method.cs (2)
82t => compilation.ClassifyCommonConversion(t.p1.Type, t.p2.Type) is not { IsImplicit: true, Exists: true }))
src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\SuppressMessageAttributeState.TargetSymbolResolver.cs (1)
803return parameterType != null && symbol.Type.Equals(parameterType);
StackTraceExplorer\AbstractStackTraceSymbolResolver.cs (1)
101if (!MatchType(paramSymbol.Type, stackFrameParameter.Type))
Microsoft.CodeAnalysis.Razor.Compiler (20)
CSharp\CompilationExtensions.cs (1)
59Parameters: [{ Type: var paramType }]
Language\TagHelpers\Producers\ComponentTagHelperProducer.cs (1)
373Parameters: [{ Type.TypeKind: TypeKind.Delegate }]
Mvc.Version1_X\ViewComponentTagHelperDescriptorFactory.cs (6)
182var typeName = parameter.Type.GetFullName(); 196if (parameter.Type.TypeKind == TypeKind.Enum) 215if (SymbolEqualityComparer.Default.Equals((parameter.Type as INamedTypeSymbol)?.ConstructedFrom, _iDictionarySymbol)) 217dictionaryType = (INamedTypeSymbol)parameter.Type; 219else if (parameter.Type.AllInterfaces.Any(s => SymbolEqualityComparer.Default.Equals(s.ConstructedFrom, _iDictionarySymbol))) 221dictionaryType = parameter.Type.AllInterfaces.First(s => SymbolEqualityComparer.Default.Equals(s.ConstructedFrom, _iDictionarySymbol));
Mvc.Version2_X\ViewComponentTagHelperDescriptorFactory.cs (6)
197var typeName = parameter.Type.GetFullName(); 211if (parameter.Type.TypeKind == TypeKind.Enum) 230if (SymbolEqualityComparer.Default.Equals((parameter.Type as INamedTypeSymbol)?.ConstructedFrom, _iDictionarySymbol)) 232dictionaryType = (INamedTypeSymbol)parameter.Type; 234else if (parameter.Type.AllInterfaces.Any(s => SymbolEqualityComparer.Default.Equals(s.ConstructedFrom, _iDictionarySymbol))) 236dictionaryType = parameter.Type.AllInterfaces.First(s => SymbolEqualityComparer.Default.Equals(s.ConstructedFrom, _iDictionarySymbol));
Mvc\ViewComponentTagHelperDescriptorFactory.cs (6)
200var typeName = parameter.Type.GetFullName(); 214if (parameter.Type.TypeKind == TypeKind.Enum) 233if (SymbolEqualityComparer.Default.Equals((parameter.Type as INamedTypeSymbol)?.ConstructedFrom, _iDictionarySymbol)) 235dictionaryType = (INamedTypeSymbol)parameter.Type; 237else if (parameter.Type.AllInterfaces.Any(s => SymbolEqualityComparer.Default.Equals(s.ConstructedFrom, _iDictionarySymbol))) 239dictionaryType = parameter.Type.AllInterfaces.First(s => SymbolEqualityComparer.Default.Equals(s.ConstructedFrom, _iDictionarySymbol));
Microsoft.CodeAnalysis.ResxSourceGenerator (58)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
58AddCoupledNamedTypesCore(builder, parameter.Type, wellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (22)
33method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 48method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 61method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 62method.Parameters[1].Type.SpecialType == SpecialType.System_Object && 185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 230method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean; 314SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 315SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 321SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 322SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 397method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean && 410SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, asyncDisposableType) && 411method.Parameters[1].Type.SpecialType == SpecialType.System_Boolean && 490method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 502SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type); 515SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type) && 516SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, method.Parameters[2].Type); 520=> methodSymbol.Parameters.Any(p => p.Type.TypeKind == TypeKind.Delegate); 533!method.Parameters[0].Type.IsValueType;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
47return invocation.TargetMethod.Parameters[0].Type;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (3)
110var type1 = parameter1.Type.OriginalDefinition; 111var type2 = parameter2.Type.OriginalDefinition; 222SymbolKind.Parameter => ((IParameterSymbol)symbol).Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (2)
98var capacityConstructor = GetAccessibleInstanceConstructor(constructors, c => c.Parameters is [{ Name: "capacity", Type.SpecialType: SpecialType.System_Int32 }]); 169Equals(lastParameter.Type.OriginalDefinition, readonlySpanOfTType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BuiltinOperatorSymbolKey.cs (1)
30static (contextualSymbol, i) => SafeGet(contextualSymbol.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
38/// the "same" <see cref="IParameterSymbol.Type"/>s and 62/// the "same" <see cref="IParameterSymbol.Type"/>s and
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (1)
58static (contextualSymbol, i) => SafeGet(contextualSymbol.Signature.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
256getContextualType: static (method, i) => SafeGet(method.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.PropertySymbolKey.cs (1)
98getContextualType: static (property, i) => SafeGet(property.OriginalDefinition.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
402if (!signatureComparer.Equals(originalParameterTypes[i], parameters[i].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
80_writeParameterType = p => WriteSymbolKey(p.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (2)
475CompareAcrossSemanticModels(parameterSymbol.Type, newParameterSymbol.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
136var type = parameter.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (2)
74method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 75secondParam.Type.InheritsFromOrEquals(eventArgsType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (1)
250return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
346IParameterSymbol parameterSymbol => parameterSymbol.Type, 414return ((IParameterSymbol)symbol).Type; 514.Select(p => (p.Type ?? compilation.GetSpecialType(SpecialType.System_Object)).WithNullableAnnotation(p.NullableAnnotation)); 663IParameterSymbol parameterSymbol => parameterSymbol.Type, 730if (!methods.Any(x => x is { Name: WellKnownMemberNames.OnCompleted, ReturnsVoid: true, Parameters: [{ Type.TypeKind: TypeKind.Delegate }] }))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
128return symbol.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
115if (!IsSymbolAccessibleCore(param.Type, within, null, out failedThroughTypeCheck))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
51parameter.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
37accessibility = AccessibilityUtilities.Minimum(accessibility, parameter.Type.Accept(this));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
570AreEquivalent(x.Type, y.Type, equivalentTypesWithDifferingAssemblies) &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
231GetHashCode(x.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (3)
52symbolEqualityComparer.SignatureTypeEquivalenceComparer.Equals(x.Type, y.Type, equivalentTypesWithDifferingAssemblies); 70symbolEqualityComparer.SignatureTypeEquivalenceComparer.GetHashCode(x.Type));
Microsoft.CodeAnalysis.VisualBasic (3)
SymbolDisplay\SymbolDisplayVisitor.Members.vb (2)
552symbol.Type.Accept(Me.NotFirstVisitor()) 561AddConstantValue(symbol.Type, symbol.ExplicitDefaultValue)
Symbols\ParameterSymbol.vb (1)
318Private ReadOnly Property IParameterSymbol_Type As ITypeSymbol Implements IParameterSymbol.Type
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (1)
247If parameter.Type.TypeKind <> TypeKind.TypeParameter Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxNodeExtensions.vb (1)
1089expressionTypeOpt.Equals(method.Parameters(0).Type.OriginalDefinition) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Utilities\CastAnalyzer.vb (2)
38If parameter?.IsParams = True AndAlso TypeOf parameter.Type Is IArrayTypeSymbol Then 39Dim parameterType = DirectCast(parameter.Type, IArrayTypeSymbol)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (10)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\EventGenerator.vb (1)
194Return CodeGenerationSymbolFactory.CreateParameterSymbol(parameter.GetAttributes(), parameter.RefKind, isParams:=False, type:=parameter.Type, name:=parameter.Name, hasDefaultValue:=False)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\ParameterGenerator.vb (5)
42If parameter.Type.IsArrayType() Then 43Dim arrayType = DirectCast(parameter.Type, IArrayTypeSymbol) 61Dim asClause = If(parameter.Type Is Nothing, 63SyntaxFactory.SimpleAsClause(type:=parameter.Type.GenerateTypeSyntax())) 95parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\IMethodSymbolExtensions.vb (2)
32If parameter.Type.TypeKind = TypeKind.Delegate Then 33Dim delegateInvokeMethod = DirectCast(parameter.Type, INamedTypeSymbol).DelegateInvokeMethod
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ParameterSyntaxExtensions.vb (2)
29Equals(oldSymbol.Type, newSymbol.Type) Then
Microsoft.CodeAnalysis.VisualBasic.Features (4)
IntroduceParameter\VisualBasicIntroduceParameterCodeRefactoringProvider.vb (1)
23Return GenerateExpression(VisualBasicSyntaxGenerator.Instance, parameterSymbol.Type, parameterSymbol.ExplicitDefaultValue, canUseFieldReference:=True)
SignatureHelp\FunctionAggregationSignatureHelpProvider.vb (2)
144If parameter.Type.TypeKind = TypeKind.Delegate Then 145Dim delegateInvokeMethod = DirectCast(parameter.Type, INamedTypeSymbol).DelegateInvokeMethod
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.DelegateType.vb (1)
68parts.AddRange(parameter.Type.ToMinimalDisplayParts(semanticModel, position))
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (1)
Microsoft.NetCore.Analyzers\Performance\BasicRecommendCaseInsensitiveStringComparisonFixer.vb (1)
84If rightOffendingMethod IsNot Nothing And arg.Parameter.Type.Name = StringTypeName Then
Microsoft.CodeAnalysis.VisualBasic.Workspaces (16)
Recommendations\VisualBasicRecommendationServiceRunner.vb (1)
257useBaseReferenceAccessibility = Not parameter.Type.Equals(container)
Simplification\VisualBasicSimplificationService.Expander.vb (2)
84Dim conversionType = conversion.MethodSymbol.Parameters(0).Type 108Dim symbolType = newNodeSymbol.Type
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (1)
247If parameter.Type.TypeKind <> TypeKind.TypeParameter Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxNodeExtensions.vb (1)
1089expressionTypeOpt.Equals(method.Parameters(0).Type.OriginalDefinition) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Utilities\CastAnalyzer.vb (2)
38If parameter?.IsParams = True AndAlso TypeOf parameter.Type Is IArrayTypeSymbol Then 39Dim parameterType = DirectCast(parameter.Type, IArrayTypeSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\EventGenerator.vb (1)
194Return CodeGenerationSymbolFactory.CreateParameterSymbol(parameter.GetAttributes(), parameter.RefKind, isParams:=False, type:=parameter.Type, name:=parameter.Name, hasDefaultValue:=False)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\ParameterGenerator.vb (5)
42If parameter.Type.IsArrayType() Then 43Dim arrayType = DirectCast(parameter.Type, IArrayTypeSymbol) 61Dim asClause = If(parameter.Type Is Nothing, 63SyntaxFactory.SimpleAsClause(type:=parameter.Type.GenerateTypeSyntax())) 95parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\IMethodSymbolExtensions.vb (2)
32If parameter.Type.TypeKind = TypeKind.Delegate Then 33Dim delegateInvokeMethod = DirectCast(parameter.Type, INamedTypeSymbol).DelegateInvokeMethod
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ParameterSyntaxExtensions.vb (1)
29Equals(oldSymbol.Type, newSymbol.Type) Then
Microsoft.CodeAnalysis.Workspaces (69)
Editing\SyntaxGenerator.cs (3)
244method.Parameters.Any(p => p.Type.GetReferencedTypeParameters().Any(t => IsNullableAnnotatedTypeParameter(typeParameter, t))); 326TypeExpression(symbol.Type), 328symbol.HasExplicitDefaultValue ? GenerateExpression(symbol.Type, symbol.ExplicitDefaultValue, canUseFieldReference: true) : null,
FindSymbols\FindReferences\Finders\OrdinaryMethodReferenceFinder.cs (1)
142lastParameter.Type.IsReadOnlySpan())
Recommendations\AbstractRecommendationServiceRunner.cs (8)
53? GetMemberSymbols(parameter.Type, position, excludeInstance: false, useBaseReferenceAccessibility, unwrapNullable, isForDereference) 126if (!parameterTypeSymbols.Contains(parameter.Type, SymbolEqualityComparer.Default)) 127parameterTypeSymbols = parameterTypeSymbols.Concat(parameter.Type); 228builder.Add(parameters[ordinalInLambda].Type); 241parameterType = method.Parameters.FirstOrDefault(p => _stringComparerForLanguage.Equals(p.Name, argumentName))?.Type; 248if (method.Parameters.LastOrDefault()?.Type is IArrayTypeSymbol arrayType) 262parameterType = method.Parameters[ordinalInInvocation].Type; 424if (originalMember is IMethodSymbol { Parameters: [{ Type: ITypeParameterSymbol parameterType }, ..] })
Rename\ConflictEngine\DeclarationConflictHelpers.cs (1)
114signatureBuilder.Add(new ParameterSignature(parameter.Type, refKind));
Shared\Extensions\IMethodSymbolExtensions.cs (4)
44if (!invoke.Parameters[i].Type.InheritsFromOrEquals(method.Parameters[i].Type)) 83return p1.Select(p => p.Type).ToList().AreMoreSpecificThan([.. p2.Select(p => p.Type)]);
Shared\Extensions\ISymbolExtensions.cs (2)
528if (!left.Parameters[i].Type.Equals(right.Parameters[i].Type))
Shared\Utilities\EditorBrowsableHelpers.cs (3)
43.Where(c => c.Parameters.Length == 1 && Equals(c.Parameters[0].Type, editorBrowsableStateType)); 109(Equals(c.Parameters[0].Type, typeLibFlagsType) || Equals(c.Parameters[0].Type, shortType)));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (2)
98var capacityConstructor = GetAccessibleInstanceConstructor(constructors, c => c.Parameters is [{ Name: "capacity", Type.SpecialType: SpecialType.System_Int32 }]); 169Equals(lastParameter.Type.OriginalDefinition, readonlySpanOfTType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BuiltinOperatorSymbolKey.cs (1)
30static (contextualSymbol, i) => SafeGet(contextualSymbol.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
38/// the "same" <see cref="IParameterSymbol.Type"/>s and 62/// the "same" <see cref="IParameterSymbol.Type"/>s and
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (1)
58static (contextualSymbol, i) => SafeGet(contextualSymbol.Signature.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
256getContextualType: static (method, i) => SafeGet(method.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.PropertySymbolKey.cs (1)
98getContextualType: static (property, i) => SafeGet(property.OriginalDefinition.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
402if (!signatureComparer.Equals(originalParameterTypes[i], parameters[i].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
80_writeParameterType = p => WriteSymbolKey(p.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (2)
475CompareAcrossSemanticModels(parameterSymbol.Type, newParameterSymbol.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
136var type = parameter.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (2)
74method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 75secondParam.Type.InheritsFromOrEquals(eventArgsType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (1)
250return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
346IParameterSymbol parameterSymbol => parameterSymbol.Type, 414return ((IParameterSymbol)symbol).Type; 514.Select(p => (p.Type ?? compilation.GetSpecialType(SpecialType.System_Object)).WithNullableAnnotation(p.NullableAnnotation)); 663IParameterSymbol parameterSymbol => parameterSymbol.Type, 730if (!methods.Any(x => x is { Name: WellKnownMemberNames.OnCompleted, ReturnsVoid: true, Parameters: [{ Type.TypeKind: TypeKind.Delegate }] }))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
128return symbol.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
115if (!IsSymbolAccessibleCore(param.Type, within, null, out failedThroughTypeCheck))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
51parameter.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
37accessibility = AccessibilityUtilities.Minimum(accessibility, parameter.Type.Accept(this));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
570AreEquivalent(x.Type, y.Type, equivalentTypesWithDifferingAssemblies) &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
231GetHashCode(x.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (3)
52symbolEqualityComparer.SignatureTypeEquivalenceComparer.Equals(x.Type, y.Type, equivalentTypesWithDifferingAssemblies); 70symbolEqualityComparer.SignatureTypeEquivalenceComparer.GetHashCode(x.Type));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
301type ?? parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
30parameter.Type, 45parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (5)
297type: parameter.Type, 319type: parameter.Type, 351var parameterType = parameter.Type; 400var shouldAddNullCheck = addNullChecks && parameter.Type.CanAddNullCheck() && !parameter.Type.IsNullable();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
91.Single(m => containingType.Equals(m.Parameters.FirstOrDefault()?.Type)); 469method.Parameters[0].Type.SpecialType == SpecialType.System_Object &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\SyntaxGeneratorInternal.cs (1)
114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (2)
88parameterSymbol.Type 93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
Microsoft.DotNet.ApiCompatibility (2)
Rules\MembersMustExist.cs (2)
155if (!_settings.SymbolEqualityComparer.Equals(method.Parameters[i].Type, method.Parameters[i].Type))
Microsoft.DotNet.ApiSymbolExtensions (2)
SymbolExtensions.cs (2)
158method.Parameters.Select(p => p.Type).SequenceEqual( 159deconstructMethod.Parameters.Select(p => p.Type), SymbolEqualityComparer.Default)));
Microsoft.DotNet.CodeAnalysis (2)
Analyzers\AppContextDefaultsAnalyzer.cs (2)
147if (methodSym.Parameters[0].Type.SpecialType != SpecialType.System_String) 150if (methodSym.Parameters[1].Type.SpecialType != SpecialType.System_Boolean)
Microsoft.Extensions.Logging.Generators (3)
LoggerMessageGenerator.Parser.cs (2)
367ITypeSymbol paramTypeSymbol = paramSymbol.Type; 743if (IsBaseOrIdentity(parameter.Type, loggerSymbol, sm.Compilation))
LoggerMessageGenerator.Roslyn4.0.cs (1)
58m.Parameters[0].Type.Name == "IFormatProvider" &&
Microsoft.Extensions.Options.SourceGeneration (4)
Parser.cs (4)
204&& m.Parameters[0].Type.SpecialType == SpecialType.System_String 205&& SymbolEqualityComparer.Default.Equals(m.Parameters[1].Type, modelType)); 622if (constructorParameters.Length == 1 && constructorParameters[0].Name == "otherProperty" && constructorParameters[0].Type.SpecialType == SpecialType.System_String) 646argumentType = constructorParameters[0].Type;
Microsoft.Gen.ComplianceReports (3)
Parser.cs (3)
128ci.TypeName = FormatType(ps.Type); 225TypeName = FormatType(p.Type), 229foreach (var attribute in p.Type.GetAttributes())
Microsoft.Gen.Logging (15)
Parsing\Parser.cs (7)
152&& paramSymbol.Type.Kind != SymbolKind.TypeParameter) 154Diag(DiagDescriptors.DefaultToString, paramSymbol.GetLocation(), paramSymbol.Type, paramSymbol.Name); 189paramSymbol.Type.IsRecord) 192RecordHasSensitivePublicMembers(paramSymbol.Type, symbols)) 536var paramTypeSymbol = paramSymbol.Type; 716if (ParserUtilities.IsBaseOrIdentity(parameter.Type, loggerSymbol, _compilation)) 731isNullable = parameter.Type.NullableAnnotation == NullableAnnotation.Annotated;
Parsing\Parser.LogProperties.cs (2)
36if (!CanLogProperties(paramSymbol, paramSymbol.Type, symbols)) 41var paramTypeSymbol = paramSymbol.Type;
Parsing\Parser.TagProvider.cs (3)
26var paramTypeSymbol = paramSymbol.Type; 101&& SymbolEqualityComparer.Default.Equals(tagCollectorType, method.Parameters[0].Type) 102&& IsAssignableTo(complexObjType, method.Parameters[1].Type))
Parsing\TypeSymbolExtensions.cs (3)
28&& SymbolEqualityComparer.Default.Equals(ts.Parameters[0].Type, symbols.FormatProviderSymbol)) 51&& ts.Parameters[0].Type.SpecialType == SpecialType.System_String 52&& SymbolEqualityComparer.Default.Equals(ts.Parameters[1].Type, symbols.FormatProviderSymbol))
Microsoft.Gen.Logging.Unit.Tests (7)
LogParserUtilitiesTests.cs (1)
172paramSymbolMock.SetupGet(x => x.Type)
TypeSymbolExtensionsTests.cs (6)
56Assert.Equal(expectedResult, parameterSymbol.Type.IsEnumerable(symbolHolder)); 100Assert.Equal(expectedResult, parameterSymbol.Type.ImplementsIFormattable(symbolHolder)); 144Assert.Equal(expectedResult, parameterSymbol.Type.ImplementsIConvertible(symbolHolder)); 192Assert.Equal(expectedResult, parameterSymbol.Type.ImplementsISpanFormattable(symbolHolder)); 235Assert.Equal(expectedResult, parameterSymbol.Type.IsSpecialType(symbolHolder)); 279Assert.Equal(expectedResult, parameterSymbol.Type.HasCustomToString());
Microsoft.Gen.MetadataExtractor (4)
src\Generators\Microsoft.Gen.ComplianceReports\Parser.cs (3)
128ci.TypeName = FormatType(ps.Type); 225TypeName = FormatType(p.Type), 229foreach (var attribute in p.Type.GetAttributes())
src\Generators\Microsoft.Gen.Metrics\Parser.cs (1)
536var paramTypeSymbol = paramSymbol.Type;
Microsoft.Gen.Metrics (1)
Parser.cs (1)
536var paramTypeSymbol = paramSymbol.Type;
Microsoft.Gen.MetricsReports (1)
src\Generators\Microsoft.Gen.Metrics\Parser.cs (1)
536var paramTypeSymbol = paramSymbol.Type;
Microsoft.Interop.ComInterfaceGenerator (1)
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\ConvertToSourceGeneratedInteropFixer.cs (1)
240if (parameter.Type.SpecialType == SpecialType.System_Boolean
Microsoft.Interop.LibraryImportGenerator (19)
Analyzers\ConvertToLibraryImportFixer.cs (1)
695if (param.Type.SpecialType is SpecialType.System_String or SpecialType.System_Char)
Analyzers\CustomMarshallerAttributeAnalyzer.cs (9)
894if (!SymbolEqualityComparer.Default.Equals(methods.UnmanagedValuesDestination.Parameters[0].Type, unmanagedType)) 915if (unmanagedType is not null && !SymbolEqualityComparer.Default.Equals(unmanagedType, toManagedMethod.Parameters[0].Type)) 921unmanagedType = toManagedMethod.Parameters[0].Type; 925if (!SymbolEqualityComparer.Default.Equals(methods.UnmanagedValuesSource.Parameters[0].Type, unmanagedType)) 934if (!SymbolEqualityComparer.Default.Equals(methods.ToManaged.Parameters[1].Type, methods.ToManagedFinally.Parameters[1].Type)) 987INamedTypeSymbol allocatedBufferType = (INamedTypeSymbol)callerAllocatedBufferMethod.Parameters[1].Type; 1213if (unmanagedType is not null && !SymbolEqualityComparer.Default.Equals(unmanagedType, fromUnmanagedMethod.Parameters[0].Type)) 1220unmanagedType = fromUnmanagedMethod.Parameters[0].Type;
Analyzers\CustomMarshallerAttributeFixer.cs (7)
363unmanagedType = methods.ToManaged.Parameters[0].Type; 367unmanagedType = methods.ToManagedFinally.Parameters[0].Type; 371unmanagedType = methods.UnmanagedValuesSource.Parameters[0].Type; 375unmanagedType = methods.UnmanagedValuesDestination.Parameters[0].Type; 534unmanagedType = methods.FromUnmanaged.Parameters[0].Type; 538unmanagedType = methods.UnmanagedValuesSource.Parameters[0].Type; 542unmanagedType = methods.UnmanagedValuesDestination.Parameters[0].Type;
Analyzers\NativeMarshallingAttributeAnalyzer.cs (1)
170IParameterSymbol param => param.Type,
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\ConvertToSourceGeneratedInteropFixer.cs (1)
240if (parameter.Type.SpecialType == SpecialType.System_Boolean
Microsoft.Interop.SourceGeneration (32)
ManualTypeMarshallingHelper.cs (6)
492nativeType = methods.UnmanagedValuesSource.Parameters[0].Type; 506nativeType = methods.ToManagedFinally.Parameters[0].Type; 510nativeType = methods.ToManaged.Parameters[0].Type; 525bufferElementType = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(((INamedTypeSymbol)methods.ToUnmanagedWithBuffer.Parameters[1].Type).TypeArguments[0]); 585nativeType = methods.FromUnmanaged.Parameters[0].Type; 605bufferElementType = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(((INamedTypeSymbol)methods.FromManagedWithBuffer.Parameters[1].Type).TypeArguments[0]);
MarshallerShape.cs (22)
221&& SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, managedType)); 263&& SymbolEqualityComparer.Default.Equals(managedType, m.Parameters[0].Type)); 275&& SymbolEqualityComparer.Default.Equals(managedType, m.Parameters[0].Type)); 279if (IsSpanOfUnmanagedType(method.Parameters[1].Type, spanOfT, type)) 315&& managedType.IsConstructedFromEqualTypes(m.Parameters[0].Type) 316&& m.Parameters[1].Type.SpecialType == SpecialType.System_Int32 326&& managedType.IsConstructedFromEqualTypes(m.Parameters[0].Type) 327&& m.Parameters[2].Type.SpecialType == SpecialType.System_Int32 332if (IsSpanOfUnmanagedType(method.Parameters[1].Type, spanOfT, type)) 347&& managedType.IsConstructedFromEqualTypes(m.Parameters[0].Type) 357&& m.Parameters[1].Type.SpecialType == SpecialType.System_Int32 367&& m.Parameters[1].Type.SpecialType == SpecialType.System_Int32 377&& m.Parameters[1].Type.SpecialType == SpecialType.System_Int32 387&& managedType.IsConstructedFromEqualTypes(m.Parameters[0].Type) 397&& m.Parameters[1].Type.SpecialType == SpecialType.System_Int32 566&& SymbolEqualityComparer.Default.Equals(managedType, m.Parameters[0].Type)); 577&& SymbolEqualityComparer.Default.Equals(managedType, m.Parameters[0].Type)); 581if (StatelessMarshallerShapeHelper.IsSpanOfUnmanagedType(method.Parameters[1].Type, spanOfT, type)) 641if (SymbolEqualityComparer.Default.Equals(candidates[0].Parameters[0].Type, unmanagedType)) 672&& SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, managedType)); 709&& m.Parameters[0].Type.SpecialType == SpecialType.System_Int32 719&& m.Parameters[0].Type.SpecialType == SpecialType.System_Int32
MethodSignatureElementInfoProvider.cs (2)
49marshallingInfoCallback(param.Type, new UseSiteAttributeProvider(_useSiteAttributeParsers, param.GetAttributes(), rootProvider, _generatorDiagnostics, marshallingInfoCallback), 0), _compilation) with 71marshallingInfoCallback(param.Type, new UseSiteAttributeProvider(_useSiteAttributeParsers, param.GetAttributes(), rootProvider, _generatorDiagnostics, marshallingInfoCallback), 0), _compilation) with
SignatureContext.cs (1)
112MarshallingInfo marshallingInfo = marshallingInfoParser.ParseMarshallingInfo(param.Type, param.GetAttributes());
TypePositionInfo.cs (1)
88var typeInfo = new TypePositionInfo(ManagedTypeInfo.CreateTypeInfoForTypeSymbol(paramSymbol.Type), marshallingInfo)
Microsoft.Maui.Controls.BindingSourceGen (2)
BindingSourceGenerator.cs (2)
213 if (parameters.Length == 0 || parameters[0].Type is IErrorTypeSymbol) 218 var lambdaParamType = parameters[0].Type;
Roslyn.Diagnostics.Analyzers (78)
AbstractDoNotCopyValue.cs (1)
1582CheckTypeSymbolInUnsupportedContext(operation, parameter.Type);
IRemoteJsonServiceParameterAnalyzer.cs (3)
74if (!Equals(parameter.Type, razorPinnedSolutionInfoWrapper) && 75!Equals(parameter.Type, documentId)) 86parameter.Type.Name);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (1)
58AddCoupledNamedTypesCore(builder, parameter.Type, wellKnownTypeProvider);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (22)
33method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 48method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 61method.Parameters[0].Type.SpecialType == SpecialType.System_Object && 62method.Parameters[1].Type.SpecialType == SpecialType.System_Object && 185Name: "Dispose", MethodKind: MethodKind.Ordinary, ReturnsVoid: true, Parameters: [{ Type.SpecialType: SpecialType.System_Boolean, RefKind: RefKind.None }] 230method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean; 314SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 315SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 321SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, serializationInfoType) && 322SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, streamingContextType); 397method.Parameters[0].Type.SpecialType == SpecialType.System_Boolean && 410SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, asyncDisposableType) && 411method.Parameters[1].Type.SpecialType == SpecialType.System_Boolean && 490method.Parameters[0].Type.SpecialType == SpecialType.System_Object; 502SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type); 515SymbolEqualityComparer.Default.Equals(method.Parameters[0].Type, method.Parameters[1].Type) && 516SymbolEqualityComparer.Default.Equals(method.Parameters[1].Type, method.Parameters[2].Type); 520=> methodSymbol.Parameters.Any(p => p.Type.TypeKind == TypeKind.Delegate); 533!method.Parameters[0].Type.IsValueType;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
47return invocation.TargetMethod.Parameters[0].Type;
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\ISymbolExtensions.cs (3)
110var type1 = parameter1.Type.OriginalDefinition; 111var type2 = parameter2.Type.OriginalDefinition; 222SymbolKind.Parameter => ((IParameterSymbol)symbol).Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\CollectionExpressionUtilities.cs (2)
98var capacityConstructor = GetAccessibleInstanceConstructor(constructors, c => c.Parameters is [{ Name: "capacity", Type.SpecialType: SpecialType.System_Int32 }]); 169Equals(lastParameter.Type.OriginalDefinition, readonlySpanOfTType))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.BuiltinOperatorSymbolKey.cs (1)
30static (contextualSymbol, i) => SafeGet(contextualSymbol.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
38/// the "same" <see cref="IParameterSymbol.Type"/>s and 62/// the "same" <see cref="IParameterSymbol.Type"/>s and
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (1)
58static (contextualSymbol, i) => SafeGet(contextualSymbol.Signature.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.MethodSymbolKey.cs (1)
256getContextualType: static (method, i) => SafeGet(method.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.PropertySymbolKey.cs (1)
98getContextualType: static (property, i) => SafeGet(property.OriginalDefinition.Parameters, i)?.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyReader.cs (1)
402if (!signatureComparer.Equals(originalParameterTypes[i], parameters[i].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
80_writeParameterType = p => WriteSymbolKey(p.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (2)
475CompareAcrossSemanticModels(parameterSymbol.Type, newParameterSymbol.Type);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
136var type = parameter.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (2)
74method.Parameters is [{ Type.SpecialType: SpecialType.System_Object }, var secondParam] && 75secondParam.Type.InheritsFromOrEquals(eventArgsType);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (1)
250return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.cs (5)
346IParameterSymbol parameterSymbol => parameterSymbol.Type, 414return ((IParameterSymbol)symbol).Type; 514.Select(p => (p.Type ?? compilation.GetSpecialType(SpecialType.System_Object)).WithNullableAnnotation(p.NullableAnnotation)); 663IParameterSymbol parameterSymbol => parameterSymbol.Type, 730if (!methods.Any(x => x is { Name: WellKnownMemberNames.OnCompleted, ReturnsVoid: true, Parameters: [{ Type.TypeKind: TypeKind.Delegate }] }))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
128return symbol.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ISymbolExtensions_Accessibility.cs (1)
115if (!IsSymbolAccessibleCore(param.Type, within, null, out failedThroughTypeCheck))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
51parameter.Type.Accept(this);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.MinimalAccessibilityVisitor.cs (1)
37accessibility = AccessibilityUtilities.Minimum(accessibility, parameter.Type.Accept(this));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (2)
570AreEquivalent(x.Type, y.Type, equivalentTypesWithDifferingAssemblies) &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (1)
231GetHashCode(x.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (3)
52symbolEqualityComparer.SignatureTypeEquivalenceComparer.Equals(x.Type, y.Type, equivalentTypesWithDifferingAssemblies); 70symbolEqualityComparer.SignatureTypeEquivalenceComparer.GetHashCode(x.Type));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
301type ?? parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IMethodSymbolExtensions.cs (2)
71CodeGenerationSymbolFactory.CreateParameterSymbol(p.GetAttributes(), p.RefKind, p.IsParams, p.Type.SubstituteTypes(mapping, typeGenerator), p.Name, p.IsOptional, 168p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IParameterSymbolExtensions.cs (2)
30parameter.Type, 45parameter.Type,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\IPropertySymbolExtensions.cs (1)
63p.RefKind, p.IsParams, p.Type, p.Name, p.IsOptional,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions.cs (5)
297type: parameter.Type, 319type: parameter.Type, 351var parameterType = parameter.Type; 400var shouldAddNullCheck = addNullChecks && parameter.Type.CanAddNullCheck() && !parameter.Type.IsNullable();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
91.Single(m => containingType.Equals(m.Parameters.FirstOrDefault()?.Type)); 469method.Parameters[0].Type.SpecialType == SpecialType.System_Object &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\SyntaxGeneratorInternal.cs (1)
114or { RefKind: RefKind.None, Type.IsRefLikeType: true, ScopedKind: ScopedKind.ScopedValue };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\TypeInferenceService\AbstractTypeInferenceService.AbstractTypeInferrer.cs (2)
88parameterSymbol.Type 93if (parameterSymbol.Type is IArrayTypeSymbol arrayTypeSymbol)
Roslyn.Diagnostics.CSharp.Analyzers (22)
CSharpDoNotUseDebugAssertForInterpolatedStrings.cs (2)
51if (member is IMethodSymbol { Parameters: [{ Type.SpecialType: SpecialType.System_Boolean }, { Type.SpecialType: SpecialType.System_String }] } method)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (2)
957return argument.DetermineParameter(semanticModel, allowUncertainCandidates: false, allowParams: true, cancellationToken)?.Type; 962=> argument.DetermineParameter(semanticModel, allowUncertainCandidates: false, allowParams: true, cancellationToken)?.Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (1)
445if (parameter.Type.OriginalDefinition.TypeKind != TypeKind.TypeParameter)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
826if (symbol is IMethodSymbol { Parameters: [{ Type.OriginalDefinition: var parameterType }, ..] } &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1115type.Equals(parameters[0].Type) && 1116type.Equals(parameters[1].Type))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (2)
267var originalParamType = this.OriginalSemanticModel.GetDeclaredSymbol(originalParam).Type; 268var replacedParamType = this.SpeculativeSemanticModel.GetDeclaredSymbol(replacedParam).Type;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
224if (argumentOp is not { Value.Type: { } valueType, Parameter.Type: { } parameterType })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\MethodGenerator.cs (1)
245.SelectMany(p => p.Type.GetReferencedTypeParameters())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ParameterGenerator.cs (2)
70.WithType(parameter.Type.GenerateTypeSyntax(allowVar: false)) 111=> ExpressionGenerator.GenerateExpression(parameter.Type, value, canUseFieldReference: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
168var parameters = symbol.Signature.Parameters.Select(p => (p.Type, RefKindModifiers: CSharpSyntaxGeneratorInternal.GetParameterModifiers(p)))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\WithElementSyntaxExtensions.cs (1)
57static m => m.Parameters is [{ Type.SpecialType: SpecialType.System_Int32, Name: "capacity" }]);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (6)
785.Select(p => new TypeInferenceInfo(p.Type, p.IsParams)); 798var info = new TypeInferenceInfo(parameter.Type, parameter.IsParams); 1227return CreateResult(parameter.Type); 1393.Select(a => new TypeInferenceInfo(a.Parameters.ElementAtOrDefault(parameterIndex)?.Type)) 1411.Select(a => new TypeInferenceInfo(a.Parameters[0].Type)); 1499var addMethodParameterTypes = addMethodSymbols.Select(m => ((IMethodSymbol)m).Parameters[0]).Select(p => new TypeInferenceInfo(p.Type));
Roslyn.Diagnostics.VisualBasic.Analyzers (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (1)
247If parameter.Type.TypeKind <> TypeKind.TypeParameter Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxNodeExtensions.vb (1)
1089expressionTypeOpt.Equals(method.Parameters(0).Type.OriginalDefinition) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Utilities\CastAnalyzer.vb (2)
38If parameter?.IsParams = True AndAlso TypeOf parameter.Type Is IArrayTypeSymbol Then 39Dim parameterType = DirectCast(parameter.Type, IArrayTypeSymbol)
System.Text.Json.SourceGeneration (6)
Helpers\RoslynExtensions.cs (2)
322if (parameter.Type.IsNullableType()) 329return !IsInputTypeNonNullable(parameter, parameter.Type);
JsonSourceGenerator.Parser.cs (4)
1135ITypeSymbol caseType = parameter.Type; 2312if (parameterInfo.Type.IsRefLikeType) 2322? new TypeRef(parameterInfo.Type) 2323: EnqueueType(parameterInfo.Type, typeToGenerate.Mode);
System.Windows.Forms.Analyzers.CSharp (1)
System\Windows\Forms\CSharp\Analyzers\AvoidPassingTaskWithoutCancellationToken\AvoidPassingTaskWithoutCancellationTokenAnalyzer.cs (1)
57if (funcParameter.Type is not INamedTypeSymbol funcType
System.Windows.Forms.Analyzers.VisualBasic (2)
Analyzers\AvoidPassingTaskWithoutCancellationToken\AvoidPassingTaskWithoutCancellationTokenAnalyzer.vb (2)
56If Not (TypeOf funcParameter.Type Is INamedTypeSymbol) Then 60Dim funcType = DirectCast(funcParameter.Type, INamedTypeSymbol)