48 references to IsRefLikeOrAllowsRefLikeType
Microsoft.CodeAnalysis.CSharp (48)
Binder\Binder.ValueChecks.cs (17)
54returnType.IsRefLikeOrAllowsRefLikeType(); 367Debug.Assert(parameter.RefKind.IsWritableReference() && parameter.Type.IsRefLikeOrAllowsRefLikeType()); 2326if (methodInvocationInfo.MethodInfo.Method?.RequiresInstanceReceiver == true && methodInvocationInfo.Receiver?.Type?.IsRefLikeOrAllowsRefLikeType() == true) 2358(param is { RefKind: not RefKind.None, Type: { } type } && type.IsRefLikeOrAllowsRefLikeType())) && 2549if (receiver?.Type?.IsRefLikeOrAllowsRefLikeType() == true) 2586(param is { RefKind: not RefKind.None, Type: { } type } && type.IsRefLikeOrAllowsRefLikeType())) && 2734parameter.Type.IsRefLikeOrAllowsRefLikeType() && 2872return method.ReturnType.IsRefLikeOrAllowsRefLikeType(); 2874return property.Type.IsRefLikeOrAllowsRefLikeType(); 2953parameter.Type.IsRefLikeOrAllowsRefLikeType(); 3028if (argument.Type?.IsRefLikeOrAllowsRefLikeType() == true) 3036if (parameter.Type.IsRefLikeOrAllowsRefLikeType() && parameter.RefKind != RefKind.Out && GetParameterValEscapeLevel(parameter) is { } valEscapeLevel) 3088if (argument.Type?.IsRefLikeOrAllowsRefLikeType() == true) 3096if (parameter.Type.IsRefLikeOrAllowsRefLikeType()) 3224&& argument.Type?.IsRefLikeOrAllowsRefLikeType() == true) 4363if (expr.Type?.IsRefLikeOrAllowsRefLikeType() != true) 5023if (expr.Type?.IsRefLikeOrAllowsRefLikeType() != true)
Binder\Binder_Conversions.cs (1)
894elementType.IsRefLikeOrAllowsRefLikeType())
Binder\Binder_Expressions.cs (2)
2131Debug.Assert(parameter.Type.IsRefLikeOrAllowsRefLikeType()); 2154Debug.Assert(parameter.Type.IsRefLikeOrAllowsRefLikeType());
Binder\Binder_Statements.cs (2)
1593Debug.Assert(leftEscape.Equals(rightEscape) || op1.Type.IsRefLikeOrAllowsRefLikeType()); 1628if (!hasErrors && op1.Type.IsRefLikeOrAllowsRefLikeType())
Binder\ForEachLoopBinder.cs (1)
1089if (unwrappedCollectionExprType.IsRefLikeOrAllowsRefLikeType())
Binder\RefSafetyAnalysis.cs (4)
556if (node.DeclaredTypeOpt?.Type.IsRefLikeOrAllowsRefLikeType() == true) 653return typeExpression.Type.IsRefLikeOrAllowsRefLikeType() ? valEscape : SafeContext.CallingMethod; 720return member.Type.IsRefLikeOrAllowsRefLikeType() ? valEscape : SafeContext.CallingMethod; 1016if (parameter?.Type?.IsRefLikeOrAllowsRefLikeType() != true ||
CodeGen\CodeGenerator_RefSafety.cs (2)
73if (used && (returnRefKind != RefKind.None || returnType.IsRefLikeOrAllowsRefLikeType())) 97if (parameter.Type.IsRefLikeOrAllowsRefLikeType() && parameter.EffectiveScope != ScopedKind.ScopedValue)
Lowering\SpillSequenceSpiller.cs (1)
337if (refKind != RefKind.None || expression.Type?.IsRefLikeOrAllowsRefLikeType() == true)
Symbols\ConstraintsHelper.cs (1)
963if (typeArgument.Type.IsRefLikeOrAllowsRefLikeType())
Symbols\Metadata\PE\PEFieldSymbol.cs (1)
659(IsFixedSizeBuffer || Type.IsRefLikeOrAllowsRefLikeType()))
Symbols\Metadata\PE\PEParameterSymbol.cs (1)
337else if (typeWithAnnotations.Type.IsRefLikeOrAllowsRefLikeType())
Symbols\Source\SourceComplexParameterSymbol.cs (1)
910return RefKind != RefKind.None || (HasParamsModifier && Type.IsRefLikeOrAllowsRefLikeType());
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (5)
1412p.Type.IsRefLikeOrAllowsRefLikeType())) 1422if ((overrideThisParameter is { RefKind: RefKind.Ref or RefKind.Out } && overrideThisParameter.Type.IsRefLikeOrAllowsRefLikeType()) || 1423method.ReturnType.IsRefLikeOrAllowsRefLikeType() || 1428else if (parameters.Any(p => (p.RefKind is RefKind.Ref or RefKind.Out) && p.Type.IsRefLikeOrAllowsRefLikeType())) 1444else if (parameters.Any(p => p.RefKind == RefKind.None && p.Type.IsRefLikeOrAllowsRefLikeType()))
Symbols\Source\SourceMemberFieldSymbol.cs (2)
67else if (type.IsRefLikeOrAllowsRefLikeType() && (this.IsStatic || !containingType.IsRefLikeType)) 511if (type.Type.IsRefLikeOrAllowsRefLikeType())
Symbols\Source\SourceParameterSymbol.cs (1)
245else if (HasParamsModifier && Type.IsRefLikeOrAllowsRefLikeType())
Symbols\Source\SourcePropertySymbolBase.cs (1)
1888else if (type.IsRefLikeOrAllowsRefLikeType() && (this.IsStatic || !this.ContainingType.IsRefLikeType))
Symbols\TypeSymbolExtensions.cs (2)
565return type.IsErrorType() || type.IsRefLikeOrAllowsRefLikeType(); 1474return ignoreSpanLikeTypes ? false : type.IsRefLikeOrAllowsRefLikeType();
Symbols\TypeWithAnnotations.cs (3)
903internal override bool IsRefLikeOrAllowsRefLikeType(TypeSymbol typeSymbol) => typeSymbol.IsRefLikeOrAllowsRefLikeType(); 976internal override bool IsRefLikeOrAllowsRefLikeType(TypeSymbol typeSymbol) => typeSymbol.IsRefLikeOrAllowsRefLikeType(); 1077internal override bool IsRefLikeOrAllowsRefLikeType(TypeSymbol typeSymbol) => typeSymbol.IsRefLikeOrAllowsRefLikeType();