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)
2698
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)
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)
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)
2869
return method.ContainingType.
IsRefLikeType
;
4449
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
4779
if (expr.Type?.
IsRefLikeType
!= true)
5128
if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.
IsRefLikeType
)
Binder\Binder_Operators.cs (3)
5133
if (targetType.
IsRefLikeType
)
5141
else if (operandType.
IsRefLikeType
)
5562
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)
1203
if (enumeratorType.
IsRefLikeType
|| isAsync)
1254
Debug.Assert(!enumeratorType.
IsRefLikeType
); // Ref like types are supposed to be structs, therefore, sealed.
1845
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)
525
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)
13065
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)
1888
else if (type.IsRefLikeOrAllowsRefLikeType() && (this.IsStatic || !this.ContainingType.
IsRefLikeType
))
Symbols\TypeSymbol.cs (1)
1633
if (!isStatic && implementingType.
IsRefLikeType
)
Symbols\TypeSymbolExtensions.cs (3)
570
return type is {
IsRefLikeType
: true } or TypeParameterSymbol { AllowsRefLikeType: true };
1401
IsRefLikeType
: true,
1414
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
);