1 instantiation of PrivateImplementationDetails
Microsoft.CodeAnalysis (1)
Emit\CommonPEModuleBuilder.cs (1)
1123result = new PrivateImplementationDetails(
115 references to PrivateImplementationDetails
Microsoft.CodeAnalysis (24)
CodeGen\PrivateImplementationDetails.cs (5)
338var @this = moduleBuilder.GetPrivateImplClass(syntaxNode, diagnostics); 693internal ExplicitSizeStruct(uint size, ushort alignment, PrivateImplementationDetails containingType, Cci.ITypeReference sysValueType) 730private readonly PrivateImplementationDetails _containingType; 736PrivateImplementationDetails containingType, 1215public override string Name => PrivateImplementationDetails.SynthesizedBytesToStringFunctionName;
Emit\CommonPEModuleBuilder.cs (18)
123/// Must be called before <see cref="PrivateImplementationDetails.Freeze"/>. 238/// <see cref="PrivateImplementationDetails.TryGetOrCreateFieldForStringValue"/> 241=> PrivateImplementationDetails.TryGetOrCreateFieldForStringValue(text, this, syntaxNode, diagnostics); 269var privateImpl = GetFrozenPrivateImplementationDetails(); 282public abstract PrivateImplementationDetails? GetFrozenPrivateImplementationDetails(); 284internal abstract PrivateImplementationDetails GetPrivateImplClass(SyntaxNode? syntaxNode, DiagnosticBag diagnostics); 658private PrivateImplementationDetails _lazyPrivateImplementationDetails; 825PrivateImplementationDetails details = GetPrivateImplClass(syntaxOpt, diagnostics); 836PrivateImplementationDetails details = GetPrivateImplClass(syntaxOpt, diagnostics); 842private void EnsurePrivateImplementationDetailsStaticConstructor(PrivateImplementationDetails details, TSyntaxNode syntaxOpt, DiagnosticBag diagnostics) 1088var privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics); 1096var privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics); 1106var privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics); 1117internal PrivateImplementationDetails GetPrivateImplClass(TSyntaxNode? syntaxNodeOpt, DiagnosticBag diagnostics) 1119var result = _lazyPrivateImplementationDetails; 1144internal override PrivateImplementationDetails GetPrivateImplClass(SyntaxNode? syntaxNodeOpt, DiagnosticBag diagnostics) 1149public PrivateImplementationDetails? FreezePrivateImplementationDetails() 1155public override PrivateImplementationDetails? GetFrozenPrivateImplementationDetails()
Symbols\ISynthesizedGlobalMethodSymbol.cs (1)
11PrivateImplementationDetails ContainingPrivateImplementationDetailsType { get; }
Microsoft.CodeAnalysis.CSharp (37)
CodeGen\EmitStatement.cs (4)
1501var privateImplClass = _module.GetPrivateImplClass(syntaxNode, _diagnostics.DiagnosticBag).PrivateImplementationDetails; 1505? PrivateImplementationDetails.SynthesizedReadOnlySpanHashFunctionName 1506: PrivateImplementationDetails.SynthesizedSpanHashFunctionName 1507: PrivateImplementationDetails.SynthesizedStringHashFunctionName);
Compiler\MethodCompiler.cs (2)
192var privateImplClass = moduleBeingBuiltOpt.FreezePrivateImplementationDetails(); 682private void CompileSynthesizedMethods(PrivateImplementationDetails privateImplClass, BindingDiagnosticBag diagnostics)
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (1)
69=> definition is PrivateImplementationDetails ||
Emitter\Model\PEModuleBuilder.cs (19)
1822return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedThrowSwitchExpressionExceptionFunctionName, 1869return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedThrowSwitchExpressionExceptionParameterlessFunctionName, 1877PrivateImplementationDetails.SynthesizedThrowSwitchExpressionExceptionParameterlessFunctionName, 1889return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedThrowInvalidOperationExceptionFunctionName, 1897PrivateImplementationDetails.SynthesizedThrowInvalidOperationExceptionFunctionName, 1908return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName, 1913PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName, 1927var privateImplClass = GetPrivateImplClass(syntaxNode, diagnostics).PrivateImplementationDetails; 1950var privateImplClass = GetPrivateImplClass(syntaxNode, diagnostics).PrivateImplementationDetails; 1977return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName, 1982PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName, 1994return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayElementRefName, 1999PrivateImplementationDetails.SynthesizedInlineArrayElementRefName, 2010return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName, 2015PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName, 2024return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName, 2029PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName); 2037return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName, 2042PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName);
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (3)
926StringPatternInput.String => CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedStringHashFunctionName, 927StringPatternInput.SpanChar => CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedReadOnlySpanHashFunctionName, 928StringPatternInput.ReadOnlySpanChar => CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedSpanHashFunctionName,
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (1)
90public PrivateImplementationDetails ContainingPrivateImplementationDetailsType
Symbols\Synthesized\SynthesizedPrivateImplementationDetailsType.cs (3)
21private readonly PrivateImplementationDetails _privateImplementationDetails; 25public SynthesizedPrivateImplementationDetailsType(PrivateImplementationDetails privateImplementationDetails, NamespaceSymbol globalNamespace, NamedTypeSymbol objectType) 35public PrivateImplementationDetails PrivateImplementationDetails => _privateImplementationDetails;
Symbols\Synthesized\SynthesizedStringHashFunctionSymbol.cs (3)
19: base(privateImplType, returnType, PrivateImplementationDetails.SynthesizedStringHashFunctionName) 28: base(privateImplType, returnType, isReadOnlySpan ? PrivateImplementationDetails.SynthesizedReadOnlySpanHashFunctionName : PrivateImplementationDetails.SynthesizedSpanHashFunctionName)
Symbols\Synthesized\SynthesizedThrowSwitchExpressionExceptionMethod.cs (1)
17: base(privateImplType, returnType, PrivateImplementationDetails.SynthesizedThrowSwitchExpressionExceptionFunctionName)
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (3)
CodeGen\SwitchTests.cs (3)
3043var member = pid.GetMembers(PrivateImplementationDetails.SynthesizedStringHashFunctionName).Single(); 4042compVerifier.VerifyMemberInIL("<PrivateImplementationDetails>." + PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected); 4046compVerifier.VerifyIL("<PrivateImplementationDetails>." + PrivateImplementationDetails.SynthesizedStringHashFunctionName,
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (9)
CodeGen\CodeGenLengthBasedSwitchTests.cs (9)
80verifier.VerifyMemberInIL(PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected: false); 270verifier.VerifyMemberInIL("<PrivateImplementationDetails>." + PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected: true); 833verifier.VerifyMemberInIL(PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected: false); 1369verifier.VerifyMemberInIL(PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected: false); 1475verifier.VerifyMemberInIL("<PrivateImplementationDetails>." + PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected: true); 1650verifier.VerifyMemberInIL(PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected: false); 1832verifier.VerifyMemberInIL(PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected: false); 2321verifier.VerifyMemberInIL(PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected: false); 2433verifier.VerifyMemberInIL("<PrivateImplementationDetails>." + PrivateImplementationDetails.SynthesizedStringHashFunctionName + "(string)", expected: true);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (42)
Semantics\InlineArrayTests.cs (42)
14648t.GetMember(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName).ToTestDisplayString()); 14649Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName)); 14650Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefName)); 14651Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName)); 14652Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName)); 14653Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName)); 14656verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName, 14696Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName)); 14698t.GetMember(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName).ToTestDisplayString()); 14699Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefName)); 14700Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName)); 14701Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName)); 14702Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName)); 14705verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName, 14745Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName)); 14746Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName)); 14748t.GetMember(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefName).ToTestDisplayString()); 14749Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName)); 14750Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName)); 14751Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName)); 14754verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefName, 14793Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName)); 14794Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName)); 14795Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefName)); 14797t.GetMember(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName).ToTestDisplayString()); 14798Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName)); 14799Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName)); 14802verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName, 14840Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName)); 14841Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName)); 14842Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefName)); 14843Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName)); 14845t.GetMember(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName).ToTestDisplayString()); 14846Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName)); 14849verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName, 14884Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName)); 14885Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName)); 14886Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefName)); 14887Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName)); 14888Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName)); 14890t.GetMember(CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName).ToTestDisplayString()); 14893verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName,