1 instantiation of PrivateImplementationDetails
Microsoft.CodeAnalysis (1)
Emit\CommonPEModuleBuilder.cs (1)
1138
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"/>.
250
/// <see cref="
PrivateImplementationDetails
.TryGetOrCreateFieldForStringValue"/>
253
=>
PrivateImplementationDetails
.TryGetOrCreateFieldForStringValue(text, this, syntaxNode, diagnostics);
281
var
privateImpl = GetFrozenPrivateImplementationDetails();
294
public abstract
PrivateImplementationDetails
? GetFrozenPrivateImplementationDetails();
296
internal abstract
PrivateImplementationDetails
GetPrivateImplClass(SyntaxNode? syntaxNode, DiagnosticBag diagnostics);
670
private
PrivateImplementationDetails
_lazyPrivateImplementationDetails;
837
PrivateImplementationDetails
details = GetPrivateImplClass(syntaxOpt, diagnostics);
848
PrivateImplementationDetails
details = GetPrivateImplClass(syntaxOpt, diagnostics);
854
private void EnsurePrivateImplementationDetailsStaticConstructor(
PrivateImplementationDetails
details, TSyntaxNode syntaxOpt, DiagnosticBag diagnostics)
1103
var
privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics);
1111
var
privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics);
1121
var
privateImpl = GetPrivateImplClass((TSyntaxNode)syntaxNode, diagnostics);
1132
internal
PrivateImplementationDetails
GetPrivateImplClass(TSyntaxNode? syntaxNodeOpt, DiagnosticBag diagnostics)
1134
var
result = _lazyPrivateImplementationDetails;
1159
internal override
PrivateImplementationDetails
GetPrivateImplClass(SyntaxNode? syntaxNodeOpt, DiagnosticBag diagnostics)
1164
public
PrivateImplementationDetails
? FreezePrivateImplementationDetails()
1170
public override
PrivateImplementationDetails
? GetFrozenPrivateImplementationDetails()
Symbols\ISynthesizedGlobalMethodSymbol.cs (1)
11
PrivateImplementationDetails
ContainingPrivateImplementationDetailsType { get; }
Microsoft.CodeAnalysis.CSharp (38)
CodeGen\EmitStatement.cs (4)
1528
var
privateImplClass = _module.GetPrivateImplClass(syntaxNode, _diagnostics.DiagnosticBag).PrivateImplementationDetails;
1532
?
PrivateImplementationDetails
.SynthesizedReadOnlySpanHashFunctionName
1533
:
PrivateImplementationDetails
.SynthesizedSpanHashFunctionName
1534
:
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)
1996
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedThrowSwitchExpressionExceptionFunctionName,
2043
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedThrowSwitchExpressionExceptionParameterlessFunctionName,
2051
PrivateImplementationDetails
.SynthesizedThrowSwitchExpressionExceptionParameterlessFunctionName,
2063
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedThrowInvalidOperationExceptionFunctionName,
2071
PrivateImplementationDetails
.SynthesizedThrowInvalidOperationExceptionFunctionName,
2082
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName,
2087
PrivateImplementationDetails
.SynthesizedInlineArrayAsSpanName,
2101
var
privateImplClass = GetPrivateImplClass(syntaxNode, diagnostics).PrivateImplementationDetails;
2124
var
privateImplClass = GetPrivateImplClass(syntaxNode, diagnostics).PrivateImplementationDetails;
2151
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName,
2156
PrivateImplementationDetails
.SynthesizedInlineArrayAsReadOnlySpanName,
2168
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName,
2173
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefName,
2184
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName,
2189
PrivateImplementationDetails
.SynthesizedInlineArrayElementRefReadOnlyName,
2198
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName,
2203
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefName);
2211
return EnsurePrivateImplClassMethodExists(syntaxNode,
PrivateImplementationDetails
.SynthesizedInlineArrayFirstElementRefReadOnlyName,
2216
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)
1168
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,