7 overrides of IsReferenceType
Microsoft.CodeAnalysis.CSharp (7)
Symbols\ArrayTypeSymbol.cs (1)
222
public override bool
IsReferenceType
Symbols\DynamicTypeSymbol.cs (1)
38
public override bool
IsReferenceType
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
73
public override bool
IsReferenceType
=> false;
Symbols\FunctionTypeSymbol.cs (1)
98
public override bool
IsReferenceType
=> true;
Symbols\NamedTypeSymbol.cs (1)
385
public override bool
IsReferenceType
Symbols\PointerTypeSymbol.cs (1)
93
public override bool
IsReferenceType
Symbols\TypeParameterSymbol.cs (1)
518
public sealed override bool
IsReferenceType
105 references to IsReferenceType
Microsoft.CodeAnalysis.CSharp (105)
Binder\Binder.ValueChecks.cs (2)
2277
Debug.Assert(receiver is not BoundValuePlaceholderBase && method is not null && receiver.Type?.
IsReferenceType
== false);
5706
if (type.
IsReferenceType
)
Binder\Binder_Expressions.cs (3)
1383
else if (typeWithAnnotations.NullableAnnotation.IsAnnotated() && type.
IsReferenceType
)
2707
if (!targetType.
IsReferenceType
&& !targetType.IsNullableType() && operand.IsLiteralNull())
10784
if ((!accessType.
IsReferenceType
&& !accessType.IsValueType) || accessType.IsPointerOrFunctionPointer() || accessType.IsRestrictedType())
Binder\Binder_Invocation.cs (1)
1336
if (receiver is BoundValuePlaceholderBase || receiver?.Type is null or {
IsReferenceType
: true })
Binder\Binder_Operators.cs (7)
845
Debug.Assert(!right.Type.
IsReferenceType
);
849
Debug.Assert(!left.Type.
IsReferenceType
);
2610
if (receiver.Type.
IsReferenceType
)
3262
if (targetType.
IsReferenceType
&& targetTypeWithAnnotations.NullableAnnotation.IsAnnotated())
3732
if (targetType.
IsReferenceType
&& targetTypeWithAnnotations.NullableAnnotation.IsAnnotated())
3738
else if (!targetType.
IsReferenceType
&& !targetType.IsNullableType())
4023
if ((object)optLeftType != null && !optLeftType.
IsReferenceType
&& !isLeftNullable)
Binder\LockBinder.cs (1)
52
else if (!exprType.
IsReferenceType
&& (exprType.IsValueType || Compilation.FeatureStrictEnabled))
Binder\Semantics\Conversions\Conversions.cs (2)
331
if (!thisParameter.Type.
IsReferenceType
)
452
if (methodGroup.IsExtensionMethodGroup && !method.Parameters[0].Type.
IsReferenceType
)
Binder\Semantics\Conversions\ConversionsBase.cs (8)
1238
if (destination.
IsReferenceType
)
2610
if (!source.
IsReferenceType
)
3295
if (!source.IsValueType || !destination.
IsReferenceType
)
3443
if (destination.
IsReferenceType
)
3448
else if (source.Kind == SymbolKind.DynamicType && destination.
IsReferenceType
)
3686
bool bothAreReferenceTypes = sourceArg.
IsReferenceType
&& destinationArg.
IsReferenceType
;
3838
if (source.
IsReferenceType
&&
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (7)
2046
if (elementSource.Type.
IsReferenceType
)
2320
if ((sourceParam.Type.
IsReferenceType
|| sourceParam.Type.IsFunctionPointer()) && sourceParam.RefKind == RefKind.None)
2330
if ((sourceSignature.ReturnType.
IsReferenceType
|| sourceSignature.ReturnType.IsFunctionPointer()) && sourceSignature.RefKind == RefKind.None)
2383
Debug.Assert(source.Type.
IsReferenceType
|| source.Type.IsFunctionPointer());
2447
if (elementSource.Type.
IsReferenceType
)
2670
if ((sourceParam.Type.
IsReferenceType
|| sourceParam.Type.IsFunctionPointer()) && sourceParam.RefKind == RefKind.None)
2680
if ((sourceSignature.ReturnType.
IsReferenceType
|| sourceSignature.ReturnType.IsFunctionPointer()) && sourceSignature.RefKind == RefKind.None)
CodeGen\EmitAddress.cs (3)
43
Debug.Assert(!expression.Type.
IsReferenceType
);
238
Debug.Assert(!expression.Type.
IsReferenceType
);
374
if (!receiver.Type.
IsReferenceType
)
CodeGen\EmitArrayInitializer.cs (1)
686
if (elementType.
IsReferenceType
&& elementType.SpecialType != SpecialType.System_String)
CodeGen\EmitExpression.cs (9)
379
Debug.Assert(!expression.Type.
IsReferenceType
);
434
var notConstrained = !receiverType.
IsReferenceType
&& !receiverType.IsValueType;
443
(receiverType.
IsReferenceType
&& receiverType.TypeKind == TypeKind.TypeParameter) ||
656
if (!expression.Type.
IsReferenceType
)
1899
callKind = receiverType.
IsReferenceType
&&
2048
if (!receiverType.
IsReferenceType
)
2106
BoundConditionalReceiver { Type: {
IsReferenceType
: false, IsValueType: false } })
2603
if (rightType.
IsReferenceType
|| (right.ConstantValueOpt != null && rightType.SpecialType != SpecialType.System_Decimal))
3841
Debug.Assert(expr.Type.
IsReferenceType
);
CodeGen\EmitOperators.cs (2)
459
if (comparandType.
IsReferenceType
&& !comparandType.IsVerifierReference())
473
if (comparandType.
IsReferenceType
&& !comparandType.IsVerifierReference())
CodeGen\EmitStatement.cs (3)
218
return ts.
IsReferenceType
;
534
var complexCase = !receiverType.
IsReferenceType
||
611
if (conditionType.
IsReferenceType
&& !conditionType.IsVerifierReference())
CodeGen\Optimizer.cs (1)
1233
if (receiverType.
IsReferenceType
)
Compilation\BuiltInOperators.cs (4)
880
if (leftType.IsValueType || (!leftType.
IsReferenceType
&& !rightIsNull))
891
if (rightType.IsValueType || (!rightType.
IsReferenceType
&& !leftIsNull))
900
var leftIsReferenceType = ((object)leftType != null) && leftType.
IsReferenceType
;
906
var rightIsReferenceType = ((object)rightType != null) && rightType.
IsReferenceType
;
FlowAnalysis\DefiniteAssignment.cs (1)
902
if ((object)type != null && type.
IsReferenceType
&&
FlowAnalysis\NullableWalker.cs (4)
2510
if (targetType.Type.
IsReferenceType
||
2595
if (fieldOrPropertyType.Type.
IsReferenceType
||
7319
return (type.Kind == SymbolKind.TypeParameter && !type.
IsReferenceType
) || type.IsNullableTypeOrTypeParameter();
11489
Debug.Assert(node.Type.
IsReferenceType
);
Lowering\ClosureConversion\ClosureConversion.cs (1)
700
Debug.Assert(capturedFrame.Type.
IsReferenceType
); // Make sure we're not accidentally capturing a struct by value
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
688
receiver = requiresInstanceReceiver ? nullObject : receiver.Type.
IsReferenceType
? receiver : _bound.Convert(_objectType, receiver);
1034
!node.ReceiverOpt.Type.
IsReferenceType
)
Lowering\DiagnosticsPass_Warnings.cs (1)
89
if (IsNonAgileFieldAccess(fieldAccess, _compilation) && !fieldSymbol.Type.
IsReferenceType
)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
173
receiver.Type?.
IsReferenceType
== false &&
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
469
typeDecision.Type.
IsReferenceType
&&
Lowering\LocalRewriter\LocalRewriter_Call.cs (4)
282
|| (!receiverOpt.Type.
IsReferenceType
&& interceptor.Parameters[0].Type.
IsReferenceType
));
696
if (rewrittenReceiver.Type.
IsReferenceType
)
949
if (!receiverType.
IsReferenceType
)
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (3)
474
else if (!receiver.Type.
IsReferenceType
)
479
Debug.Assert(receiver.Type.
IsReferenceType
);
950
type.
IsReferenceType
||
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.cs (1)
48
if (loweredReceiver.IsDefaultValue() && receiverType.
IsReferenceType
)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
500
if (!receiver.Type.
IsReferenceType
&& method.ContainingType.IsInterface)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (2)
505
receiver.Type.
IsReferenceType
? RefKind.None : RefKind.Ref);
807
receiver.Type.
IsReferenceType
? RefKind.None : RefKind.Ref);
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.cs (1)
36
if (!localSymbol.Type.
IsReferenceType
&& localSymbol.ConstantValue == null)
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (2)
59
var isUnconstrainedTypeParameter = rewrittenLeft.Type is {
IsReferenceType
: false, IsValueType: false };
91
if (rewrittenLeft.Type.
IsReferenceType
&&
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
702
bool callWithoutCopy = expr.Type.
IsReferenceType
||
Lowering\SpillSequenceSpiller.cs (6)
380
if (refKind != RefKind.None || expression.Type.
IsReferenceType
)
563
&& !receiverRefLocal.Type.
IsReferenceType
1034
Debug.Assert(refKind == RefKind.None || !receiver.Type.
IsReferenceType
);
1044
Debug.Assert(!receiverType.
IsReferenceType
);
1074
if (!receiver.Type.
IsReferenceType
&& LocalRewriter.CanBePassedByReference(receiver))
1286
if (receiver.Type.
IsReferenceType
|| receiver.Type.IsValueType || receiverRefKind == RefKind.None)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (2)
139
thisParameter.Type.
IsReferenceType
&&
439
if (type.
IsReferenceType
|| type.TypeKind == TypeKind.TypeParameter) return true; // type parameter or reference type
Lowering\StateMachineRewriter\StateMachineRewriter.cs (1)
440
if (method.IsStatic || method.ThisParameter.Type.
IsReferenceType
)
Lowering\SyntheticBoundNodeFactory.cs (2)
965
Debug.Assert(left.Type.
IsReferenceType
);
1673
return typeSymbol.
IsReferenceType
? Null(typeSymbol, syntax) : Default(typeSymbol, syntax);
Symbols\AliasSymbol.cs (1)
410
annotatedNamespaceOrType.TypeWithAnnotations.Type?.
IsReferenceType
is true)
Symbols\ConstantValueUtils.cs (1)
111
typeSymbol.
IsReferenceType
&&
Symbols\ConstraintsHelper.cs (2)
975
if (!typeArgument.Type.
IsReferenceType
)
1164
if (typeArgument.Type.
IsReferenceType
)
Symbols\PublicModel\TypeSymbol.cs (1)
123
return UnderlyingTypeSymbol.
IsReferenceType
;
Symbols\Source\SourceAssemblySymbol.cs (1)
2779
if (type.
IsReferenceType
) return "null";
Symbols\Source\SourceComplexParameterSymbol.cs (1)
991
if (this.Type.
IsReferenceType
)
Symbols\TypeParameterSymbol.cs (1)
405
if (!constraint.
IsReferenceType
)
Symbols\TypeSymbol.cs (1)
2499
bool ITypeSymbolInternal.IsReferenceType => this.
IsReferenceType
;
Symbols\TypeSymbolExtensions.cs (5)
31
return type.
IsReferenceType
|| type.IsPointerOrFunctionPointer() || type.IsNullableType();
44
return typeSymbol.
IsReferenceType
|| typeSymbol.IsEnumType() || typeSymbol.SpecialType.CanBeConst() || typeSymbol.IsNativeIntegerType;
626
if (type.
IsReferenceType
)
1476
return type.
IsReferenceType
;
1619
return type.
IsReferenceType
&& type.TypeKind != TypeKind.TypeParameter;