Base:
property
RefKind
Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol.RefKind
4 writes to RefKind
Microsoft.CodeAnalysis.CSharp (4)
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (4)
455RefKind = refKind; 500RefKind = refKind; 530RefKind = refKind; 553RefKind = getRefKind(retInfo, RefCustomModifiers, RefKind.RefReadOnly, RefKind.Ref, requiresLocationAllowed: false);
32 references to RefKind
Microsoft.CodeAnalysis.CSharp (32)
Binder\Binder.ValueChecks.cs (2)
3431if (methodSymbol.RefKind == RefKind.None) 3870if (signature.RefKind == RefKind.None)
Binder\Binder_Invocation.cs (1)
2428returnRefKind: funcPtr.Signature.RefKind);
Binder\Semantics\Conversions\ConversionsBase.cs (3)
3389return sourceSig.RefKind == destinationSig.RefKind 3390&& hasConversion(sourceSig.RefKind, sourceSig.ReturnTypeWithAnnotations, destinationSig.ReturnTypeWithAnnotations, ref useSiteInfo);
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (4)
1847return sourceSignature.RefKind == targetSignature.RefKind 2330if ((sourceSignature.ReturnType.IsReferenceType || sourceSignature.ReturnType.IsFunctionPointer()) && sourceSignature.RefKind == RefKind.None) 2680if ((sourceSignature.ReturnType.IsReferenceType || sourceSignature.ReturnType.IsFunctionPointer()) && sourceSignature.RefKind == RefKind.None)
CodeGen\EmitAddress.cs (1)
125var funcPtrRefKind = funcPtrInvocation.FunctionPointer.Signature.RefKind;
CodeGen\EmitExpression.cs (3)
2223return ((BoundFunctionPointerInvocation)receiver).FunctionPointer.Signature.RefKind != RefKind.None; 2942Debug.Assert(left.FunctionPointer.Signature.RefKind != RefKind.None); 3138Debug.Assert(((BoundFunctionPointerInvocation)expression).FunctionPointer.Signature.RefKind != RefKind.None);
CodeGen\Optimizer.cs (1)
1061Debug.Assert(((BoundFunctionPointerInvocation)lhs).FunctionPointer.Signature.RefKind == RefKind.Ref, "only ref returning function pointers are assignable");
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (4)
675ValidateFunctionPointerParamOrReturn(sig.ReturnTypeWithAnnotations, sig.RefKind, sig.RefCustomModifiers, allowOut: false); 676ValidateFunctionPointerParamOrReturn(otherSig.ReturnTypeWithAnnotations, otherSig.RefKind, otherSig.RefCustomModifiers, allowOut: false); 677if (sig.RefKind != otherSig.RefKind || !AreTypesEqual(sig.ReturnTypeWithAnnotations, otherSig.ReturnTypeWithAnnotations))
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
703Debug.Assert(((BoundFunctionPointerInvocation)originalLHS).FunctionPointer.Signature.RefKind != RefKind.None);
Symbols\Compilation_WellKnownMembers.cs (1)
1003handle(sig.RefKind, sig.RefCustomModifiers, sig.ReturnTypeWithAnnotations);
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (10)
340this.RefKind, 350Debug.Assert(RefKind == signature.RefKind); 351var returnVariance = RefKind == RefKind.None ? variance : VarianceKind.None; 554Debug.Assert(RefKind != RefKind.Out); 648var modifiersToSearch = RefKind != RefKind.None ? RefCustomModifiers : ReturnTypeWithAnnotations.CustomModifiers; 671var modifiersToSearch = RefKind != RefKind.None ? RefCustomModifiers : ReturnTypeWithAnnotations.CustomModifiers; 724|| !FunctionPointerTypeSymbol.RefKindEquals(compareKind, RefKind, other.RefKind) 761=> Hash.Combine(ReturnType, Hash.Combine(((int)CallingConvention).GetHashCode(), ((int)FunctionPointerTypeSymbol.GetRefKindForHashCode(RefKind)).GetHashCode()));
Symbols\Metadata\PE\DynamicTypeDecoder.cs (1)
354var (transformedReturnWithAnnotations, madeChanges) = handle(ref this, sig.RefKind, sig.RefCustomModifiers, sig.ReturnTypeWithAnnotations);