internal PrivateImplementationDetails GetPrivateImplClass(SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics)
{
var result = _privateImplementationDetails;
if ((result == null) && this.SupportsPrivateImplClass)
{
//result = new PrivateImplementationDetails(
// this,
// _sourceModule.Name,
// _compilation.GetSubmissionSlotIndex(),
// this.GetSpecialType(SpecialType.System_Object, syntaxNodeOpt, diagnostics),
// this.GetSpecialType(SpecialType.System_ValueType, syntaxNodeOpt, diagnostics),
// this.GetSpecialType(SpecialType.System_Byte, syntaxNodeOpt, diagnostics),
// this.GetSpecialType(SpecialType.System_Int16, syntaxNodeOpt, diagnostics),
// this.GetSpecialType(SpecialType.System_Int32, syntaxNodeOpt, diagnostics),
// this.GetSpecialType(SpecialType.System_Int64, syntaxNodeOpt, diagnostics),
// SynthesizeAttribute(WellKnownMember.System_Runtime_CompilerServices_CompilerGeneratedAttribute__ctor));
if (Interlocked.CompareExchange(ref _privateImplementationDetails, result, null) != null)
{
result = _privateImplementationDetails;
}
}
return result;
}