Skip to content

Commit 0631f1b

Browse files
committed
Apply Doug's review comments
1 parent 3cb223a commit 0631f1b

File tree

19 files changed

+58
-43
lines changed

19 files changed

+58
-43
lines changed

include/swift/Basic/Features.def

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ EXPERIMENTAL_FEATURE(OpaqueTypeErasure)
126126
/// wrapped type.
127127
EXPERIMENTAL_FEATURE(TypeWrappers)
128128

129+
/// Parse using the Swift (swift-syntax) parser and use ASTGen.
130+
EXPERIMENTAL_FEATURE(SwiftParser)
131+
129132
#undef EXPERIMENTAL_FEATURE
130133
#undef UPCOMING_FEATURE
131134
#undef SUPPRESSIBLE_LANGUAGE_FEATURE

include/swift/Basic/LangOptions.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,8 +274,6 @@ namespace swift {
274274
/// disabled because it is not complete.
275275
bool EnableCXXInterop = false;
276276

277-
bool EnableSwiftParser = false;
278-
279277
/// Imports getters and setters as computed properties.
280278
bool CxxInteropGettersSettersAsProperties = false;
281279

include/swift/Option/Options.td

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -621,11 +621,6 @@ def enable_experimental_cxx_interop :
621621
Flags<[FrontendOption, HelpHidden, ModuleInterfaceOption]>,
622622
HelpText<"Enable experimental C++ interop code generation and config directives">;
623623

624-
def enable_experimental_swift_parser :
625-
Flag<["-"], "enable-experimental-swift-parser">,
626-
Flags<[FrontendOption, HelpHidden, ModuleInterfaceOption]>,
627-
HelpText<"Enable the new and expiremental Swift parser + AST generation.">;
628-
629624
def experimental_cxx_stdlib :
630625
Separate<["-"], "experimental-cxx-stdlib">,
631626
Flags<[HelpHidden]>,

lib/AST/ASTPrinter.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3083,6 +3083,10 @@ static bool usesFeatureAdditiveArithmeticDerivedConformances(Decl *decl) {
30833083
return false;
30843084
}
30853085

3086+
static bool usesFeatureSwiftParser(Decl *decl) {
3087+
return false;
3088+
}
3089+
30863090
static void
30873091
suppressingFeatureNoAsyncAvailability(PrintOptions &options,
30883092
llvm::function_ref<void()> action) {

lib/AST/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ endif()
155155

156156
target_link_libraries(swiftAST
157157
PUBLIC swiftBasic
158-
PRIVATE legacySwiftSyntax)
158+
PRIVATE swiftSyntax)
159159
if(SWIFT_BUILD_ONLY_SYNTAXPARSERLIB)
160160
# Remove dependencies from clangBasic to avoid bringing along some llvm
161161
# libraries that we don't need to be building.

lib/ASTGen/CMakeLists.txt

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
1-
add_subdirectory(${SWIFT_SOURCE_DIR}/../swift-syntax ${CMAKE_CURRENT_BINARY_DIR}/swift-syntax)
1+
# TODO: why do we need these on Linux?
2+
set(CMAKE_Swift_ARCHIVE_CREATE "<CMAKE_AR> crs <TARGET> <OBJECTS>")
3+
set(CMAKE_Swift_ARCHIVE_FINISH "")
24

3-
add_library(ASTGen
4-
ASTGen.swift)
5+
if (SWIFT_SWIFT_PARSER)
6+
add_library(ASTGen
7+
ASTGen.swift)
58

6-
target_compile_options(ASTGen PUBLIC
7-
"-emit-module-interface")
9+
target_link_libraries(ASTGen PUBLIC
10+
SwiftSyntax
11+
SwiftParser
12+
SwiftDiagnostics)
13+
14+
target_link_directories(ASTGen PUBLIC
15+
"${SWIFT_PATH_TO_EARLYSWIFTSYNTAX_BUILD_DIR}/lib")
816

9-
target_link_libraries(ASTGen PUBLIC
10-
SwiftSyntax
11-
SwiftParser
12-
SwiftDiagnostics)
13-
14-
target_include_directories(SwiftParser PUBLIC
15-
"${CMAKE_CURRENT_BINARY_DIR}/../Parser/swift-syntax/SwiftSyntax"
16-
"${CMAKE_CURRENT_BINARY_DIR}/../Parser/swift-syntax/SwiftDiagnostics"
17-
"${CMAKE_CURRENT_BINARY_DIR}/../Parser/swift-syntax/SwiftParser")
17+
target_include_directories(ASTGen PUBLIC
18+
"${SWIFT_PATH_TO_EARLYSWIFTSYNTAX_BUILD_DIR}/swift")
19+
else()
20+
add_library(ASTGen
21+
DummyASTGen.swift)
22+
endif()
1823

19-
set_property(GLOBAL APPEND PROPERTY SWIFTSYNTAX_EXPORTS ASTGen)
24+
set_target_properties(ASTGen PROPERTIES LINKER_LANGUAGE Swift)
2025

21-
install(TARGETS ASTGen
22-
EXPORT SwiftSyntaxTargets
23-
ARCHIVE DESTINATION lib
24-
LIBRARY DESTINATION lib
25-
RUNTIME DESTINATION bin)
26+
target_compile_options(ASTGen PUBLIC
27+
"-emit-module-interface")
2628

2729
add_dependencies(ASTGen swiftAST)

lib/ASTGen/DummyASTGen.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
@_cdecl("parseTopLevelSwift")
2+
public func parseTopLevelSwift(
3+
buffer: UnsafePointer<CChar>, declContext: UnsafeMutableRawPointer,
4+
ctx: UnsafeMutableRawPointer,
5+
outputContext: UnsafeMutableRawPointer,
6+
callback: @convention(c) (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> Void
7+
) {
8+
fatalError("Please run build script with --early-swiftsyntax to use ASTGen.")
9+
}

lib/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ list(APPEND LLVM_COMMON_DEPENDS swift-parse-syntax-generated-headers)
1616

1717
add_subdirectory(APIDigester)
1818
add_subdirectory(AST)
19-
add_subdirectory(ASTGen) # Must come before Parse
19+
add_subdirectory(ASTGen)
2020
add_subdirectory(ASTSectionImporter)
2121
add_subdirectory(Basic)
2222
add_subdirectory(ConstExtract)

lib/Frontend/CompilerInvocation.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,6 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
842842
}
843843

844844
Opts.EnableCXXInterop |= Args.hasArg(OPT_enable_experimental_cxx_interop);
845-
Opts.EnableSwiftParser |= Args.hasArg(OPT_enable_experimental_swift_parser);
846845
Opts.EnableObjCInterop =
847846
Args.hasFlag(OPT_enable_objc_interop, OPT_disable_objc_interop,
848847
Target.isOSDarwin());

lib/Migrator/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ add_swift_host_library(swiftMigrator STATIC
5757
RewriteBufferEditsReceiver.cpp)
5858
target_link_libraries(swiftMigrator PRIVATE
5959
swiftIDE
60-
legacySwiftSyntax)
60+
swiftSyntax)
6161

6262
add_dependencies(swiftMigrator
6363
"symlink_migrator_data")

0 commit comments

Comments
 (0)