Skip to content

Commit 8b0901e

Browse files
authored
Merge pull request #81626 from bnbarham/cherry-remove-sk-diag-path
[6.2][SourceKit] Remove diagnostics path calculation
2 parents 88a5399 + 03ca9ea commit 8b0901e

File tree

22 files changed

+47
-107
lines changed

22 files changed

+47
-107
lines changed

include/swift/IDETool/CompileInstance.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ namespace ide {
3333
class CompileInstance {
3434
const std::string &SwiftExecutablePath;
3535
const std::string &RuntimeResourcePath;
36-
const std::string &DiagnosticDocumentationPath;
3736
const std::shared_ptr<swift::PluginRegistry> Plugins;
3837

3938
struct Options {
@@ -70,12 +69,10 @@ class CompileInstance {
7069
public:
7170
CompileInstance(const std::string &SwiftExecutablePath,
7271
const std::string &RuntimeResourcePath,
73-
const std::string &DiagnosticDocumentationPath,
7472
std::shared_ptr<swift::PluginRegistry> Plugins = nullptr)
7573
: SwiftExecutablePath(SwiftExecutablePath),
76-
RuntimeResourcePath(RuntimeResourcePath),
77-
DiagnosticDocumentationPath(DiagnosticDocumentationPath),
78-
Plugins(Plugins), CachedCIInvalidated(false), CachedReuseCount(0) {}
74+
RuntimeResourcePath(RuntimeResourcePath), Plugins(Plugins),
75+
CachedCIInvalidated(false), CachedReuseCount(0) {}
7976

8077
/// NOTE: \p Args is only used for checking the equaity of the invocation.
8178
/// Since this function assumes that it is already normalized, exact the same

include/swift/IDETool/CompilerInvocation.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ bool initCompilerInvocation(
2727
StringRef UnresolvedPrimaryFile,
2828
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> FileSystem,
2929
const std::string &swiftExecutablePath,
30-
const std::string &runtimeResourcePath,
31-
const std::string &diagnosticDocumentationPath, time_t sessionTimestamp,
30+
const std::string &runtimeResourcePath, time_t sessionTimestamp,
3231
std::string &Error);
3332

3433
bool initInvocationByClangArguments(ArrayRef<const char *> ArgList,

lib/IDETool/CompileInstance.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,11 +258,9 @@ bool CompileInstance::setupCI(
258258
auto &Diags = CI->getDiags();
259259

260260
SmallVector<const char *, 16> args;
261-
// Put '-resource-dir' and '-diagnostic-documentation-path' at the top to
262-
// allow overriding them with the passed in arguments.
261+
// Put '-resource-dir' at the top to allow overriding them with the passed in
262+
// arguments.
263263
args.append({"-resource-dir", RuntimeResourcePath.c_str()});
264-
args.append({"-Xfrontend", "-diagnostic-documentation-path", "-Xfrontend",
265-
DiagnosticDocumentationPath.c_str()});
266264
args.append(origArgs.begin(), origArgs.end());
267265

268266
SmallString<256> driverPath(SwiftExecutablePath);

lib/IDETool/CompilerInvocation.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -157,18 +157,13 @@ bool ide::initCompilerInvocation(
157157
StringRef UnresolvedPrimaryFile,
158158
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> FileSystem,
159159
const std::string &swiftExecutablePath,
160-
const std::string &runtimeResourcePath,
161-
const std::string &diagnosticDocumentationPath, time_t sessionTimestamp,
160+
const std::string &runtimeResourcePath, time_t sessionTimestamp,
162161
std::string &Error) {
163162
SmallVector<const char *, 16> Args;
164-
// Make sure to put '-resource-dir' and '-diagnostic-documentation-path' at
165-
// the top to allow overriding them with the passed in arguments.
163+
// Make sure to put '-resource-dir' at the top to allow overriding them with
164+
// the passed in arguments.
166165
Args.push_back("-resource-dir");
167166
Args.push_back(runtimeResourcePath.c_str());
168-
Args.push_back("-Xfrontend");
169-
Args.push_back("-diagnostic-documentation-path");
170-
Args.push_back("-Xfrontend");
171-
Args.push_back(diagnosticDocumentationPath.c_str());
172167
Args.append(OrigArgs.begin(), OrigArgs.end());
173168

174169
SmallString<32> ErrStr;

test/SourceKit/Sema/educational_note_diags.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
typealias Crap = () -> ()
2-
extension Crap {}
1+
typealias Foo = () -> ()
2+
extension Foo {}
33

44
// RUN: %sourcekitd-test -req=sema %s -- %s | %FileCheck %s -check-prefix=NO_OVERRIDE
55

66
// NO_OVERRIDE: key.description: "non-nominal type
77
// NO_OVERRIDE: key.educational_note_paths: [
8-
// NO_OVERRIDE-NEXT: share{{[/\\]+}}doc{{[/\\]+}}swift{{[/\\]+}}diagnostics{{[/\\]+}}nominal-types"
8+
// NO_OVERRIDE-NEXT: "https://docs.swift.org/compiler/documentation/diagnostics/nominal-types"
99
// NO_OVERRIDE-NEXT: ]
1010

1111
// RUN: %sourcekitd-test -req=sema %s -- -Xfrontend -diagnostic-documentation-path -Xfrontend /educational/notes/path/prefix %s | %FileCheck %s -check-prefix=OVERRIDE

tools/SourceKit/include/SourceKit/Core/Context.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@ class Context {
166166
/// Used to find clang relative to it.
167167
std::string SwiftExecutablePath;
168168
std::string RuntimeLibPath;
169-
std::string DiagnosticDocumentationPath;
170169
std::unique_ptr<LangSupport> SwiftLang;
171170
std::shared_ptr<NotificationCenter> NotificationCtr;
172171
std::shared_ptr<GlobalConfig> Config;
@@ -176,7 +175,6 @@ class Context {
176175

177176
public:
178177
Context(StringRef SwiftExecutablePath, StringRef RuntimeLibPath,
179-
StringRef DiagnosticDocumentationPath,
180178
llvm::function_ref<std::unique_ptr<LangSupport>(Context &)>
181179
LangSupportFactoryFn,
182180
llvm::function_ref<std::shared_ptr<PluginSupport>(Context &)>
@@ -187,9 +185,6 @@ class Context {
187185
StringRef getSwiftExecutablePath() const { return SwiftExecutablePath; }
188186

189187
StringRef getRuntimeLibPath() const { return RuntimeLibPath; }
190-
StringRef getDiagnosticDocumentationPath() const {
191-
return DiagnosticDocumentationPath;
192-
}
193188

194189
LangSupport &getSwiftLangSupport() { return *SwiftLang; }
195190

tools/SourceKit/lib/Core/Context.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,12 @@ GlobalConfig::getIDEInspectionOpts() const {
3737

3838
SourceKit::Context::Context(
3939
StringRef SwiftExecutablePath, StringRef RuntimeLibPath,
40-
StringRef DiagnosticDocumentationPath,
4140
llvm::function_ref<std::unique_ptr<LangSupport>(Context &)>
4241
LangSupportFactoryFn,
4342
llvm::function_ref<std::shared_ptr<PluginSupport>(Context &)>
4443
PluginSupportFactoryFn,
4544
bool shouldDispatchNotificationsOnMain)
4645
: SwiftExecutablePath(SwiftExecutablePath), RuntimeLibPath(RuntimeLibPath),
47-
DiagnosticDocumentationPath(DiagnosticDocumentationPath),
4846
NotificationCtr(
4947
new NotificationCenter(shouldDispatchNotificationsOnMain)),
5048
Config(new GlobalConfig()), ReqTracker(new RequestTracker()),

tools/SourceKit/lib/SwiftLang/SwiftASTManager.cpp

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -564,12 +564,11 @@ struct SwiftASTManager::Implementation {
564564
std::shared_ptr<SwiftStatistics> Stats,
565565
std::shared_ptr<RequestTracker> ReqTracker,
566566
std::shared_ptr<PluginRegistry> Plugins, StringRef SwiftExecutablePath,
567-
StringRef RuntimeResourcePath, StringRef DiagnosticDocumentationPath)
567+
StringRef RuntimeResourcePath)
568568
: EditorDocs(EditorDocs), Config(Config), Stats(Stats),
569569
ReqTracker(ReqTracker), Plugins(Plugins),
570570
SwiftExecutablePath(SwiftExecutablePath),
571571
RuntimeResourcePath(RuntimeResourcePath),
572-
DiagnosticDocumentationPath(DiagnosticDocumentationPath),
573572
SessionTimestamp(llvm::sys::toTimeT(std::chrono::system_clock::now())) {
574573
}
575574

@@ -582,7 +581,6 @@ struct SwiftASTManager::Implementation {
582581
/// Used to find clang relative to it.
583582
std::string SwiftExecutablePath;
584583
std::string RuntimeResourcePath;
585-
std::string DiagnosticDocumentationPath;
586584
SourceManager SourceMgr;
587585
Cache<ASTKey, ASTProducerRef> ASTCache{ "sourcekit.swift.ASTCache" };
588586
llvm::sys::Mutex CacheMtx;
@@ -668,10 +666,9 @@ SwiftASTManager::SwiftASTManager(
668666
std::shared_ptr<SwiftStatistics> Stats,
669667
std::shared_ptr<RequestTracker> ReqTracker,
670668
std::shared_ptr<PluginRegistry> Plugins, StringRef SwiftExecutablePath,
671-
StringRef RuntimeResourcePath, StringRef DiagnosticDocumentationPath)
669+
StringRef RuntimeResourcePath)
672670
: Impl(*new Implementation(EditorDocs, Config, Stats, ReqTracker, Plugins,
673-
SwiftExecutablePath, RuntimeResourcePath,
674-
DiagnosticDocumentationPath)) {}
671+
SwiftExecutablePath, RuntimeResourcePath)) {}
675672

676673
SwiftASTManager::~SwiftASTManager() {
677674
delete &Impl;
@@ -710,8 +707,8 @@ bool SwiftASTManager::initCompilerInvocation(
710707
std::string &Error) {
711708
return ide::initCompilerInvocation(
712709
Invocation, OrigArgs, Action, Diags, UnresolvedPrimaryFile, FileSystem,
713-
Impl.SwiftExecutablePath, Impl.RuntimeResourcePath,
714-
Impl.DiagnosticDocumentationPath, Impl.SessionTimestamp, Error);
710+
Impl.SwiftExecutablePath, Impl.RuntimeResourcePath, Impl.SessionTimestamp,
711+
Error);
715712
}
716713

717714
bool SwiftASTManager::initCompilerInvocation(

tools/SourceKit/lib/SwiftLang/SwiftASTManager.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,7 @@ class SwiftASTManager : public std::enable_shared_from_this<SwiftASTManager> {
259259
std::shared_ptr<RequestTracker> ReqTracker,
260260
std::shared_ptr<swift::PluginRegistry> Plugins,
261261
StringRef SwiftExecutablePath,
262-
StringRef RuntimeResourcePath,
263-
StringRef DiagnosticDocumentationPath);
262+
StringRef RuntimeResourcePath);
264263
~SwiftASTManager();
265264

266265
SwiftInvocationRef getTypecheckInvocation(ArrayRef<const char *> Args,

tools/SourceKit/lib/SwiftLang/SwiftCompile.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,9 @@ compile::SessionManager::getSession(StringRef name) {
3131
}
3232

3333
bool inserted = false;
34-
std::tie(i, inserted) =
35-
sessions.try_emplace(name, std::make_shared<compile::Session>(
36-
SwiftExecutablePath, RuntimeResourcePath,
37-
DiagnosticDocumentationPath, Plugins));
34+
std::tie(i, inserted) = sessions.try_emplace(
35+
name, std::make_shared<compile::Session>(SwiftExecutablePath,
36+
RuntimeResourcePath, Plugins));
3837
assert(inserted);
3938
return i->second;
4039
}

tools/SourceKit/lib/SwiftLang/SwiftLangSupport.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,6 @@ SwiftLangSupport::SwiftLangSupport(SourceKit::Context &SKCtx)
281281
llvm::SmallString<128> LibPath(SKCtx.getRuntimeLibPath());
282282
llvm::sys::path::append(LibPath, "swift");
283283
RuntimeResourcePath = std::string(LibPath.str());
284-
DiagnosticDocumentationPath = SKCtx.getDiagnosticDocumentationPath().str();
285284

286285
Stats = std::make_shared<SwiftStatistics>();
287286
EditorDocuments = std::make_shared<SwiftEditorDocumentFileMap>();
@@ -290,16 +289,14 @@ SwiftLangSupport::SwiftLangSupport(SourceKit::Context &SKCtx)
290289

291290
ASTMgr = std::make_shared<SwiftASTManager>(
292291
EditorDocuments, SKCtx.getGlobalConfiguration(), Stats, ReqTracker,
293-
Plugins, SwiftExecutablePath, RuntimeResourcePath,
294-
DiagnosticDocumentationPath);
292+
Plugins, SwiftExecutablePath, RuntimeResourcePath);
295293

296294
IDEInspectionInst = std::make_shared<IDEInspectionInstance>(Plugins);
297295
configureIDEInspectionInstance(IDEInspectionInst,
298296
SKCtx.getGlobalConfiguration());
299297

300298
CompileManager = std::make_shared<compile::SessionManager>(
301-
SwiftExecutablePath, RuntimeResourcePath, DiagnosticDocumentationPath,
302-
Plugins);
299+
SwiftExecutablePath, RuntimeResourcePath, Plugins);
303300

304301
// By default, just use the in-memory cache.
305302
CCCache->inMemory = std::make_unique<ide::CodeCompletionCache>();

tools/SourceKit/lib/SwiftLang/SwiftLangSupport.h

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -283,10 +283,8 @@ class Session {
283283
public:
284284
Session(const std::string &SwiftExecutablePath,
285285
const std::string &RuntimeResourcePath,
286-
const std::string &DiagnosticDocumentationPath,
287286
std::shared_ptr<swift::PluginRegistry> Plugins)
288-
: Compiler(SwiftExecutablePath, RuntimeResourcePath,
289-
DiagnosticDocumentationPath, Plugins) {}
287+
: Compiler(SwiftExecutablePath, RuntimeResourcePath, Plugins) {}
290288

291289
bool
292290
performCompile(llvm::ArrayRef<const char *> Args,
@@ -300,7 +298,6 @@ class Session {
300298
class SessionManager {
301299
const std::string &SwiftExecutablePath;
302300
const std::string &RuntimeResourcePath;
303-
const std::string &DiagnosticDocumentationPath;
304301
const std::shared_ptr<swift::PluginRegistry> Plugins;
305302

306303
llvm::StringMap<std::shared_ptr<Session>> sessions;
@@ -311,12 +308,9 @@ class SessionManager {
311308
public:
312309
SessionManager(const std::string &SwiftExecutablePath,
313310
const std::string &RuntimeResourcePath,
314-
const std::string &DiagnosticDocumentationPath,
315311
const std::shared_ptr<swift::PluginRegistry> Plugins)
316312
: SwiftExecutablePath(SwiftExecutablePath),
317-
RuntimeResourcePath(RuntimeResourcePath),
318-
DiagnosticDocumentationPath(DiagnosticDocumentationPath),
319-
Plugins(Plugins) {}
313+
RuntimeResourcePath(RuntimeResourcePath), Plugins(Plugins) {}
320314

321315
std::shared_ptr<Session> getSession(StringRef name);
322316

@@ -342,7 +336,6 @@ class SwiftLangSupport : public LangSupport {
342336
/// Used to find clang relative to it.
343337
std::string SwiftExecutablePath;
344338
std::string RuntimeResourcePath;
345-
std::string DiagnosticDocumentationPath;
346339
std::shared_ptr<SwiftASTManager> ASTMgr;
347340
std::shared_ptr<SwiftEditorDocumentFileMap> EditorDocuments;
348341
std::shared_ptr<RequestTracker> ReqTracker;
@@ -366,9 +359,6 @@ class SwiftLangSupport : public LangSupport {
366359
}
367360

368361
StringRef getRuntimeResourcePath() const { return RuntimeResourcePath; }
369-
StringRef getDiagnosticDocumentationPath() const {
370-
return DiagnosticDocumentationPath;
371-
}
372362

373363
std::shared_ptr<SwiftASTManager> getASTManager() { return ASTMgr; }
374364

tools/SourceKit/tools/sourcekitd/bin/InProc/CodeCompletionSwiftInterop.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ class Connection {
7575
std::shared_ptr<CodeCompletionCache> completionCache;
7676
std::string swiftExecutablePath;
7777
std::string runtimeResourcePath;
78-
std::string diagnosticsDocumentationPath;
7978
std::shared_ptr<SourceKit::RequestTracker> requestTracker;
8079

8180
public:
@@ -87,7 +86,6 @@ class Connection {
8786
completionCache(std::make_shared<CodeCompletionCache>()),
8887
swiftExecutablePath(getSwiftExecutablePath()),
8988
runtimeResourcePath(getRuntimeResourcesPath()),
90-
diagnosticsDocumentationPath(getDiagnosticDocumentationPath()),
9189
requestTracker(new SourceKit::RequestTracker()),
9290
sessionTimestamp(llvm::sys::toTimeT(std::chrono::system_clock::now())) {
9391
if (ideInspectionInstance == nullptr) {
@@ -371,8 +369,8 @@ void Connection::codeComplete(
371369
std::string compilerInvocationError;
372370
bool creatingInvocationFailed = initCompilerInvocation(
373371
invocation, args, FrontendOptions::ActionType::Typecheck, diags, path,
374-
fileSystem, swiftExecutablePath, runtimeResourcePath,
375-
diagnosticsDocumentationPath, sessionTimestamp, compilerInvocationError);
372+
fileSystem, swiftExecutablePath, runtimeResourcePath, sessionTimestamp,
373+
compilerInvocationError);
376374
if (creatingInvocationFailed) {
377375
callback(ResultType::failure(compilerInvocationError));
378376
return;

tools/SourceKit/tools/sourcekitd/bin/InProc/sourcekitdInProc-darwin.exports

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ _ZN10sourcekitd13handleRequestEPvPKvNSt3__18functionIFvS0_EEE
193193
_ZN10sourcekitd16requestIsBarrierEPv
194194
_ZN10sourcekitd23requestIsEnableBarriersEPv
195195
_ZN10sourcekitd27sendBarriersEnabledResponseENSt3__18functionIFvPvEEE
196-
_ZN10sourcekitd17initializeServiceEN4llvm9StringRefES1_S1_NSt3__18functionIFvPvEEE
196+
_ZN10sourcekitd17initializeServiceEN4llvm9StringRefES1_NSt3__18functionIFvPvEEE
197197
_ZN10sourcekitd24createErrorRequestFailedEN4llvm9StringRefE
198198
_ZN10sourcekitd24disposeCancellationTokenEPKv
199199
_ZN10sourcekitd11loadPluginsEN4llvm8ArrayRefINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEERNS_16PluginInitParamsE

tools/SourceKit/tools/sourcekitd/bin/InProc/sourcekitdInProc.cpp

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,6 @@ std::string sourcekitdInProc::getSwiftExecutablePath() {
9898
return path.str().str();
9999
}
100100

101-
std::string sourcekitdInProc::getDiagnosticDocumentationPath() {
102-
llvm::SmallString<128> docPath;
103-
getToolchainPrefixPath(docPath);
104-
llvm::sys::path::append(docPath, "share", "doc", "swift", "diagnostics");
105-
return docPath.str().str();
106-
}
107-
108101
static std::vector<std::string> registeredPlugins;
109102

110103
void sourcekitd_load_client_plugins(void) {
@@ -117,10 +110,9 @@ void sourcekitd_initialize(void) {
117110
"sourcekitdInProc.msgHandlingQueue");
118111
if (sourcekitd::initializeClient()) {
119112
LOG_INFO_FUNC(High, "initializing");
120-
sourcekitd::initializeService(
121-
sourcekitdInProc::getSwiftExecutablePath(),
122-
sourcekitdInProc::getRuntimeLibPath(),
123-
sourcekitdInProc::getDiagnosticDocumentationPath(), postNotification);
113+
sourcekitd::initializeService(sourcekitdInProc::getSwiftExecutablePath(),
114+
sourcekitdInProc::getRuntimeLibPath(),
115+
postNotification);
124116
static std::once_flag flag;
125117
std::call_once(flag, [] {
126118
sourcekitd::PluginInitParams pluginParams(

tools/SourceKit/tools/sourcekitd/bin/XPC/Service/XPCService.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -225,13 +225,6 @@ static std::string getSwiftExecutablePath() {
225225
return path.str().str();
226226
}
227227

228-
static std::string getDiagnosticDocumentationPath() {
229-
llvm::SmallString<128> path;
230-
getToolchainPrefixPath(path);
231-
llvm::sys::path::append(path, "share", "doc", "swift", "diagnostics");
232-
return path.str().str();
233-
}
234-
235228
static dispatch_queue_t msgHandlingQueue;
236229
static dispatch_queue_t requestQueue;
237230

@@ -415,7 +408,6 @@ int main(int argc, const char *argv[]) {
415408
return xpcUIdentFromSKDUID(uid).c_str();
416409
});
417410
sourcekitd::initializeService(getSwiftExecutablePath(), getRuntimeLibPath(),
418-
getDiagnosticDocumentationPath(),
419411
postNotification);
420412

421413
// Increase the file descriptor limit.

tools/SourceKit/tools/sourcekitd/include/sourcekitd/Service.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,9 @@ using SourceKit::SourceKitCancellationToken;
2727
/// \param swiftExecutablePath The path of the swift-frontend executable.
2828
/// Used to find clang relative to it.
2929
/// \param runtimeLibPath The path to the toolchain's library directory.
30-
/// \param diagnosticDocumentationPath The path to diagnostics documentation.
3130
/// \param postNotification Callback to post a notification.
3231
void initializeService(
3332
llvm::StringRef swiftExecutablePath, llvm::StringRef runtimeLibPath,
34-
llvm::StringRef diagnosticDocumentationPath,
3533
std::function<void(sourcekitd_response_t)> postNotification);
3634
/// Shutdown the service.
3735
void shutdownService();

tools/SourceKit/tools/sourcekitd/include/sourcekitd/sourcekitdInProc-Internal.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
namespace sourcekitdInProc {
1919
std::string getRuntimeLibPath();
2020
std::string getSwiftExecutablePath();
21-
std::string getDiagnosticDocumentationPath();
2221
} // namespace sourcekitdInProc
2322

2423
#endif

0 commit comments

Comments
 (0)