internal PrivateImplementationDetails(
            Microsoft.Cci.IModule module,
            int submissionSlotIndex,
            Microsoft.Cci.ITypeReference systemObject,
            Microsoft.Cci.ITypeReference systemValueType,
            Microsoft.Cci.ITypeReference systemInt8Type,
            Microsoft.Cci.ITypeReference systemInt16Type,
            Microsoft.Cci.ITypeReference systemInt32Type,
            Microsoft.Cci.ITypeReference systemInt64Type,
            Microsoft.Cci.ICustomAttribute compilerGeneratedAttribute)
        {
            Debug.Assert(module != null);
            Debug.Assert(systemObject != null);
            Debug.Assert(systemValueType != null);

            this.module          = module;
            this.systemObject    = systemObject;
            this.systemValueType = systemValueType;

            this.systemInt8Type  = systemInt8Type;
            this.systemInt16Type = systemInt16Type;
            this.systemInt32Type = systemInt32Type;
            this.systemInt64Type = systemInt64Type;

            this.compilerGeneratedAttribute = compilerGeneratedAttribute;
            this.name = GetClassName(submissionSlotIndex);
        }
        internal PrivateImplementationDetails(
            Microsoft.Cci.IModule module,
            Microsoft.Cci.ITypeReference systemObject,
            Microsoft.Cci.ITypeReference systemValueType,
            Microsoft.Cci.ITypeReference systemInt8Type,
            Microsoft.Cci.ITypeReference systemInt16Type,
            Microsoft.Cci.ITypeReference systemInt32Type,
            Microsoft.Cci.ITypeReference systemInt64Type,
            Microsoft.Cci.ICustomAttribute compilerGeneratedAttribute)
        {
            Debug.Assert(module != null);
            Debug.Assert(systemObject != null);
            Debug.Assert(systemValueType != null);

            this.module = module;
            this.systemObject = systemObject;
            this.systemValueType = systemValueType;

            this.systemInt8Type = systemInt8Type;
            this.systemInt16Type = systemInt16Type;
            this.systemInt32Type = systemInt32Type;
            this.systemInt64Type = systemInt64Type;

            this.compilerGeneratedAttribute = compilerGeneratedAttribute;
            this.name = GetClassName(module.PersistentIdentifier);
        }