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