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)
167
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)
2720
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)
149
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (1)
862
public override bool
IsRefLikeType
=> false;
Symbols\Synthesized\SynthesizedContainer.cs (1)
156
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)
229
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)
2874
return method.ContainingType.
IsRefLikeType
;
4454
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
4784
if (expr.Type?.
IsRefLikeType
!= true)
5133
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
Binder\Binder_Operators.cs (3)
5181
if (targetType.
IsRefLikeType
)
5189
else if (operandType.
IsRefLikeType
)
5611
if (operandType?.
IsRefLikeType
== true)
Binder\Binder_Statements.cs (1)
765
Debug.Assert(expr.Type.
IsRefLikeType
|| hasAwait); // pattern dispose lookup is only valid on ref structs or asynchronous usings
Binder\ForEachLoopBinder.cs (3)
1206
if (enumeratorType.
IsRefLikeType
|| isAsync)
1257
Debug.Assert(!enumeratorType.
IsRefLikeType
); // Ref like types are supposed to be structs, therefore, sealed.
1849
needSupportForRefStructInterfaces = type.
IsRefLikeType
;
Binder\LockBinder.cs (1)
91
if (scopeType is not NamedTypeSymbol { Name: WellKnownMemberNames.LockScopeTypeName, Arity: 0, IsValueType: true,
IsRefLikeType
: true, DeclaredAccessibility: Accessibility.Public } ||
Binder\Semantics\Conversions\Conversions.cs (1)
537
if (spanType.TypeKind == TypeKind.Struct && spanType.
IsRefLikeType
)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
3047
else if (typeToCheck.
IsRefLikeType
)
Binder\UsingStatementBinder.cs (1)
193
if (type is object && (type.
IsRefLikeType
|| hasAwait))
CodeGen\EmitExpression.cs (1)
4051
Debug.Assert(!type.
IsRefLikeType
);
FlowAnalysis\NullableWalker.cs (1)
13479
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)
236
(!builder.ReturnType.
IsRefLikeType
|| parameter.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)
1919
else if (type.IsRefLikeOrAllowsRefLikeType() && (this.IsStatic || !this.ContainingType.
IsRefLikeType
))
Symbols\TypeSymbol.cs (1)
1635
if (!isStatic && implementingType.
IsRefLikeType
)
Symbols\TypeSymbolExtensions.cs (3)
587
return type is {
IsRefLikeType
: true } or TypeParameterSymbol { AllowsRefLikeType: true };
1418
IsRefLikeType
: true,
1431
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)
231
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
);