19 overrides of IsRefLikeType
Microsoft.CodeAnalysis.CSharp (19)
Symbols\AnonymousTypes\PublicSymbols\AnonymousManager.TypeOrDelegatePublicSymbol.cs (1)
105public sealed override bool IsRefLikeType
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeOrDelegateTemplateSymbol.cs (1)
160public sealed override bool IsRefLikeType
Symbols\ArrayTypeSymbol.cs (1)
240public sealed override bool IsRefLikeType
Symbols\DynamicTypeSymbol.cs (1)
111public sealed override bool IsRefLikeType
Symbols\ErrorTypeSymbol.cs (1)
108public sealed override bool IsRefLikeType
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
76public override bool IsRefLikeType => false;
Symbols\FunctionTypeSymbol.cs (1)
104public override bool IsRefLikeType => false;
Symbols\Metadata\PE\PENamedTypeSymbol.cs (1)
2278public override bool IsRefLikeType
Symbols\PointerTypeSymbol.cs (1)
111public sealed override bool IsRefLikeType
Symbols\Source\SourceMemberContainerSymbol.cs (1)
843public sealed override bool IsRefLikeType => HasFlag(DeclarationModifiers.Ref);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorTypeSymbol.cs (1)
140public override bool IsRefLikeType => false;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (1)
817public override bool IsRefLikeType => false;
Symbols\Synthesized\SynthesizedContainer.cs (1)
154public sealed override bool IsRefLikeType => false;
Symbols\Synthesized\SynthesizedEmbeddedAttributeSymbol.cs (1)
90public override bool IsRefLikeType => false;
Symbols\Synthesized\SynthesizedHotReloadExceptionSymbol.cs (1)
98public override bool IsRefLikeType => false;
Symbols\Synthesized\SynthesizedInlineArrayTypeSymbol.cs (1)
65public override bool IsRefLikeType => false;
Symbols\Synthesized\SynthesizedPrivateImplementationDetailsType.cs (1)
58public override bool IsRefLikeType => false;
Symbols\TypeParameterSymbol.cs (1)
599public sealed override bool IsRefLikeType
Symbols\Wrapped\WrappedNamedTypeSymbol.cs (1)
227public override bool IsRefLikeType
29 references to IsRefLikeType
Microsoft.CodeAnalysis.CSharp (29)
Binder\Binder.ValueChecks.cs (4)
2508return method.ContainingType.IsRefLikeType; 4123if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.IsRefLikeType) 4519if (expr.Type?.IsRefLikeType != true || expr.Elements.Length == 0) 4839if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.IsRefLikeType)
Binder\Binder_Operators.cs (3)
3534if (targetType.IsRefLikeType) 3542else if (operandType.IsRefLikeType) 3963if (operandType?.IsRefLikeType == true)
Binder\Binder_Statements.cs (1)
758Debug.Assert(expr.Type.IsRefLikeType || hasAwait); // pattern dispose lookup is only valid on ref structs or asynchronous usings
Binder\ForEachLoopBinder.cs (3)
1194if (enumeratorType.IsRefLikeType || isAsync) 1243Debug.Assert(!enumeratorType.IsRefLikeType); // Ref like types are supposed to be structs, therefore, sealed. 1804needSupportForRefStructInterfaces = 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)
501if (spanType.TypeKind == TypeKind.Struct && spanType.IsRefLikeType)
Binder\Semantics\Conversions\ConversionsBase.cs (1)
3027else if (typeToCheck.IsRefLikeType)
Binder\UsingStatementBinder.cs (1)
193if (type is object && (type.IsRefLikeType || hasAwait))
CodeGen\EmitExpression.cs (1)
4008Debug.Assert(!type.IsRefLikeType);
FlowAnalysis\NullableWalker.cs (1)
11984Debug.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)
227(!builder.ReturnType.IsRefLikeType || builder.Parameters[0].EffectiveScope == ScopedKind.ScopedValue))
Symbols\ConstraintsHelper.cs (1)
1349if (typeArgument.Type is NamedTypeSymbol { IsRefLikeType: true } refLike &&
Symbols\PublicModel\TypeSymbol.cs (1)
171bool ITypeSymbol.IsRefLikeType => UnderlyingTypeSymbol.IsRefLikeType;
Symbols\Source\SourcePropertySymbolBase.cs (1)
1842else if (this.IsAutoPropertyOrUsesFieldKeyword && type.IsRefLikeOrAllowsRefLikeType() && (this.IsStatic || !this.ContainingType.IsRefLikeType))
Symbols\TypeSymbol.cs (1)
1627if (!isStatic && implementingType.IsRefLikeType)
Symbols\TypeSymbolExtensions.cs (3)
546return type is { IsRefLikeType: true } or TypeParameterSymbol { AllowsRefLikeType: true }; 1371IsRefLikeType: true, 1384IsRefLikeType: 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; }