mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
While the decls being printed for header file generated interfaces were mapped from the top-level clang decls in that file, the Swift decls they correspond to may not be top-level. E.g. top-level functions in the header file can be mapped to property accessors on the Swift side, which were being printed simply as "get" at the top level. This updates header interface generation to map each decl to its top-level decl before printing. Resolves rdar://problem/63409659
28 lines
1.7 KiB
Swift
28 lines
1.7 KiB
Swift
// REQUIRES: objc_interop
|
|
// RUN: echo '#include "header.h"' > %t.m
|
|
// RUN: %sourcekitd-test -req=interface-gen -header %S/Inputs/header.h -- -fsyntax-only %t.m -I %S/Inputs > %t.response
|
|
// RUN: %diff -u %s.response %t.response
|
|
// RUN: rm %t.m
|
|
|
|
// RUN: echo '#include "header2.h"' > %t.m
|
|
// RUN: %sourcekitd-test -req=interface-gen -header %S/Inputs/header2.h -swift-version=4 -- -fsyntax-only %t.m -I %S/Inputs > %t.header2.response
|
|
// RUN: %diff -u %s.header2.response %t.header2.response
|
|
|
|
// RUN: echo '#include "header2.h"' > %t.m
|
|
// RUN: %sourcekitd-test -req=interface-gen -header %S/Inputs/header2.h -swift-version=4 -- -fsyntax-only %t.m -I %S/Inputs > %t.header2.response
|
|
// RUN: %diff -u %s.header2.response %t.header2.response
|
|
|
|
// RUN: echo '#include "header2.h"' > %t.m
|
|
// RUN: %sourcekitd-test -req=interface-gen -header %S/Inputs/header2.h -swift-version=5 -pass-version-as-string -- -fsyntax-only %t.m -I %S/Inputs > %t.header2.swift4.response
|
|
// RUN: %FileCheck -input-file %t.header2.swift4.response %s -check-prefix=SWIFT4
|
|
// SWIFT4: public func show_only_for_swift_4()
|
|
|
|
// RUN: echo '#include "header2.h"' > %t.m
|
|
// RUN: %sourcekitd-test -req=interface-gen -header %S/Inputs/header2.h -swift-version=5 -pass-version-as-string -- -fsyntax-only %t.m -I %S/Inputs > %t.header2.swift4.response
|
|
// RUN: %FileCheck -input-file %t.header2.swift4.response %s -check-prefix=SWIFT4-STR
|
|
// SWIFT4-STR: public func show_only_for_swift_4()
|
|
|
|
// RUN: echo '#include "header3.h"' > %t.m
|
|
// RUN: %sourcekitd-test -req=interface-gen -header %S/Inputs/header3.h -swift-version=5 -- -fsyntax-only %t.m -I %S/Inputs > %t.header3.response
|
|
// RUN: %diff -u %s.header3.response %t.header3.response
|