19 overrides of IsRefLikeType
Microsoft.CodeAnalysis.CSharp (19)
Symbols\AnonymousTypes\PublicSymbols\AnonymousManager.TypeOrDelegatePublicSymbol.cs (1)
105
public sealed override bool
IsRefLikeType
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeOrDelegateTemplateSymbol.cs (1)
160
public sealed override bool
IsRefLikeType
Symbols\ArrayTypeSymbol.cs (1)
240
public sealed override bool
IsRefLikeType
Symbols\DynamicTypeSymbol.cs (1)
111
public sealed override bool
IsRefLikeType
Symbols\ErrorTypeSymbol.cs (1)
108
public sealed override bool
IsRefLikeType
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
76
public override bool
IsRefLikeType
=> false;
Symbols\FunctionTypeSymbol.cs (1)
104
public override bool
IsRefLikeType
=> false;
Symbols\Metadata\PE\PENamedTypeSymbol.cs (1)
2277
public override bool
IsRefLikeType
Symbols\PointerTypeSymbol.cs (1)
111
public sealed override bool
IsRefLikeType
Symbols\Source\SourceMemberContainerSymbol.cs (1)
843
public sealed override bool
IsRefLikeType
=> HasFlag(DeclarationModifiers.Ref);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorTypeSymbol.cs (1)
140
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (1)
817
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedContainer.cs (1)
154
public sealed override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedEmbeddedAttributeSymbol.cs (1)
90
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedHotReloadExceptionSymbol.cs (1)
98
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedInlineArrayTypeSymbol.cs (1)
65
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedPrivateImplementationDetailsType.cs (1)
58
public override bool
IsRefLikeType
=> false;
Symbols\TypeParameterSymbol.cs (1)
599
public sealed override bool
IsRefLikeType
Symbols\Wrapped\WrappedNamedTypeSymbol.cs (1)
227
public override bool
IsRefLikeType
29 references to IsRefLikeType
Microsoft.CodeAnalysis.CSharp (29)
Binder\Binder.ValueChecks.cs (4)
2508
return method.ContainingType.
IsRefLikeType
;
4123
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
4519
if (expr.Type?.
IsRefLikeType
!= true || expr.Elements.Length == 0)
4833
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
Binder\Binder_Operators.cs (3)
3529
if (targetType.
IsRefLikeType
)
3537
else if (operandType.
IsRefLikeType
)
3958
if (operandType?.
IsRefLikeType
== true)
Binder\Binder_Statements.cs (1)
758
Debug.Assert(expr.Type.
IsRefLikeType
|| hasAwait); // pattern dispose lookup is only valid on ref structs or asynchronous usings
Binder\ForEachLoopBinder.cs (3)
1194
if (enumeratorType.
IsRefLikeType
|| isAsync)
1243
Debug.Assert(!enumeratorType.
IsRefLikeType
); // Ref like types are supposed to be structs, therefore, sealed.
1804
needSupportForRefStructInterfaces = type.
IsRefLikeType
;
Binder\LockBinder.cs (1)
87
if (scopeType is not NamedTypeSymbol { Name: WellKnownMemberNames.LockScopeTypeName, Arity: 0, IsValueType: true,
IsRefLikeType
: true, DeclaredAccessibility: Accessibility.Public } ||
Binder\Semantics\Conversions\Conversions.cs (1)
501
if (spanType.TypeKind == TypeKind.Struct && spanType.
IsRefLikeType
)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
3027
else if (typeToCheck.
IsRefLikeType
)
Binder\UsingStatementBinder.cs (1)
193
if (type is object && (type.
IsRefLikeType
|| hasAwait))
CodeGen\EmitExpression.cs (1)
4008
Debug.Assert(!type.
IsRefLikeType
);
FlowAnalysis\NullableWalker.cs (1)
11923
Debug.Assert(node.Type is null || node.Type.IsErrorType() || node.Type.
IsRefLikeType
);
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
237
_ when variableType.
IsRefLikeType
&& !hasOverriddenToString(variableType)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
227
(!builder.ReturnType.
IsRefLikeType
|| builder.Parameters[0].EffectiveScope == ScopedKind.ScopedValue))
Symbols\ConstraintsHelper.cs (1)
1349
if (typeArgument.Type is NamedTypeSymbol {
IsRefLikeType
: true } refLike &&
Symbols\PublicModel\TypeSymbol.cs (1)
171
bool ITypeSymbol.IsRefLikeType => UnderlyingTypeSymbol.
IsRefLikeType
;
Symbols\Source\SourcePropertySymbolBase.cs (1)
1837
else if (this.IsAutoPropertyOrUsesFieldKeyword && type.IsRefLikeOrAllowsRefLikeType() && (this.IsStatic || !this.ContainingType.
IsRefLikeType
))
Symbols\TypeSymbol.cs (1)
1627
if (!isStatic && implementingType.
IsRefLikeType
)
Symbols\TypeSymbolExtensions.cs (3)
546
return type is {
IsRefLikeType
: true } or TypeParameterSymbol { AllowsRefLikeType: true };
1371
IsRefLikeType
: true,
1384
IsRefLikeType
: true,
Symbols\TypeWithAnnotations.cs (2)
902
internal override bool IsRefLikeType(TypeSymbol typeSymbol) => typeSymbol.
IsRefLikeType
;
975
internal override bool IsRefLikeType(TypeSymbol typeSymbol) => typeSymbol.
IsRefLikeType
;
Symbols\Wrapped\WrappedNamedTypeSymbol.cs (1)
229
get { return _underlyingType.
IsRefLikeType
; }