Skip to content

Commit 3bd26d0

Browse files
authored
Merge pull request swiftlang#36381 from owenv/api-digester-as-frontend-tool
2 parents 281ce3d + 77efd77 commit 3bd26d0

File tree

14 files changed

+96
-73
lines changed

14 files changed

+96
-73
lines changed

include/swift/Driver/Driver.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ class Driver {
167167
AutolinkExtract, // swift-autolink-extract
168168
SwiftIndent, // swift-indent
169169
SymbolGraph, // swift-symbolgraph
170-
APIExtract // swift-api-extract
170+
APIExtract, // swift-api-extract
171+
APIDigester // swift-api-digester
171172
};
172173

173174
class InputInfoMap;

lib/APIDigester/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
set_swift_llvm_is_available()
2+
3+
add_swift_host_library(swiftAPIDigester STATIC
4+
ModuleAnalyzerNodes.cpp
5+
ModuleDiagsConsumer.cpp)
6+
7+
target_link_libraries(swiftAPIDigester PRIVATE
8+
swiftFrontend
9+
swiftSIL
10+
swiftIDE)

tools/swift-api-digester/ModuleAnalyzerNodes.cpp renamed to lib/APIDigester/ModuleAnalyzerNodes.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "llvm/ADT/STLExtras.h"
22
#include "swift/Basic/Defer.h"
33
#include "swift/SIL/SILDeclRef.h"
4-
#include <ModuleAnalyzerNodes.h>
4+
#include <swift/APIDigester/ModuleAnalyzerNodes.h>
55
#include <algorithm>
66

77
using namespace swift;

tools/swift-api-digester/ModuleDiagsConsumer.cpp renamed to lib/APIDigester/ModuleDiagsConsumer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
#include "swift/AST/DiagnosticEngine.h"
1919
#include "swift/AST/DiagnosticsModuleDiffer.h"
20-
#include "ModuleDiagsConsumer.h"
20+
#include "swift/APIDigester/ModuleDiagsConsumer.h"
2121

2222
using namespace swift;
2323

lib/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ list(APPEND LLVM_COMMON_DEPENDS intrinsics_gen clang-tablegen-targets)
1414
list(APPEND LLVM_COMMON_DEPENDS swift-syntax-generated-headers)
1515
list(APPEND LLVM_COMMON_DEPENDS swift-parse-syntax-generated-headers)
1616

17+
add_subdirectory(APIDigester)
1718
add_subdirectory(AST)
1819
add_subdirectory(ASTSectionImporter)
1920
add_subdirectory(Basic)

lib/Driver/Driver.cpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,16 @@ void Driver::parseDriverKind(ArrayRef<const char *> Args) {
9696
}
9797

9898
Optional<DriverKind> Kind =
99-
llvm::StringSwitch<Optional<DriverKind>>(DriverName)
100-
.Case("swift", DriverKind::Interactive)
101-
.Case("swiftc", DriverKind::Batch)
102-
.Case("swift-autolink-extract", DriverKind::AutolinkExtract)
103-
.Case("swift-indent", DriverKind::SwiftIndent)
104-
.Case("swift-symbolgraph-extract", DriverKind::SymbolGraph)
105-
.Case("swift-api-extract", DriverKind::APIExtract)
106-
.Default(None);
107-
99+
llvm::StringSwitch<Optional<DriverKind>>(DriverName)
100+
.Case("swift", DriverKind::Interactive)
101+
.Case("swiftc", DriverKind::Batch)
102+
.Case("swift-autolink-extract", DriverKind::AutolinkExtract)
103+
.Case("swift-indent", DriverKind::SwiftIndent)
104+
.Case("swift-symbolgraph-extract", DriverKind::SymbolGraph)
105+
.Case("swift-api-extract", DriverKind::APIExtract)
106+
.Case("swift-api-digester", DriverKind::APIDigester)
107+
.Default(None);
108+
108109
if (Kind.hasValue())
109110
driverKind = Kind.getValue();
110111
else if (!OptName.empty())
@@ -3497,6 +3498,7 @@ void Driver::printHelp(bool ShowHidden) const {
34973498
case DriverKind::SwiftIndent:
34983499
case DriverKind::SymbolGraph:
34993500
case DriverKind::APIExtract:
3501+
case DriverKind::APIDigester:
35003502
ExcludedFlagsBitmask |= options::NoBatchOption;
35013503
break;
35023504
}

test/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ function(get_test_dependencies SDK result_var_name)
5454
sil-opt
5555
sil-passpipeline-dumper
5656
swift-frontend
57-
swift-api-digester
5857
swift-demangle
5958
swift-demangle-yamldump
6059
swift-dependency-tool

tools/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ add_swift_tool_subdirectory(sil-llvm-gen)
2525
add_swift_tool_subdirectory(sil-nm)
2626
add_swift_tool_subdirectory(sil-passpipeline-dumper)
2727
add_swift_tool_subdirectory(swift-llvm-opt)
28-
add_swift_tool_subdirectory(swift-api-digester)
2928
add_swift_tool_subdirectory(swift-ast-script)
3029
add_swift_tool_subdirectory(swift-refactor)
3130
add_swift_tool_subdirectory(libSwiftScan)

0 commit comments

Comments
 (0)