47 references to IsRefLikeOrAllowsRefLikeType
Microsoft.CodeAnalysis.CSharp (47)
Binder\Binder.ValueChecks.cs (17)
54
returnType.
IsRefLikeOrAllowsRefLikeType
();
367
Debug.Assert(parameter.RefKind.IsWritableReference() && parameter.Type.
IsRefLikeOrAllowsRefLikeType
());
2309
if (methodInvocationInfo.MethodInfo.Method?.RequiresInstanceReceiver == true && methodInvocationInfo.Receiver?.Type?.
IsRefLikeOrAllowsRefLikeType
() == true)
2341
(param is { RefKind: not RefKind.None, Type: { } type } && type.
IsRefLikeOrAllowsRefLikeType
())) &&
2532
if (receiver?.Type?.
IsRefLikeOrAllowsRefLikeType
() == true)
2569
(param is { RefKind: not RefKind.None, Type: { } type } && type.
IsRefLikeOrAllowsRefLikeType
())) &&
2717
parameter.Type.
IsRefLikeOrAllowsRefLikeType
() &&
2855
return method.ReturnType.
IsRefLikeOrAllowsRefLikeType
();
2857
return property.Type.
IsRefLikeOrAllowsRefLikeType
();
2936
parameter.Type.
IsRefLikeOrAllowsRefLikeType
();
3011
if (argument.Type?.
IsRefLikeOrAllowsRefLikeType
() == true)
3019
if (parameter.Type.
IsRefLikeOrAllowsRefLikeType
() && parameter.RefKind != RefKind.Out && GetParameterValEscapeLevel(parameter) is { } valEscapeLevel)
3071
if (argument.Type?.
IsRefLikeOrAllowsRefLikeType
() == true)
3079
if (parameter.Type.
IsRefLikeOrAllowsRefLikeType
())
3207
&& argument.Type?.
IsRefLikeOrAllowsRefLikeType
() == true)
4346
if (expr.Type?.
IsRefLikeOrAllowsRefLikeType
() != true)
4998
if (expr.Type?.
IsRefLikeOrAllowsRefLikeType
() != true)
Binder\Binder_Expressions.cs (2)
2121
Debug.Assert(parameter.Type.
IsRefLikeOrAllowsRefLikeType
());
2144
Debug.Assert(parameter.Type.
IsRefLikeOrAllowsRefLikeType
());
Binder\Binder_Statements.cs (2)
1592
Debug.Assert(leftEscape.Equals(rightEscape) || op1.Type.
IsRefLikeOrAllowsRefLikeType
());
1627
if (!hasErrors && op1.Type.
IsRefLikeOrAllowsRefLikeType
())
Binder\ForEachLoopBinder.cs (1)
1087
if (unwrappedCollectionExprType.
IsRefLikeOrAllowsRefLikeType
())
Binder\RefSafetyAnalysis.cs (4)
556
if (node.DeclaredTypeOpt?.Type.
IsRefLikeOrAllowsRefLikeType
() == true)
653
return typeExpression.Type.
IsRefLikeOrAllowsRefLikeType
() ? valEscape : SafeContext.CallingMethod;
720
return member.Type.
IsRefLikeOrAllowsRefLikeType
() ? valEscape : SafeContext.CallingMethod;
1016
if (parameter?.Type?.
IsRefLikeOrAllowsRefLikeType
() != true ||
CodeGen\CodeGenerator_RefSafety.cs (2)
73
if (used && (returnRefKind != RefKind.None || returnType.
IsRefLikeOrAllowsRefLikeType
()))
97
if (parameter.Type.
IsRefLikeOrAllowsRefLikeType
() && parameter.EffectiveScope != ScopedKind.ScopedValue)
Lowering\SpillSequenceSpiller.cs (1)
337
if (refKind != RefKind.None || expression.Type?.
IsRefLikeOrAllowsRefLikeType
() == true)
Symbols\ConstraintsHelper.cs (1)
963
if (typeArgument.Type.
IsRefLikeOrAllowsRefLikeType
())
Symbols\Metadata\PE\PEFieldSymbol.cs (1)
637
(IsFixedSizeBuffer || Type.
IsRefLikeOrAllowsRefLikeType
()))
Symbols\Metadata\PE\PEParameterSymbol.cs (1)
336
else if (typeWithAnnotations.Type.
IsRefLikeOrAllowsRefLikeType
())
Symbols\Source\SourceComplexParameterSymbol.cs (1)
910
return RefKind != RefKind.None || (HasParamsModifier && Type.
IsRefLikeOrAllowsRefLikeType
());
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (5)
1412
p.Type.
IsRefLikeOrAllowsRefLikeType
()))
1422
if ((overrideThisParameter is { RefKind: RefKind.Ref or RefKind.Out } && overrideThisParameter.Type.
IsRefLikeOrAllowsRefLikeType
()) ||
1423
method.ReturnType.
IsRefLikeOrAllowsRefLikeType
() ||
1428
else if (parameters.Any(p => (p.RefKind is RefKind.Ref or RefKind.Out) && p.Type.
IsRefLikeOrAllowsRefLikeType
()))
1444
else if (parameters.Any(p => p.RefKind == RefKind.None && p.Type.
IsRefLikeOrAllowsRefLikeType
()))
Symbols\Source\SourceMemberFieldSymbol.cs (2)
67
else if (type.
IsRefLikeOrAllowsRefLikeType
() && (this.IsStatic || !containingType.IsRefLikeType))
511
if (type.Type.
IsRefLikeOrAllowsRefLikeType
())
Symbols\Source\SourceParameterSymbol.cs (1)
245
else if (HasParamsModifier && Type.
IsRefLikeOrAllowsRefLikeType
())
Symbols\Source\SourcePropertySymbolBase.cs (1)
1888
else if (type.
IsRefLikeOrAllowsRefLikeType
() && (this.IsStatic || !this.ContainingType.IsRefLikeType))
Symbols\TypeSymbolExtensions.cs (2)
547
return type.IsErrorType() || type.
IsRefLikeOrAllowsRefLikeType
();
1456
return ignoreSpanLikeTypes ? false : type.
IsRefLikeOrAllowsRefLikeType
();
Symbols\TypeWithAnnotations.cs (3)
903
internal override bool IsRefLikeOrAllowsRefLikeType(TypeSymbol typeSymbol) => typeSymbol.
IsRefLikeOrAllowsRefLikeType
();
976
internal override bool IsRefLikeOrAllowsRefLikeType(TypeSymbol typeSymbol) => typeSymbol.
IsRefLikeOrAllowsRefLikeType
();
1077
internal override bool IsRefLikeOrAllowsRefLikeType(TypeSymbol typeSymbol) => typeSymbol.
IsRefLikeOrAllowsRefLikeType
();