Files
swift-mirror/test/Interop/Cxx/class/nested-records-module-interface.swift
zoecarver eeeb27d66e [cxx-interop] Add members to the LookupTable where possible.
If possible, add imported members to the StructDecl's LookupTable rather than adding them directly as members. This will fix the issues with ordering that #39436 poorly attempted to solve during IRGen.

This also allows us to break out most of the test changes from #39436.
2021-10-13 11:53:58 -07:00

96 lines
2.3 KiB
Swift

// RUN: %target-swift-ide-test -print-module -module-to-print=NestedRecords -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// CHECK: struct S1 {
// CHECK: struct S2 {
// CHECK: var A: Bool
// CHECK: }
// CHECK: }
// CHECK: struct S3 {
// CHECK: struct S4 {
// CHECK: }
// CHECK: }
// CHECK: struct U1 {
// CHECK: struct U2 {
// CHECK: }
// CHECK: }
// CHECK: struct U3 {
// CHECK: struct E1 : Equatable, RawRepresentable {
// CHECK: typealias RawValue = {{UInt32|Int32}}
// CHECK: }
// CHECK: }
// CHECK: struct U4 {
// CHECK: struct S5 {
// CHECK: }
// CHECK: }
// CHECK: struct S6 {
// CHECK: init()
// CHECK: struct E3 : Equatable, RawRepresentable {
// CHECK: typealias RawValue = {{UInt32|Int32}}
// CHECK: }
// CHECK: }
// CHECK: struct S7 {
// CHECK: struct U5 {
// CHECK: struct U6 {
// CHECK: }
// CHECK: }
// CHECK: }
// CHECK: struct S8 {
// CHECK: struct S9 {
// CHECK: struct U7 {
// CHECK: }
// CHECK: }
// CHECK: }
// CHECK: struct S10 {
// CHECK: struct U8 {
// CHECK: struct E4 : Equatable, RawRepresentable {
// CHECK: typealias RawValue = {{UInt32|Int32}}
// CHECK: }
// CHECK: }
// CHECK: }
// CHECK: struct HasForwardDeclaredNestedType {
// CHECK: init()
// CHECK: struct ForwardDeclaredType {
// CHECK: init()
// CHECK: }
// CHECK: struct NormalSubType {
// CHECK: init()
// CHECK: }
// CHECK: }
// CHECK: struct HasForwardDeclaredTemplateChild {
// CHECK: init()
// CHECK: struct ForwardDeclaredClassTemplate<T> {
// CHECK: }
// CHECK: struct DeclaresForwardDeclaredClassTemplateFriend {
// CHECK: init()
// CHECK: }
// CHECK: }
// CHECK: extension NestedDeclIsAFirstForwardDeclaration {
// CHECK: struct ForwardDeclaresFriend {
// CHECK: init()
// CHECK: }
// CHECK: struct ForwardDeclaredFriend {
// CHECK: init()
// CHECK: }
// CHECK: static func takesFriend(_ b: NestedDeclIsAFirstForwardDeclaration.ForwardDeclaredFriend)
// CHECK: struct HasNestedForwardDeclaration {
// CHECK: init()
// CHECK: struct IsNestedForwardDeclaration {
// CHECK: init()
// CHECK: init(a: Int32)
// CHECK: var a: Int32
// CHECK: }
// CHECK: }
// CHECK: static func takesHasNestedForwardDeclaration(_: NestedDeclIsAFirstForwardDeclaration.HasNestedForwardDeclaration)
// CHECK: }