11 overrides of AllowsRefLikeType
Microsoft.CodeAnalysis.CSharp (11)
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeParameterSymbol.cs (1)
96
public override bool
AllowsRefLikeType
=> _allowsRefLikeType;
Symbols\ErrorTypeSymbol.ErrorTypeParameterSymbol.cs (1)
94
public override bool
AllowsRefLikeType
Symbols\Metadata\PE\PETypeParameterSymbol.cs (1)
571
public override bool
AllowsRefLikeType
Symbols\Source\CrefTypeParameterSymbol.cs (1)
130
public override bool
AllowsRefLikeType
Symbols\Source\IndexedTypeParameterSymbol.cs (1)
145
public override bool
AllowsRefLikeType
Symbols\Source\SourceTypeParameterSymbol.cs (2)
498
public override bool
AllowsRefLikeType
625
public abstract override bool
AllowsRefLikeType
{ get; }
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeParameterSymbol.cs (1)
37
public override bool
AllowsRefLikeType
=> false; // The list is a class type and cannot store ref structs as elements.
Symbols\Synthesized\SynthesizedInlineArrayTypeSymbol.cs (1)
242
public override bool
AllowsRefLikeType
=> false; // Span types do not support ref like type parameters for now
Symbols\SynthesizedSimpleMethodTypeParameterSymbol.cs (1)
71
public override bool
AllowsRefLikeType
Symbols\Wrapped\WrappedTypeParameterSymbol.cs (1)
122
public override bool
AllowsRefLikeType
42 references to AllowsRefLikeType
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder_Expressions.cs (1)
9350
if (receiverOpt is { Type: TypeParameterSymbol {
AllowsRefLikeType
: true } } &&
Binder\Binder_Operators.cs (4)
5199
if (targetType is TypeParameterSymbol {
AllowsRefLikeType
: true })
5206
else if (operandType is not TypeParameterSymbol {
AllowsRefLikeType
: true })
5212
Debug.Assert(operandType is TypeParameterSymbol {
AllowsRefLikeType
: false });
5220
Debug.Assert(targetType is TypeParameterSymbol {
AllowsRefLikeType
: false });
Binder\ForEachLoopBinder.cs (2)
1264
if (enumeratorType is TypeParameterSymbol {
AllowsRefLikeType
: true })
1847
needSupportForRefStructInterfaces = typeParameter.
AllowsRefLikeType
;
Binder\Semantics\Conversions\ConversionsBase.cs (11)
2883
if (destination is TypeParameterSymbol {
AllowsRefLikeType
: false } &&
2884
!source.
AllowsRefLikeType
&&
2903
if (source.
AllowsRefLikeType
)
2926
if (destination is TypeParameterSymbol {
AllowsRefLikeType
: false } &&
3045
return typeParameter.
AllowsRefLikeType
&& HasVarianceCompatibleInterfaceInEffectiveInterfaceSet(typeParameter, targetInterfaceType, ref useSiteInfo);
3280
if (source.
AllowsRefLikeType
)
3303
if (destination is TypeParameterSymbol {
AllowsRefLikeType
: false } d &&
3558
if (s?.
AllowsRefLikeType
== true || t?.
AllowsRefLikeType
== true)
3610
if (s?.
AllowsRefLikeType
== true || t?.
AllowsRefLikeType
== true)
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (3)
734
if ((left.Type is TypeParameterSymbol {
AllowsRefLikeType
: true } && right.IsLiteralNull()) ||
735
(right.Type is TypeParameterSymbol {
AllowsRefLikeType
: true } && left.IsLiteralNull()))
792
return (operand.Type is TypeParameterSymbol {
AllowsRefLikeType
: true }) ? Conversion.Boxing : Conversions.ClassifyConversionFromExpression(operand, objectType, isChecked: isChecked, ref useSiteInfo);
CodeGen\EmitOperators.cs (1)
375
if (comparand is BoundConversion { Type.SpecialType: SpecialType.System_Object, ConversionKind: ConversionKind.Boxing, Operand.Type: TypeParameterSymbol {
AllowsRefLikeType
: true } } &&
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (2)
747
Debug.Assert(type.
AllowsRefLikeType
== other.
AllowsRefLikeType
);
Emitter\Model\TypeParameterSymbolAdapter.cs (1)
309
return AdaptedTypeParameterSymbol.
AllowsRefLikeType
;
Emitter\NoPia\EmbeddedTypeParameter.cs (1)
52
return UnderlyingTypeParameter.AdaptedTypeParameterSymbol.
AllowsRefLikeType
;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
239
_ when variableType is TypeParameterSymbol {
AllowsRefLikeType
: true }
Lowering\SyntheticBoundNodeFactory.cs (1)
696
if (value.Type is TypeParameterSymbol {
AllowsRefLikeType
: true })
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.DelegateTemplateSymbol.cs (1)
181
allowsRefLikeType: typeParametersToSubstitute[i].
AllowsRefLikeType
));
Symbols\ConstraintsHelper.cs (2)
97
if (typeParameter.
AllowsRefLikeType
)
965
if (typeParameter.
AllowsRefLikeType
)
Symbols\MemberSignatureComparer.cs (2)
636
(typeParameter1.
AllowsRefLikeType
!= typeParameter2.
AllowsRefLikeType
) ||
Symbols\PublicModel\TypeParameterSymbol.cs (1)
91
bool ITypeParameterSymbol.AllowsRefLikeType => _underlying.
AllowsRefLikeType
;
Symbols\Source\ExtensionGroupingInfo.cs (2)
365
(typeParameter1.
AllowsRefLikeType
!= typeParameter2.
AllowsRefLikeType
) ||
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (3)
90
if (typeParameter.
AllowsRefLikeType
)
430
typeParameter.HasNotNullConstraint || typeParameter.
AllowsRefLikeType
;
651
if (typeParam.
AllowsRefLikeType
)
Symbols\Source\SourceTypeParameterSymbol.cs (1)
929
return ((object)typeParameter != null) && typeParameter.
AllowsRefLikeType
;
Symbols\TypeSymbolExtensions.cs (1)
587
return type is { IsRefLikeType: true } or TypeParameterSymbol {
AllowsRefLikeType
: true };
Symbols\Wrapped\WrappedTypeParameterSymbol.cs (1)
126
return _underlyingTypeParameter.
AllowsRefLikeType
;