7 overrides of IsReferenceType
Microsoft.CodeAnalysis.CSharp (7)
Symbols\ArrayTypeSymbol.cs (1)
223
public override bool
IsReferenceType
Symbols\DynamicTypeSymbol.cs (1)
39
public override bool
IsReferenceType
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
74
public override bool
IsReferenceType
=> false;
Symbols\FunctionTypeSymbol.cs (1)
98
public override bool
IsReferenceType
=> true;
Symbols\NamedTypeSymbol.cs (1)
534
public override bool
IsReferenceType
Symbols\PointerTypeSymbol.cs (1)
94
public override bool
IsReferenceType
Symbols\TypeParameterSymbol.cs (1)
519
public sealed override bool
IsReferenceType
122 references to IsReferenceType
Microsoft.CodeAnalysis.CSharp (122)
Binder\Binder.ValueChecks.cs (1)
2673
Debug.Assert(receiver is not BoundValuePlaceholderBase && method is not null && receiver.Type?.
IsReferenceType
== false);
Binder\Binder_Conversions.cs (1)
721
typeArgument.Type.
IsReferenceType
&&
Binder\Binder_Expressions.cs (3)
1427
else if (typeWithAnnotations.NullableAnnotation.IsAnnotated() && type.
IsReferenceType
)
2872
if (!targetType.
IsReferenceType
&& !targetType.IsNullableType() && operand.IsLiteralNull())
12377
if ((!accessType.
IsReferenceType
&& !accessType.IsValueType) || accessType.IsRestrictedType())
Binder\Binder_Invocation.cs (1)
1426
if (receiver is BoundValuePlaceholderBase || receiver?.Type is null or {
IsReferenceType
: true })
Binder\Binder_Operators.cs (10)
503
Debug.Assert(leftType.
IsReferenceType
);
1344
Debug.Assert(!right.Type.
IsReferenceType
);
1348
Debug.Assert(!left.Type.
IsReferenceType
);
3609
Debug.Assert(operandType.
IsReferenceType
);
3926
(extensionParameter.Type.
IsReferenceType
&& extensionParameter.RefKind == RefKind.None)))
4233
if (receiver.Type.
IsReferenceType
)
4918
if (targetType.
IsReferenceType
&& targetTypeWithAnnotations.NullableAnnotation.IsAnnotated())
5390
if (targetType.
IsReferenceType
&& targetTypeWithAnnotations.NullableAnnotation.IsAnnotated())
5396
else if (!targetType.
IsReferenceType
&& !targetType.IsNullableType())
5681
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)
363
if (thisParameter?.Type.
IsReferenceType
== false)
486
if (!(method.IsExtensionBlockMember() && method.IsStatic) && !Binder.GetReceiverParameter(method).Type.
IsReferenceType
)
Binder\Semantics\Conversions\ConversionsBase.cs (8)
1269
if (destination.
IsReferenceType
)
2653
if (!source.
IsReferenceType
)
3338
if (!source.IsValueType || !destination.
IsReferenceType
)
3486
if (destination.
IsReferenceType
)
3491
else if (source.Kind == SymbolKind.DynamicType && destination.
IsReferenceType
)
3729
bool bothAreReferenceTypes = sourceArg.
IsReferenceType
&& destinationArg.
IsReferenceType
;
3881
if (source.
IsReferenceType
&&
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (12)
2139
if (elementSource.Type.
IsReferenceType
)
2174
if (!sourceElementType.Type.
IsReferenceType
|| target.IsSpan())
2407
if (sourceTypeArgument.Type.
IsReferenceType
&& typeParameter.Variance == VarianceKind.Out)
2411
else if (sourceTypeArgument.Type.
IsReferenceType
&& typeParameter.Variance == VarianceKind.In)
2451
if ((sourceParam.Type.
IsReferenceType
|| sourceParam.Type.IsFunctionPointer()) && sourceParam.RefKind == RefKind.None)
2461
if ((sourceSignature.ReturnType.
IsReferenceType
|| sourceSignature.ReturnType.IsFunctionPointer()) && sourceSignature.RefKind == RefKind.None)
2514
Debug.Assert(source.Type.
IsReferenceType
|| source.Type.IsFunctionPointer());
2578
if (elementSource.Type.
IsReferenceType
)
2757
if (sourceTypeArgument.Type.
IsReferenceType
&& typeParameter.Variance == VarianceKind.Out)
2761
else if (sourceTypeArgument.Type.
IsReferenceType
&& typeParameter.Variance == VarianceKind.In)
2801
if ((sourceParam.Type.
IsReferenceType
|| sourceParam.Type.IsFunctionPointer()) && sourceParam.RefKind == RefKind.None)
2811
if ((sourceSignature.ReturnType.
IsReferenceType
|| sourceSignature.ReturnType.IsFunctionPointer()) && sourceSignature.RefKind == RefKind.None)
CodeGen\CodeGenerator_HasHome.cs (1)
69
if (type.
IsReferenceType
)
CodeGen\EmitAddress.cs (3)
41
Debug.Assert(!expression.Type.
IsReferenceType
);
236
Debug.Assert(!expression.Type.
IsReferenceType
);
372
if (!receiver.Type.
IsReferenceType
)
CodeGen\EmitArrayInitializer.cs (1)
684
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
)
1930
callKind = receiverType.
IsReferenceType
&&
2085
if (!receiverType.
IsReferenceType
)
2143
BoundConditionalReceiver { Type: {
IsReferenceType
: false, IsValueType: false } })
2646
if (rightType.
IsReferenceType
|| (right.ConstantValueOpt != null && rightType.SpecialType != SpecialType.System_Decimal))
3890
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)
1244
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)
856
if ((object)type != null && type.
IsReferenceType
&&
FlowAnalysis\NullableWalker.cs (4)
2708
if (targetType.Type.
IsReferenceType
||
2804
if (fieldOrPropertyType.Type.
IsReferenceType
||
8349
return (type.Kind == SymbolKind.TypeParameter && !type.
IsReferenceType
) || type.IsNullableTypeOrTypeParameter();
13352
Debug.Assert(node.Type.
IsReferenceType
);
Lowering\ClosureConversion\ClosureConversion.cs (1)
715
Debug.Assert(capturedFrame.Type.
IsReferenceType
); // Make sure we're not accidentally capturing a struct by value
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
774
else if (!receiver.Type.
IsReferenceType
)
1170
!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)
504
typeDecision.Type.
IsReferenceType
&&
Lowering\LocalRewriter\LocalRewriter_Call.cs (5)
297
|| (!receiverOpt.Type.
IsReferenceType
&& interceptor.Parameters[0].Type.
IsReferenceType
));
714
if (rewrittenReceiver.Type.
IsReferenceType
)
959
if (rewrittenReceiver.Type.
IsReferenceType
||
1011
if (!receiverType.
IsReferenceType
)
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (6)
39
Debug.Assert(node.LeftConversion is null || (node.Left.Type!.
IsReferenceType
&& node.Operator.Method.IsExtensionBlockMember()));
57
if (leftType.
IsReferenceType
)
259
return symbol.IsExtensionBlockMember() && !symbol.IsStatic && symbol.ContainingType.ExtensionParameter is { RefKind: RefKind.None, Type.
IsReferenceType
: false };
607
else if (!receiver.Type.
IsReferenceType
)
612
Debug.Assert(receiver.Type.
IsReferenceType
);
1083
type.
IsReferenceType
||
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.cs (1)
48
if (loweredReceiver.IsDefaultValue() && receiverType.
IsReferenceType
)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
508
if (!receiver.Type.
IsReferenceType
&& method.ContainingType.IsInterface)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (4)
569
receiver.Type.
IsReferenceType
? RefKind.None : RefKind.Ref);
589
Debug.Assert(receiverLocal.LocalSymbol.Type is {
IsReferenceType
: false, IsValueType: false });
887
receiver.Type.
IsReferenceType
? RefKind.None : RefKind.Ref);
925
Debug.Assert(receiverLocal.LocalSymbol.Type is {
IsReferenceType
: false, IsValueType: false });
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)
706
bool callWithoutCopy = expr.Type.
IsReferenceType
||
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (2)
408
Debug.Assert(node.OperandConversion is null || (node.Operand.Type!.
IsReferenceType
&& node.MethodOpt.IsExtensionBlockMember()));
430
if (operandType.
IsReferenceType
)
Lowering\SpillSequenceSpiller.cs (6)
380
if (refKind != RefKind.None || expression.Type.
IsReferenceType
)
563
&& !receiverRefLocal.Type.
IsReferenceType
1048
Debug.Assert(refKind == RefKind.None || !receiver.Type.
IsReferenceType
);
1058
Debug.Assert(!receiverType.
IsReferenceType
);
1088
if (!receiver.Type.
IsReferenceType
&& LocalRewriter.CanBePassedByReference(receiver))
1300
if (receiver.Type.
IsReferenceType
|| receiver.Type.IsValueType || receiverRefKind == RefKind.None)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
147
thisParameter.Type.
IsReferenceType
&&
Lowering\StateMachineRewriter\StateMachineRewriter.cs (1)
448
if (method.IsStatic || method.ThisParameter.Type.
IsReferenceType
)
Lowering\SyntheticBoundNodeFactory.cs (2)
948
Debug.Assert(left.Type.
IsReferenceType
);
1636
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)
998
if (!typeArgument.Type.
IsReferenceType
)
1189
if (typeArgument.Type.
IsReferenceType
)
Symbols\PublicModel\TypeSymbol.cs (1)
137
return UnderlyingTypeSymbol.
IsReferenceType
;
Symbols\Source\SourceAssemblySymbol.cs (1)
2805
if (type.
IsReferenceType
) return "null";
Symbols\Source\SourceComplexParameterSymbol.cs (1)
1015
if (this.Type.
IsReferenceType
)
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (1)
422
case { TypeKind: TypeKind.TypeParameter,
IsReferenceType
: false }:
Symbols\TypeParameterSymbol.cs (1)
406
if (!constraint.
IsReferenceType
)
Symbols\TypeSymbol.cs (1)
2534
bool ITypeSymbolInternal.IsReferenceType => this.
IsReferenceType
;
Symbols\TypeSymbolExtensions.cs (5)
41
return type.
IsReferenceType
|| type.IsPointerOrFunctionPointer() || type.IsNullableType();
54
return typeSymbol.
IsReferenceType
|| typeSymbol.IsEnumType() || typeSymbol.SpecialType.CanBeConst() || typeSymbol.IsNativeIntegerType;
676
if (type.
IsReferenceType
)
1611
return type.
IsReferenceType
;
1754
return type.
IsReferenceType
&& type.TypeKind != TypeKind.TypeParameter;