Skip to content

Commit 9116646

Browse files
authored
Merge pull request swiftlang#31626 from hamishknight/read-evaluate-cleanup-loop
2 parents a1de002 + 72bb47e commit 9116646

File tree

6 files changed

+14
-22
lines changed

6 files changed

+14
-22
lines changed

include/swift/Frontend/InputFile.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ enum class InputFileKind {
2525
None,
2626
Swift,
2727
SwiftLibrary,
28-
SwiftREPL,
2928
SwiftModuleInterface,
3029
SIL,
3130
LLVM

lib/Frontend/ArgsToFrontendOptionsConverter.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,8 +405,6 @@ bool ArgsToFrontendOptionsConverter::setUpInputKindAndImmediateArgs() {
405405
Opts.InputKind = InputFileKind::SwiftModuleInterface;
406406
else if (Args.hasArg(OPT_parse_as_library))
407407
Opts.InputKind = InputFileKind::SwiftLibrary;
408-
else if (Opts.RequestedAction == FrontendOptions::ActionType::REPL)
409-
Opts.InputKind = InputFileKind::SwiftREPL;
410408
else
411409
Opts.InputKind = InputFileKind::Swift;
412410

lib/Frontend/CompilerInvocation.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,6 @@ SourceFileKind CompilerInvocation::getSourceFileKind() const {
196196
return SourceFileKind::Main;
197197
case InputFileKind::SwiftLibrary:
198198
return SourceFileKind::Library;
199-
case InputFileKind::SwiftREPL:
200-
return SourceFileKind::Main;
201199
case InputFileKind::SwiftModuleInterface:
202200
return SourceFileKind::Interface;
203201
case InputFileKind::SIL:

lib/Frontend/Frontend.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,6 @@ static bool shouldTreatSingleInputAsMain(InputFileKind inputKind) {
529529
case InputFileKind::SIL:
530530
return true;
531531
case InputFileKind::SwiftLibrary:
532-
case InputFileKind::SwiftREPL:
533532
case InputFileKind::LLVM:
534533
case InputFileKind::None:
535534
return false;
@@ -779,15 +778,6 @@ void CompilerInstance::performSemaUpTo(SourceFile::ASTStage_t LimitStage) {
779778
// references, this can be removed.
780779
(void)MainModule->getImplicitImports();
781780

782-
if (Invocation.getInputKind() == InputFileKind::SwiftREPL) {
783-
// Create the initial empty REPL file. This only exists to feed in the
784-
// implicit imports such as the standard library.
785-
auto *replFile =
786-
createSourceFileForMainModule(SourceFileKind::Main, /*BufferID*/ None);
787-
performImportResolution(*replFile);
788-
return;
789-
}
790-
791781
// Make sure the main file is the first file in the module, so do this now.
792782
if (MainBufferID != NO_SUCH_BUFFER) {
793783
(void)createSourceFileForMainModule(Invocation.getSourceFileKind(),

lib/FrontendTool/TBD.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ bool swift::inputFileKindCanHaveTBDValidated(InputFileKind kind) {
6666
// FIXME: This would be a good test of the interface format.
6767
return false;
6868
case InputFileKind::None:
69-
case InputFileKind::SwiftREPL:
7069
case InputFileKind::SIL:
7170
case InputFileKind::LLVM:
7271
return false;

tools/swift-ide-test/swift-ide-test.cpp

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -888,7 +888,7 @@ static int doREPLCodeCompletion(const CompilerInvocation &InitInvok,
888888
BufferText = BufferText.drop_back(1);
889889

890890
CompilerInvocation Invocation(InitInvok);
891-
Invocation.setInputKind(InputFileKind::SwiftREPL);
891+
Invocation.setInputKind(InputFileKind::Swift);
892892

893893
CompilerInstance CI;
894894

@@ -897,13 +897,21 @@ static int doREPLCodeCompletion(const CompilerInvocation &InitInvok,
897897
CI.addDiagnosticConsumer(&PrintDiags);
898898
if (CI.setup(Invocation))
899899
return 1;
900-
registerIDERequestFunctions(CI.getASTContext().evaluator);
901-
CI.performSema();
902-
903-
SourceFile &SF = CI.getMainModule()->getMainSourceFile(SourceFileKind::Main);
900+
auto &ctx = CI.getASTContext();
901+
registerIDERequestFunctions(ctx.evaluator);
902+
903+
// Create an initial empty SourceFile. This only exists to feed in the
904+
// implicit stdlib import.
905+
ImplicitImportInfo importInfo;
906+
importInfo.StdlibKind = ImplicitStdlibKind::Stdlib;
907+
auto *M = ModuleDecl::create(ctx.getIdentifier(Invocation.getModuleName()),
908+
ctx, importInfo);
909+
auto *SF = new (ctx) SourceFile(*M, SourceFileKind::Main, /*BufferID*/ None);
910+
M->addFile(*SF);
911+
performImportResolution(*SF);
904912

905913
REPLCompletions REPLCompl;
906-
REPLCompl.populate(SF, BufferText);
914+
REPLCompl.populate(*SF, BufferText);
907915
llvm::outs() << "Begin completions\n";
908916
for (StringRef S : REPLCompl.getCompletionList()) {
909917
llvm::outs() << S << "\n";

0 commit comments

Comments
 (0)