5 implementations of IsReferenceType
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
CodeGenerationTypeSymbol.cs (1)
46public bool IsReferenceType => false;
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\TypeSymbol.cs (1)
119bool ITypeSymbol.IsReferenceType
Microsoft.CodeAnalysis.Features (1)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedNamedTypeSymbol.cs (1)
59public bool IsReferenceType => _symbol.IsReferenceType;
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\TypeSymbol.vb (1)
239Public MustOverride ReadOnly Property IsReferenceType As Boolean Implements ITypeSymbol.IsReferenceType, ITypeSymbolInternal.IsReferenceType
Microsoft.CodeAnalysis.Workspaces (1)
CodeGenerationTypeSymbol.cs (1)
46public bool IsReferenceType => false;
73 references to IsReferenceType
Microsoft.CodeAnalysis (5)
Operations\ControlFlowGraphBuilder.cs (1)
3441(operation.Type.IsReferenceType && !ITypeSymbolHelpers.IsNullableType(operation.Type))
Symbols\ITypeSymbol.cs (4)
56/// <see cref="IsReferenceType"/> and <see cref="IsValueType"/> both return true. However, for an unconstrained type 57/// parameter, <see cref="IsReferenceType"/> and <see cref="IsValueType"/> will both return false. 63/// <see cref="IsReferenceType"/> and <see cref="IsValueType"/> both return true. However, for an unconstrained type 64/// parameter, <see cref="IsReferenceType"/> and <see cref="IsValueType"/> will both return false.
Microsoft.CodeAnalysis.CodeStyle (5)
AbstractSpeculationAnalyzer.cs (1)
1002if (receiverType.IsKind(SymbolKind.TypeParameter) && !receiverType.IsReferenceType)
AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
107!conditionType.IsReferenceType)
AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (1)
124if (!genericParameterSymbol.IsReferenceType && !unconstraintedGenericSupported)
AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
187return argsArgumentType is IArrayTypeSymbol arrayType && arrayType.ElementType.IsReferenceType;
ITypeSymbolExtensions.cs (1)
34var isNonNullableReferenceType = type.IsReferenceType && type.NullableAnnotation != NullableAnnotation.Annotated;
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
AbstractAddParameterCodeFixProvider.cs (1)
543return parameterType.IsReferenceType || parameterType.IsNullable();
Microsoft.CodeAnalysis.CSharp (2)
Compilation\CSharpCompilation.cs (1)
2167if (sourceConstantValue is { IsNull: true } && destination.IsReferenceType)
SymbolDisplay\SymbolDisplayVisitor_Constants.cs (1)
20else if (type.IsReferenceType || type.TypeKind == TypeKind.Pointer || ITypeSymbolHelpers.IsNullableType(type))
Microsoft.CodeAnalysis.CSharp.CodeStyle (5)
CastSimplifier.cs (5)
316if (isNullLiteralCast && !originalConvertedType.IsReferenceType && !originalConvertedType.IsNullable()) 479originalConvertedType.IsReferenceType && rewrittenConvertedType.TypeKind == TypeKind.Dynamic) 802if (!original.IsReferenceType || original.TypeKind == TypeKind.Interface) 1115if (!rewrittenType.IsReferenceType && 1226Debug.Assert(!rewrittenType.IsReferenceType && !IsIntrinsicOrEnum(rewrittenType));
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (4)
ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
109var cannotUseVar = declaratorToRemoveType != null && (declaratorToRemoveType.IsReferenceType || declaratorToRemoveType.IsNullable());
CSharpTypeInferenceService.TypeInferrer.cs (1)
1164else if (symbol.IsReferenceType)
ExpressionGenerator.cs (1)
93_ => type == null || type.IsReferenceType || type is IPointerTypeSymbol || type.IsNullable()
ITypeSymbolExtensions.cs (1)
56if (type != null && type.IsReferenceType)
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (2)
CodeGen\CodeGenTupleTest.cs (2)
16581Assert.True(xSymbol.IsReferenceType); 16618Assert.True(xSymbol.IsReferenceType);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (1)
Emit\NumericIntPtrTests.cs (1)
10658Assert.Equal(useCompilationReference || returnType.IsReferenceType, returnType.IsRecord);
Microsoft.CodeAnalysis.CSharp.Features (2)
Completion\Providers\DefaultArgumentProvider.cs (1)
31else if (context.Parameter.Type.IsReferenceType || context.Parameter.Type.IsNullable())
ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
109var cannotUseVar = declaratorToRemoveType != null && (declaratorToRemoveType.IsReferenceType || declaratorToRemoveType.IsNullable());
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (2)
Compilation\GetSemanticInfoTests.cs (2)
6047Assert.False(symbol.IsReferenceType); 6049Assert.True(symbol.IsReferenceType);
Microsoft.CodeAnalysis.CSharp.Workspaces (10)
CastSimplifier.cs (5)
316if (isNullLiteralCast && !originalConvertedType.IsReferenceType && !originalConvertedType.IsNullable()) 479originalConvertedType.IsReferenceType && rewrittenConvertedType.TypeKind == TypeKind.Dynamic) 802if (!original.IsReferenceType || original.TypeKind == TypeKind.Interface) 1115if (!rewrittenType.IsReferenceType && 1226Debug.Assert(!rewrittenType.IsReferenceType && !IsIntrinsicOrEnum(rewrittenType));
CodeGeneration\CSharpSyntaxGenerator.cs (1)
3249if (type.IsReferenceType ||
CSharpTypeInferenceService.TypeInferrer.cs (1)
1164else if (symbol.IsReferenceType)
ExpressionGenerator.cs (1)
93_ => type == null || type.IsReferenceType || type is IPointerTypeSymbol || type.IsNullable()
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (1)
56if (type != null && type.IsReferenceType)
Simplification\Reducers\CSharpNullableAnnotationReducer.cs (1)
54if (type == null || !type.IsReferenceType)
Microsoft.CodeAnalysis.Features (10)
AbstractAddParameterCodeFixProvider.cs (1)
543return parameterType.IsReferenceType || parameterType.IsNullable();
AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
107!conditionType.IsReferenceType)
AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (1)
124if (!genericParameterSymbol.IsReferenceType && !unconstraintedGenericSupported)
AbstractValidateFormatStringDiagnosticAnalyzer.cs (1)
187return argsArgumentType is IArrayTypeSymbol arrayType && arrayType.ElementType.IsReferenceType;
ConvertCast\AbstractConvertCastCodeRefactoringProvider.cs (2)
55if (type is { IsReferenceType: true } or { OriginalDefinition.SpecialType: SpecialType.System_Nullable_T }) 58var isReferenceType = type.IsReferenceType;
ImplementAbstractClass\ImplementAbstractClassData.cs (1)
326constraints.FirstOrDefault(t => t.IsReferenceType);
ImplementInterface\AbstractImplementInterfaceService.CodeAction.cs (1)
387var condition3 = typeParameter.HasReferenceTypeConstraint && typeParameter.ConstraintTypes.Any(static ts => ts.IsReferenceType && ts.SpecialType != SpecialType.System_Object);
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (1)
248if (parameter.Type.IsReferenceType)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedNamedTypeSymbol.cs (1)
59public bool IsReferenceType => _symbol.IsReferenceType;
Microsoft.CodeAnalysis.Test.Utilities (3)
Diagnostics\BoxingOperationAnalyzer.cs (2)
48if (conversion.Type.IsReferenceType && 64invocation.TargetMethod.ContainingType.IsReferenceType)
Diagnostics\LocalCouldBeConstAnalyzer.cs (1)
89if ((!localType.IsReferenceType || localType.SpecialType == SpecialType.System_String) && localType.SpecialType != SpecialType.None)
Microsoft.CodeAnalysis.VisualBasic (2)
Compilation\VisualBasicCompilation.vb (1)
1901If sourceConstantValue IsNot Nothing AndAlso sourceConstantValue.IsNothing AndAlso destination.IsReferenceType Then
Symbols\TypeSymbol.vb (1)
239Public MustOverride ReadOnly Property IsReferenceType As Boolean Implements ITypeSymbol.IsReferenceType, ITypeSymbolInternal.IsReferenceType
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (16)
Semantics\GetSemanticInfoTests.vb (6)
4704Assert.False(tpSymbol1.IsReferenceType) 4711Assert.False(tpSymbol1.IsReferenceType) 4714Assert.True(tpSymbol1.IsReferenceType) 4717Assert.False(tpSymbol1.IsReferenceType) 4720Assert.True(tpSymbol1.IsReferenceType) 4723Assert.False(tpSymbol1.IsReferenceType)
Semantics\SyncLockTests.vb (10)
281Assert.True(semanticSummary.Type.IsReferenceType) 314Assert.True(semanticSummary.ConvertedType.IsReferenceType) 344Assert.True(semanticSummary.Type.IsReferenceType) 347Assert.True(semanticSummary.ConvertedType.IsReferenceType) 373Assert.True(semanticSummary.Type.IsReferenceType) 378Assert.True(semanticSummary.ConvertedType.IsReferenceType) 436Assert.True(semanticSummary.Type.IsReferenceType) 441Assert.True(semanticSummary.ConvertedType.IsReferenceType) 466Assert.True(semanticSummary.Type.IsReferenceType) 471Assert.True(semanticSummary.ConvertedType.IsReferenceType)
Microsoft.CodeAnalysis.Workspaces (2)
AbstractSpeculationAnalyzer.cs (1)
1002if (receiverType.IsKind(SymbolKind.TypeParameter) && !receiverType.IsReferenceType)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (1)
34var isNonNullableReferenceType = type.IsReferenceType && type.NullableAnnotation != NullableAnnotation.Annotated;
Microsoft.VisualStudio.LanguageServices (1)
ChangeSignature\ChangeSignatureDialogViewModel.ParameterViewModels.cs (1)
241return ParameterSymbol.ExplicitDefaultValue == null ? (ParameterSymbol.Type.IsReferenceType ? @null : @default) :