1 instantiation of PrivateImplementationDetails
Microsoft.CodeAnalysis (1)
Emit\CommonPEModuleBuilder.cs (1)
1136result = new PrivateImplementationDetails(
116 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, 1217public override string Name => PrivateImplementationDetails.SynthesizedBytesToStringFunctionName;
Emit\CommonPEModuleBuilder.cs (18)
123/// Must be called before <see cref="PrivateImplementationDetails.Freeze"/>. 248/// <see cref="PrivateImplementationDetails.TryGetOrCreateFieldForStringValue"/> 251=> PrivateImplementationDetails.TryGetOrCreateFieldForStringValue(text, this, syntaxNode, diagnostics); 279var privateImpl = GetFrozenPrivateImplementationDetails(); 292public abstract PrivateImplementationDetails? GetFrozenPrivateImplementationDetails(); 294internal abstract PrivateImplementationDetails GetPrivateImplClass(SyntaxNode? syntaxNode, DiagnosticBag diagnostics); 668private PrivateImplementationDetails _lazyPrivateImplementationDetails; 835PrivateImplementationDetails details = GetPrivateImplClass(syntaxOpt, diagnostics); 846PrivateImplementationDetails details = GetPrivateImplClass(syntaxOpt, diagnostics); 852private void EnsurePrivateImplementationDetailsStaticConstructor(PrivateImplementationDetails details, TSyntaxNode syntaxOpt, DiagnosticBag diagnostics) 1101var privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics); 1109var privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics); 1119var privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics); 1130internal PrivateImplementationDetails GetPrivateImplClass(TSyntaxNode? syntaxNodeOpt, DiagnosticBag diagnostics) 1132var result = _lazyPrivateImplementationDetails; 1157internal override PrivateImplementationDetails GetPrivateImplClass(SyntaxNode? syntaxNodeOpt, DiagnosticBag diagnostics) 1162public PrivateImplementationDetails? FreezePrivateImplementationDetails() 1168public override PrivateImplementationDetails? GetFrozenPrivateImplementationDetails()
Symbols\ISynthesizedGlobalMethodSymbol.cs (1)
11PrivateImplementationDetails ContainingPrivateImplementationDetailsType { get; }
Microsoft.CodeAnalysis.CSharp (38)
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(); 690private void CompileSynthesizedMethods(PrivateImplementationDetails privateImplClass, BindingDiagnosticBag diagnostics)
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (1)
74=> definition is PrivateImplementationDetails ||
Emitter\Model\PEModuleBuilder.cs (19)
1845return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedThrowSwitchExpressionExceptionFunctionName, 1892return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedThrowSwitchExpressionExceptionParameterlessFunctionName, 1900PrivateImplementationDetails.SynthesizedThrowSwitchExpressionExceptionParameterlessFunctionName, 1912return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedThrowInvalidOperationExceptionFunctionName, 1920PrivateImplementationDetails.SynthesizedThrowInvalidOperationExceptionFunctionName, 1931return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName, 1936PrivateImplementationDetails.SynthesizedInlineArrayAsSpanName, 1950var privateImplClass = GetPrivateImplClass(syntaxNode, diagnostics).PrivateImplementationDetails; 1973var privateImplClass = GetPrivateImplClass(syntaxNode, diagnostics).PrivateImplementationDetails; 2000return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName, 2005PrivateImplementationDetails.SynthesizedInlineArrayAsReadOnlySpanName, 2017return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayElementRefName, 2022PrivateImplementationDetails.SynthesizedInlineArrayElementRefName, 2033return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName, 2038PrivateImplementationDetails.SynthesizedInlineArrayElementRefReadOnlyName, 2047return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName, 2052PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefName); 2060return EnsurePrivateImplClassMethodExists(syntaxNode, PrivateImplementationDetails.SynthesizedInlineArrayFirstElementRefReadOnlyName, 2065PrivateImplementationDetails.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\Source\SourceNamedTypeSymbol_Extension.cs (1)
1160return CodeAnalysis.CodeGen.PrivateImplementationDetails.HashToHex(hash);
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,