1 instantiation of PrivateImplementationDetails
Microsoft.CodeAnalysis (1)
Emit\CommonPEModuleBuilder.cs (1)
1136
result = new
PrivateImplementationDetails
(
116 references to PrivateImplementationDetails
Microsoft.CodeAnalysis (24)
CodeGen\PrivateImplementationDetails.cs (5)
338
var
@this = moduleBuilder.GetPrivateImplClass(syntaxNode, diagnostics);
693
internal ExplicitSizeStruct(uint size, ushort alignment,
PrivateImplementationDetails
containingType, Cci.ITypeReference sysValueType)
730
private readonly
PrivateImplementationDetails
_containingType;
736
PrivateImplementationDetails
containingType,
1217
public 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);
279
var
privateImpl = GetFrozenPrivateImplementationDetails();
292
public abstract
PrivateImplementationDetails
? GetFrozenPrivateImplementationDetails();
294
internal abstract
PrivateImplementationDetails
GetPrivateImplClass(SyntaxNode? syntaxNode, DiagnosticBag diagnostics);
668
private
PrivateImplementationDetails
_lazyPrivateImplementationDetails;
835
PrivateImplementationDetails
details = GetPrivateImplClass(syntaxOpt, diagnostics);
846
PrivateImplementationDetails
details = GetPrivateImplClass(syntaxOpt, diagnostics);
852
private void EnsurePrivateImplementationDetailsStaticConstructor(
PrivateImplementationDetails
details, TSyntaxNode syntaxOpt, DiagnosticBag diagnostics)
1101
var
privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics);
1109
var
privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics);
1119
var
privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics);
1130
internal
PrivateImplementationDetails
GetPrivateImplClass(TSyntaxNode? syntaxNodeOpt, DiagnosticBag diagnostics)
1132
var
result = _lazyPrivateImplementationDetails;
1157
internal override
PrivateImplementationDetails
GetPrivateImplClass(SyntaxNode? syntaxNodeOpt, DiagnosticBag diagnostics)
1162
public
PrivateImplementationDetails
? FreezePrivateImplementationDetails()
1168
public override
PrivateImplementationDetails
? GetFrozenPrivateImplementationDetails()
Symbols\ISynthesizedGlobalMethodSymbol.cs (1)
11
PrivateImplementationDetails
ContainingPrivateImplementationDetailsType { get; }
Microsoft.CodeAnalysis.CSharp (38)
CodeGen\EmitStatement.cs (4)
1501
var
privateImplClass = _module.GetPrivateImplClass(syntaxNode, _diagnostics.DiagnosticBag).PrivateImplementationDetails;
1505
?
PrivateImplementationDetails
.SynthesizedReadOnlySpanHashFunctionName
1506
:
PrivateImplementationDetails
.SynthesizedSpanHashFunctionName
1507
:
PrivateImplementationDetails
.SynthesizedStringHashFunctionName);
Compiler\MethodCompiler.cs (2)
192
var
privateImplClass = moduleBeingBuiltOpt.FreezePrivateImplementationDetails();
690
private void CompileSynthesizedMethods(
PrivateImplementationDetails
privateImplClass, BindingDiagnosticBag diagnostics)
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (1)
74
=> definition is
PrivateImplementationDetails
||
Emitter\Model\PEModuleBuilder.cs (19)
1845
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedThrowSwitchExpressionExceptionFunctionName,
1892
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedThrowSwitchExpressionExceptionParameterlessFunctionName,
1900
PrivateImplementationDetails
.SynthesizedThrowSwitchExpressionExceptionParameterlessFunctionName,
1912
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedThrowInvalidOperationExceptionFunctionName,
1920
PrivateImplementationDetails
.SynthesizedThrowInvalidOperationExceptionFunctionName,
1931
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName,
1936
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName,
1950
var
privateImplClass = GetPrivateImplClass(syntaxNode, diagnostics).PrivateImplementationDetails;
1973
var
privateImplClass = GetPrivateImplClass(syntaxNode, diagnostics).PrivateImplementationDetails;
2000
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName,
2005
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName,
2017
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName,
2022
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName,
2033
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName,
2038
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName,
2047
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName,
2052
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName);
2060
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName,
2065
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName);
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (3)
926
StringPatternInput.String => CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedStringHashFunctionName,
927
StringPatternInput.SpanChar => CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedReadOnlySpanHashFunctionName,
928
StringPatternInput.ReadOnlySpanChar => CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedSpanHashFunctionName,
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (1)
1160
return CodeAnalysis.CodeGen.
PrivateImplementationDetails
.HashToHex(hash);
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (1)
90
public
PrivateImplementationDetails
ContainingPrivateImplementationDetailsType
Symbols\Synthesized\SynthesizedPrivateImplementationDetailsType.cs (3)
21
private readonly
PrivateImplementationDetails
_privateImplementationDetails;
25
public SynthesizedPrivateImplementationDetailsType(
PrivateImplementationDetails
privateImplementationDetails, NamespaceSymbol globalNamespace, NamedTypeSymbol objectType)
35
public
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)
3043
var member = pid.GetMembers(
PrivateImplementationDetails
.SynthesizedStringHashFunctionName).Single();
4042
compVerifier.VerifyMemberInIL("<PrivateImplementationDetails>." +
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected);
4046
compVerifier.VerifyIL("<PrivateImplementationDetails>." +
PrivateImplementationDetails
.SynthesizedStringHashFunctionName,
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (9)
CodeGen\CodeGenLengthBasedSwitchTests.cs (9)
80
verifier.VerifyMemberInIL(
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected: false);
270
verifier.VerifyMemberInIL("<PrivateImplementationDetails>." +
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected: true);
833
verifier.VerifyMemberInIL(
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected: false);
1369
verifier.VerifyMemberInIL(
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected: false);
1475
verifier.VerifyMemberInIL("<PrivateImplementationDetails>." +
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected: true);
1650
verifier.VerifyMemberInIL(
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected: false);
1832
verifier.VerifyMemberInIL(
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected: false);
2321
verifier.VerifyMemberInIL(
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected: false);
2433
verifier.VerifyMemberInIL("<PrivateImplementationDetails>." +
PrivateImplementationDetails
.SynthesizedStringHashFunctionName + "(string)", expected: true);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (42)
Semantics\InlineArrayTests.cs (42)
14648
t.GetMember(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName).ToTestDisplayString());
14649
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName));
14650
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName));
14651
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName));
14652
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName));
14653
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName));
14656
verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName,
14696
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName));
14698
t.GetMember(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName).ToTestDisplayString());
14699
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName));
14700
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName));
14701
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName));
14702
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName));
14705
verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName,
14745
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName));
14746
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName));
14748
t.GetMember(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName).ToTestDisplayString());
14749
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName));
14750
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName));
14751
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName));
14754
verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName,
14793
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName));
14794
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName));
14795
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName));
14797
t.GetMember(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName).ToTestDisplayString());
14798
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName));
14799
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName));
14802
verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName,
14840
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName));
14841
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName));
14842
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName));
14843
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName));
14845
t.GetMember(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName).ToTestDisplayString());
14846
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName));
14849
verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName,
14884
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName));
14885
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName));
14886
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName));
14887
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName));
14888
Assert.Empty(t.GetMembers(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName));
14890
t.GetMember(CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName).ToTestDisplayString());
14893
verifier.VerifyIL("<PrivateImplementationDetails>." + CodeAnalysis.CodeGen.
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName,