Merge pull request #13274 from ethereum/lsp-fix-include-path

lsp: Fixes initialization phase if `include-paths` was not set at all then also no error should be generated.
This commit is contained in:
Christian Parpart 2022-07-13 17:13:58 +02:00 committed by GitHub
commit ed039abb97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -149,25 +149,28 @@ void LanguageServer::changeConfiguration(Json::Value const& _settings)
{ {
m_settingsObject = _settings; m_settingsObject = _settings;
Json::Value jsonIncludePaths = _settings["include-paths"]; Json::Value jsonIncludePaths = _settings["include-paths"];
int typeFailureCount = 0;
if (jsonIncludePaths && jsonIncludePaths.isArray()) if (jsonIncludePaths)
{ {
vector<boost::filesystem::path> includePaths; int typeFailureCount = 0;
for (Json::Value const& jsonPath: jsonIncludePaths) if (jsonIncludePaths.isArray())
{ {
if (jsonPath.isString()) vector<boost::filesystem::path> includePaths;
includePaths.emplace_back(boost::filesystem::path(jsonPath.asString())); for (Json::Value const& jsonPath: jsonIncludePaths)
else {
typeFailureCount++; if (jsonPath.isString())
includePaths.emplace_back(boost::filesystem::path(jsonPath.asString()));
else
typeFailureCount++;
}
m_fileRepository.setIncludePaths(move(includePaths));
} }
m_fileRepository.setIncludePaths(move(includePaths)); else
} ++typeFailureCount;
else
++typeFailureCount;
if (typeFailureCount) if (typeFailureCount)
m_client.trace("Invalid JSON configuration passed. \"include-paths\" must be an array of strings."); m_client.trace("Invalid JSON configuration passed. \"include-paths\" must be an array of strings.");
}
} }
void LanguageServer::compile() void LanguageServer::compile()