forked from qt-creator/qt-creator
C++: Remove unneeded qualifications
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
next if file =~ %r{src/shared/qbs|/qmljs/}
s = File.read(file)
s.scan(/^using namespace (.*);$/) {
ns = $1
t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
before = $1
char = $2
if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
m
else
before + char
end
}
if t != s
puts file
File.open(file, 'w').write(t)
end
}
}
Change-Id: I6fbe13ddc1485efe95c3156097bf41d90c0febac
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
f5225c0928
commit
65e7db42b8
@@ -46,12 +46,16 @@
|
||||
|
||||
//#define TIME_COMPLETION
|
||||
|
||||
class ClangCodeModel::ClangCompleter::PrivateData
|
||||
using namespace ClangCodeModel::Internal;
|
||||
|
||||
namespace ClangCodeModel {
|
||||
|
||||
class ClangCompleter::PrivateData
|
||||
{
|
||||
public:
|
||||
PrivateData()
|
||||
: m_mutex(QMutex::Recursive)
|
||||
, m_unit(Internal::Unit::create())
|
||||
, m_unit(Unit::create())
|
||||
, m_isSignalSlotCompletion(false)
|
||||
{
|
||||
}
|
||||
@@ -60,7 +64,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
bool parseFromFile(const Internal::UnsavedFiles &unsavedFiles)
|
||||
bool parseFromFile(const UnsavedFiles &unsavedFiles)
|
||||
{
|
||||
Q_ASSERT(!m_unit->isLoaded());
|
||||
if (m_unit->fileName().isEmpty())
|
||||
@@ -80,13 +84,10 @@ public:
|
||||
|
||||
public:
|
||||
QMutex m_mutex;
|
||||
Internal::Unit::Ptr m_unit;
|
||||
Unit::Ptr m_unit;
|
||||
bool m_isSignalSlotCompletion;
|
||||
};
|
||||
|
||||
using namespace ClangCodeModel;
|
||||
using namespace ClangCodeModel::Internal;
|
||||
|
||||
/**
|
||||
* @brief Constructs with highest possible priority
|
||||
*/
|
||||
@@ -127,7 +128,7 @@ QString ClangCompleter::fileName() const
|
||||
void ClangCompleter::setFileName(const QString &fileName)
|
||||
{
|
||||
if (d->m_unit->fileName() != fileName) {
|
||||
d->m_unit = Internal::Unit::create(fileName);
|
||||
d->m_unit = Unit::create(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,3 +209,5 @@ QMutex *ClangCompleter::mutex() const
|
||||
{
|
||||
return &d->m_mutex;
|
||||
}
|
||||
|
||||
} // namespace ClangCodeModel
|
||||
|
||||
@@ -190,7 +190,7 @@ namespace Internal {
|
||||
// ClangCompletionAssistProvider
|
||||
// -----------------------------
|
||||
ClangCompletionAssistProvider::ClangCompletionAssistProvider()
|
||||
: m_clangCompletionWrapper(new ClangCodeModel::ClangCompleter)
|
||||
: m_clangCompletionWrapper(new ClangCompleter)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -215,15 +215,15 @@ AssistInterface *ClangCompletionAssistProvider::createAssistInterface(
|
||||
foreach (ProjectPart::Ptr part, parts) {
|
||||
if (part.isNull())
|
||||
continue;
|
||||
options = ClangCodeModel::Utils::createClangOptions(part, filePath);
|
||||
options = Utils::createClangOptions(part, filePath);
|
||||
pchInfo = PchManager::instance()->pchInfo(part);
|
||||
if (!pchInfo.isNull())
|
||||
options.append(ClangCodeModel::Utils::createPCHInclusionOptions(pchInfo->fileName()));
|
||||
options.append(Utils::createPCHInclusionOptions(pchInfo->fileName()));
|
||||
headerPaths = part->headerPaths;
|
||||
break;
|
||||
}
|
||||
|
||||
return new ClangCodeModel::ClangCompletionAssistInterface(
|
||||
return new ClangCompletionAssistInterface(
|
||||
m_clangCompletionWrapper,
|
||||
document, position, filePath, reason,
|
||||
options, headerPaths, pchInfo);
|
||||
@@ -287,7 +287,7 @@ public:
|
||||
virtual int activeArgument(const QString &prefix) const;
|
||||
|
||||
private:
|
||||
QList<ClangCodeModel::CodeCompletionResult> m_functionSymbols;
|
||||
QList<CodeCompletionResult> m_functionSymbols;
|
||||
mutable int m_currentArg;
|
||||
};
|
||||
|
||||
@@ -323,7 +323,7 @@ int ClangFunctionHintModel::activeArgument(const QString &prefix) const
|
||||
SimpleLexer tokenize;
|
||||
Tokens tokens = tokenize(prefix);
|
||||
for (int i = 0; i < tokens.count(); ++i) {
|
||||
const CPlusPlus::Token &tk = tokens.at(i);
|
||||
const Token &tk = tokens.at(i);
|
||||
if (tk.is(T_LPAREN))
|
||||
++parcount;
|
||||
else if (tk.is(T_RPAREN))
|
||||
@@ -544,7 +544,7 @@ ClangCompletionAssistInterface::ClangCompletionAssistInterface(ClangCompleter::P
|
||||
const QString &fileName,
|
||||
AssistReason reason,
|
||||
const QStringList &options,
|
||||
const QList<CppTools::ProjectPart::HeaderPath> &headerPaths,
|
||||
const QList<ProjectPart::HeaderPath> &headerPaths,
|
||||
const PchInfo::Ptr &pchInfo)
|
||||
: AssistInterface(document, position, fileName, reason)
|
||||
, m_clangWrapper(clangWrapper)
|
||||
@@ -719,7 +719,7 @@ int ClangCompletionAssistProcessor::startOfOperator(int pos,
|
||||
tokenize.setSkipComments(false);
|
||||
const Tokens &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block()));
|
||||
const int tokenIdx = SimpleLexer::tokenBefore(tokens, qMax(0, tc.positionInBlock() - 1)); // get the token at the left of the cursor
|
||||
const CPlusPlus::Token tk = (tokenIdx == -1) ? CPlusPlus::Token() : tokens.at(tokenIdx);
|
||||
const Token tk = (tokenIdx == -1) ? Token() : tokens.at(tokenIdx);
|
||||
|
||||
if (*kind == T_DOXY_COMMENT && !(tk.is(T_DOXY_COMMENT) || tk.is(T_CPP_DOXY_COMMENT))) {
|
||||
*kind = T_EOF_SYMBOL;
|
||||
@@ -740,7 +740,7 @@ int ClangCompletionAssistProcessor::startOfOperator(int pos,
|
||||
}
|
||||
else if (*kind == T_LPAREN) {
|
||||
if (tokenIdx > 0) {
|
||||
const CPlusPlus::Token &previousToken = tokens.at(tokenIdx - 1); // look at the token at the left of T_LPAREN
|
||||
const Token &previousToken = tokens.at(tokenIdx - 1); // look at the token at the left of T_LPAREN
|
||||
switch (previousToken.kind()) {
|
||||
case T_IDENTIFIER:
|
||||
case T_GREATER:
|
||||
@@ -761,7 +761,7 @@ int ClangCompletionAssistProcessor::startOfOperator(int pos,
|
||||
if (tokens.size() >= 3) {
|
||||
if (tokens.at(0).is(T_POUND) && tokens.at(1).is(T_IDENTIFIER) && (tokens.at(2).is(T_STRING_LITERAL) ||
|
||||
tokens.at(2).is(T_ANGLE_STRING_LITERAL))) {
|
||||
const CPlusPlus::Token &directiveToken = tokens.at(1);
|
||||
const Token &directiveToken = tokens.at(1);
|
||||
QString directive = tc.block().text().mid(directiveToken.bytesBegin(),
|
||||
directiveToken.bytes());
|
||||
if (directive == QLatin1String("include") ||
|
||||
@@ -830,7 +830,7 @@ bool ClangCompletionAssistProcessor::accepts() const
|
||||
tokenize.setSkipComments(false);
|
||||
const Tokens &tokens = tokenize(tc.block().text(), BackwardsScanner::previousBlockState(tc.block()));
|
||||
const int tokenIdx = SimpleLexer::tokenBefore(tokens, qMax(0, tc.positionInBlock() - 1));
|
||||
const CPlusPlus::Token tk = (tokenIdx == -1) ? CPlusPlus::Token() : tokens.at(tokenIdx);
|
||||
const Token tk = (tokenIdx == -1) ? Token() : tokens.at(tokenIdx);
|
||||
|
||||
if (!tk.isComment() && !tk.isLiteral()) {
|
||||
return true;
|
||||
@@ -839,7 +839,7 @@ bool ClangCompletionAssistProcessor::accepts() const
|
||||
&& tokens.at(0).kind() == T_POUND
|
||||
&& tokens.at(1).kind() == T_IDENTIFIER) {
|
||||
const QString &line = tc.block().text();
|
||||
const CPlusPlus::Token &idToken = tokens.at(1);
|
||||
const Token &idToken = tokens.at(1);
|
||||
const QStringRef &identifier =
|
||||
line.midRef(idToken.bytesBegin(),
|
||||
idToken.bytesEnd() - idToken.bytesBegin());
|
||||
|
||||
@@ -66,5 +66,5 @@ CppTools::CppCompletionAssistProvider *ModelManagerSupport::completionAssistProv
|
||||
CppTools::BaseEditorDocumentProcessor *ModelManagerSupport::editorDocumentProcessor(
|
||||
TextEditor::TextDocument *baseTextDocument)
|
||||
{
|
||||
return new ClangCodeModel::ClangEditorDocumentProcessor(baseTextDocument);
|
||||
return new ClangEditorDocumentProcessor(baseTextDocument);
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ UnsavedFiles createUnsavedFiles(WorkingCopy workingCopy)
|
||||
// TODO: Reason: the UnsavedFile needs a QByteArray.
|
||||
|
||||
QSet< ::Utils::FileName> modifiedFiles;
|
||||
foreach (IDocument *doc, Core::DocumentManager::modifiedDocuments())
|
||||
foreach (IDocument *doc, DocumentManager::modifiedDocuments())
|
||||
modifiedFiles.insert(doc->filePath());
|
||||
|
||||
UnsavedFiles result;
|
||||
@@ -112,7 +112,7 @@ QStringList createClangOptions(const ProjectPart::Ptr &pPart, const QString &fil
|
||||
|
||||
static QString getResourceDir()
|
||||
{
|
||||
QDir dir(Core::ICore::instance()->resourcePath() + QLatin1String("/cplusplus/clang/") +
|
||||
QDir dir(ICore::instance()->resourcePath() + QLatin1String("/cplusplus/clang/") +
|
||||
QLatin1String(CLANG_VERSION) + QLatin1String("/include"));
|
||||
if (!dir.exists() || !QFileInfo(dir, QLatin1String("stdint.h")).exists())
|
||||
dir = QDir(QLatin1String(CLANG_RESOURCE_DIR));
|
||||
@@ -144,18 +144,17 @@ QStringList createClangOptions(const ProjectPart::Ptr &pPart, ProjectFile::Kind
|
||||
result << QLatin1String("-v");
|
||||
|
||||
const bool objcExt = pPart->languageExtensions & ProjectPart::ObjectiveCExtensions;
|
||||
result << CppTools::CompilerOptionsBuilder::createLanguageOption(fileKind, objcExt);
|
||||
result << CppTools::CompilerOptionsBuilder::createOptionsForLanguage(
|
||||
pPart->languageVersion,
|
||||
pPart->languageExtensions,
|
||||
maybeIncludeBorlandExtensions());
|
||||
result << CppTools::CompilerOptionsBuilder::createDefineOptions(pPart->toolchainDefines);
|
||||
result << CppTools::CompilerOptionsBuilder::createDefineOptions(pPart->projectDefines);
|
||||
result << CppTools::CompilerOptionsBuilder::createHeaderPathOptions(pPart->headerPaths,
|
||||
isBlacklisted);
|
||||
result << CompilerOptionsBuilder::createLanguageOption(fileKind, objcExt);
|
||||
result << CompilerOptionsBuilder::createOptionsForLanguage(
|
||||
pPart->languageVersion,
|
||||
pPart->languageExtensions,
|
||||
maybeIncludeBorlandExtensions());
|
||||
result << CompilerOptionsBuilder::createDefineOptions(pPart->toolchainDefines);
|
||||
result << CompilerOptionsBuilder::createDefineOptions(pPart->projectDefines);
|
||||
result << CompilerOptionsBuilder::createHeaderPathOptions(pPart->headerPaths, isBlacklisted);
|
||||
|
||||
// Inject header file
|
||||
static const QString injectedHeader = Core::ICore::instance()->resourcePath()
|
||||
static const QString injectedHeader = ICore::instance()->resourcePath()
|
||||
+ QLatin1String("/cplusplus/qt%1-qobjectdefs-injected.h");
|
||||
// if (qtVersion == ProjectPart::Qt4)
|
||||
// opts << QLatin1String("-include") << injectedHeader.arg(QLatin1Char('4'));
|
||||
|
||||
@@ -244,7 +244,7 @@ protected:
|
||||
indexingResults.reserve(m_allFiles.size());
|
||||
|
||||
foreach (const QString &fn, m_allFiles.keys()) {
|
||||
QVector<ClangCodeModel::Symbol> symbols; unfoldSymbols(symbols, fn);
|
||||
QVector<Symbol> symbols; unfoldSymbols(symbols, fn);
|
||||
QSet<QString> processedFiles = QSet<QString>::fromList(m_allFiles.keys());
|
||||
Unit::Ptr unit = Unit::create(fn);
|
||||
IndexingResult indexingResult(symbols, processedFiles, unit, projectPart);
|
||||
@@ -487,18 +487,18 @@ protected:
|
||||
}
|
||||
}
|
||||
|
||||
void unfoldSymbols(QVector<ClangCodeModel::Symbol> &result, const QString &fileName) {
|
||||
void unfoldSymbols(QVector<Symbol> &result, const QString &fileName) {
|
||||
const QVector<Symbol *> symbolsForFile = file(fileName)->symbols();
|
||||
foreach (const Symbol *s, symbolsForFile) {
|
||||
unfoldSymbols(s, result);
|
||||
}
|
||||
}
|
||||
|
||||
void unfoldSymbols(const Symbol *s, QVector<ClangCodeModel::Symbol> &result) {
|
||||
void unfoldSymbols(const Symbol *s, QVector<Symbol> &result) {
|
||||
if (!s->file)
|
||||
return;
|
||||
|
||||
ClangCodeModel::Symbol sym;
|
||||
Symbol sym;
|
||||
sym.m_name = s->spellingName;
|
||||
sym.m_qualification = s->spellingName;
|
||||
|
||||
@@ -509,16 +509,16 @@ protected:
|
||||
sym.m_location = SourceLocation(s->file->name(), s->line, s->column, s->offset);
|
||||
|
||||
switch (s->kind) {
|
||||
case CXCursor_EnumDecl: sym.m_kind = ClangCodeModel::Symbol::Enum; break;
|
||||
case CXCursor_EnumDecl: sym.m_kind = Symbol::Enum; break;
|
||||
case CXCursor_StructDecl:
|
||||
case CXCursor_ClassDecl: sym.m_kind = ClangCodeModel::Symbol::Class; break;
|
||||
case CXCursor_CXXMethod: sym.m_kind = ClangCodeModel::Symbol::Method; break;
|
||||
case CXCursor_ClassDecl: sym.m_kind = Symbol::Class; break;
|
||||
case CXCursor_CXXMethod: sym.m_kind = Symbol::Method; break;
|
||||
case CXCursor_FunctionTemplate:
|
||||
case CXCursor_FunctionDecl: sym.m_kind = ClangCodeModel::Symbol::Function; break;
|
||||
case CXCursor_DeclStmt: sym.m_kind = ClangCodeModel::Symbol::Declaration; break;
|
||||
case CXCursor_Constructor: sym.m_kind = ClangCodeModel::Symbol::Constructor; break;
|
||||
case CXCursor_Destructor: sym.m_kind = ClangCodeModel::Symbol::Destructor; break;
|
||||
default: sym.m_kind = ClangCodeModel::Symbol::Unknown; break;
|
||||
case CXCursor_FunctionDecl: sym.m_kind = Symbol::Function; break;
|
||||
case CXCursor_DeclStmt: sym.m_kind = Symbol::Declaration; break;
|
||||
case CXCursor_Constructor: sym.m_kind = Symbol::Constructor; break;
|
||||
case CXCursor_Destructor: sym.m_kind = Symbol::Destructor; break;
|
||||
default: sym.m_kind = Symbol::Unknown; break;
|
||||
}
|
||||
|
||||
result.append(sym);
|
||||
@@ -588,7 +588,7 @@ restart:
|
||||
goto restart;
|
||||
}
|
||||
|
||||
QStringList opts = ClangCodeModel::Utils::createClangOptions(pPart, fd.m_fileName);
|
||||
QStringList opts = Utils::createClangOptions(pPart, fd.m_fileName);
|
||||
if (!pchInfo.isNull())
|
||||
opts.append(Utils::createPCHInclusionOptions(pchInfo->fileName()));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user