20 overrides of IsRefLikeType
Microsoft.CodeAnalysis.CSharp (19)
Symbols\AnonymousTypes\PublicSymbols\AnonymousManager.TypeOrDelegatePublicSymbol.cs (1)
114
public sealed override bool
IsRefLikeType
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeOrDelegateTemplateSymbol.cs (1)
165
public sealed override bool
IsRefLikeType
Symbols\ArrayTypeSymbol.cs (1)
241
public sealed override bool
IsRefLikeType
Symbols\DynamicTypeSymbol.cs (1)
112
public sealed override bool
IsRefLikeType
Symbols\ErrorTypeSymbol.cs (1)
111
public sealed override bool
IsRefLikeType
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
77
public override bool
IsRefLikeType
=> false;
Symbols\FunctionTypeSymbol.cs (1)
104
public override bool
IsRefLikeType
=> false;
Symbols\Metadata\PE\PENamedTypeSymbol.cs (1)
2673
public override bool
IsRefLikeType
Symbols\PointerTypeSymbol.cs (1)
112
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)
154
public sealed override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedEmbeddedAttributeSymbol.cs (1)
91
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedHotReloadExceptionSymbol.cs (1)
110
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)
600
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)
2829
return method.ContainingType.
IsRefLikeType
;
4423
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
4773
if (expr.Type?.
IsRefLikeType
!= true || expr.Elements.Length == 0)
5111
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
Binder\Binder_Operators.cs (3)
5031
if (targetType.
IsRefLikeType
)
5039
else if (operandType.
IsRefLikeType
)
5460
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)
1201
if (enumeratorType.
IsRefLikeType
|| isAsync)
1252
Debug.Assert(!enumeratorType.
IsRefLikeType
); // Ref like types are supposed to be structs, therefore, sealed.
1842
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)
12881
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)
211
(!builder.ReturnType.
IsRefLikeType
|| builder.Parameters[0].EffectiveScope == ScopedKind.ScopedValue))
Symbols\ConstraintsHelper.cs (1)
1376
if (typeArgument.Type is NamedTypeSymbol {
IsRefLikeType
: true } refLike &&
Symbols\PublicModel\TypeSymbol.cs (1)
197
bool ITypeSymbol.IsRefLikeType => UnderlyingTypeSymbol.
IsRefLikeType
;
Symbols\Source\SourcePropertySymbolBase.cs (1)
1888
else if (type.IsRefLikeOrAllowsRefLikeType() && (this.IsStatic || !this.ContainingType.
IsRefLikeType
))
Symbols\TypeSymbol.cs (1)
1633
if (!isStatic && implementingType.
IsRefLikeType
)
Symbols\TypeSymbolExtensions.cs (3)
552
return type is {
IsRefLikeType
: true } or TypeParameterSymbol { AllowsRefLikeType: true };
1383
IsRefLikeType
: true,
1396
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
);