20 overrides of IsRefLikeType
Microsoft.CodeAnalysis.CSharp (19)
Symbols\AnonymousTypes\PublicSymbols\AnonymousManager.TypeOrDelegatePublicSymbol.cs (1)
116
public sealed override bool
IsRefLikeType
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeOrDelegateTemplateSymbol.cs (1)
165
public sealed override bool
IsRefLikeType
Symbols\ArrayTypeSymbol.cs (1)
243
public sealed override bool
IsRefLikeType
Symbols\DynamicTypeSymbol.cs (1)
114
public sealed override bool
IsRefLikeType
Symbols\ErrorTypeSymbol.cs (1)
111
public sealed override bool
IsRefLikeType
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
78
public override bool
IsRefLikeType
=> false;
Symbols\FunctionTypeSymbol.cs (1)
106
public override bool
IsRefLikeType
=> false;
Symbols\Metadata\PE\PENamedTypeSymbol.cs (1)
2661
public override bool
IsRefLikeType
Symbols\PointerTypeSymbol.cs (1)
114
public sealed override bool
IsRefLikeType
Symbols\Source\SourceMemberContainerSymbol.cs (1)
864
public sealed override bool
IsRefLikeType
=> HasFlag(DeclarationModifiers.Ref);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorTypeSymbol.cs (1)
141
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (1)
818
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedContainer.cs (1)
150
public sealed override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedEmbeddedAttributeSymbol.cs (1)
91
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedHotReloadExceptionSymbol.cs (1)
98
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedInlineArrayTypeSymbol.cs (1)
66
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedPrivateImplementationDetailsType.cs (1)
59
public override bool
IsRefLikeType
=> false;
Symbols\TypeParameterSymbol.cs (1)
602
public sealed override bool
IsRefLikeType
Symbols\Wrapped\WrappedNamedTypeSymbol.cs (1)
227
public override bool
IsRefLikeType
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\MockNamedTypeSymbol.cs (1)
197
public sealed override bool
IsRefLikeType
45 references to IsRefLikeType
Microsoft.CodeAnalysis.CSharp (29)
Binder\Binder.ValueChecks.cs (4)
2763
return method.ContainingType.
IsRefLikeType
;
4255
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
4595
if (expr.Type?.
IsRefLikeType
!= true || expr.Elements.Length == 0)
4919
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
Binder\Binder_Operators.cs (3)
4956
if (targetType.
IsRefLikeType
)
4964
else if (operandType.
IsRefLikeType
)
5385
if (operandType?.
IsRefLikeType
== true)
Binder\Binder_Statements.cs (1)
760
Debug.Assert(expr.Type.
IsRefLikeType
|| hasAwait); // pattern dispose lookup is only valid on ref structs or asynchronous usings
Binder\ForEachLoopBinder.cs (3)
1223
if (enumeratorType.
IsRefLikeType
|| isAsync)
1272
Debug.Assert(!enumeratorType.
IsRefLikeType
); // Ref like types are supposed to be structs, therefore, sealed.
1855
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)
524
if (spanType.TypeKind == TypeKind.Struct && spanType.
IsRefLikeType
)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
3025
else if (typeToCheck.
IsRefLikeType
)
Binder\UsingStatementBinder.cs (1)
193
if (type is object && (type.
IsRefLikeType
|| hasAwait))
CodeGen\EmitExpression.cs (1)
4046
Debug.Assert(!type.
IsRefLikeType
);
FlowAnalysis\NullableWalker.cs (1)
12743
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)
226
(!builder.ReturnType.
IsRefLikeType
|| builder.Parameters[0].EffectiveScope == ScopedKind.ScopedValue))
Symbols\ConstraintsHelper.cs (1)
1378
if (typeArgument.Type is NamedTypeSymbol {
IsRefLikeType
: true } refLike &&
Symbols\PublicModel\TypeSymbol.cs (1)
182
bool ITypeSymbol.IsRefLikeType => UnderlyingTypeSymbol.
IsRefLikeType
;
Symbols\Source\SourcePropertySymbolBase.cs (1)
1888
else if (type.IsRefLikeOrAllowsRefLikeType() && (this.IsStatic || !this.ContainingType.
IsRefLikeType
))
Symbols\TypeSymbol.cs (1)
1645
if (!isStatic && implementingType.
IsRefLikeType
)
Symbols\TypeSymbolExtensions.cs (3)
547
return type is {
IsRefLikeType
: true } or TypeParameterSymbol { AllowsRefLikeType: true };
1373
IsRefLikeType
: true,
1386
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
; }
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (3)
Attributes\AttributeTests_IsByRefLike.cs (3)
670
Assert.True(type.
IsRefLikeType
);
757
Assert.True(type.
IsRefLikeType
);
808
Assert.True(type.
IsRefLikeType
);
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (13)
Parsing\ReadOnlyStructs.cs (13)
45
Assert.False(s1.
IsRefLikeType
);
51
Assert.False(s2.
IsRefLikeType
);
57
Assert.False(s3.
IsRefLikeType
);
119
Assert.False(s1.
IsRefLikeType
);
125
Assert.False(s2.
IsRefLikeType
);
131
Assert.False(s3.
IsRefLikeType
);
154
Assert.True(s1.
IsRefLikeType
);
160
Assert.True(s2.
IsRefLikeType
);
187
Assert.False(s1.
IsRefLikeType
);
191
Assert.True(s2.
IsRefLikeType
);
221
Assert.True(s1.
IsRefLikeType
);
225
Assert.False(s2.
IsRefLikeType
);
229
Assert.True(s3.
IsRefLikeType
);