Browse Source

Removed some maybe-dangerous use of auto. Added DefaultFlags, and using this as default parameter to for instance ReparseTranslationUnit.

merge-requests/37/head
eidheim 11 years ago
parent
commit
4cec716eac
  1. 2
      src/CompileCommands.cc
  2. 2
      src/CompletionString.cc
  3. 11
      src/TranslationUnit.cc
  4. 9
      src/TranslationUnit.h

2
src/CompileCommands.cc

@ -17,7 +17,7 @@ std::vector<clang::CompileCommand> clang::CompileCommands::
get_commands() {
unsigned N = clang_CompileCommands_getSize(commands_);
std::vector<clang::CompileCommand> res;
for (auto i = 0; i < N; i++) {
for (unsigned i = 0; i < N; i++) {
res.emplace_back(clang::CompileCommand(i, this));
}
return res;

2
src/CompletionString.cc

@ -17,7 +17,7 @@ std::vector<clang::CompletionChunk> clang::CompletionString::
get_chunks() {
std::vector<clang::CompletionChunk> res;
if (clang_getCompletionAvailability(str_) == CXAvailability_Available) {
for (auto i = 0; i < get_num_chunks(); i++) {
for (size_t i = 0; i < get_num_chunks(); i++) {
res.emplace_back(clang_getCString(clang_getCompletionChunkText(str_, i)),
static_cast<CompletionChunkKind>
(clang_getCompletionChunkKind(str_, i)));

11
src/TranslationUnit.cc

@ -8,7 +8,6 @@ clang::TranslationUnit::
clang::TranslationUnit& clang::TranslationUnit::
operator=(const clang::TranslationUnit &tu) {
tu_ = tu.tu_;
flags = tu.flags;
return *this;
}
@ -43,7 +42,8 @@ clang::TranslationUnit::
TranslationUnit(clang::Index *index,
const std::string &filepath,
const std::vector<std::string> &command_line_args,
const std::map<std::string, std::string> &buffers) {
const std::map<std::string, std::string> &buffers,
unsigned flags) {
std::vector<CXUnsavedFile> files;
for (auto &buffer : buffers) {
CXUnsavedFile file;
@ -68,7 +68,8 @@ TranslationUnit(clang::Index *index,
int clang::TranslationUnit::
ReparseTranslationUnit(const std::string &file_path,
const std::map<std::string, std::string> &buffers) {
const std::map<std::string, std::string> &buffers,
unsigned flags) {
std::vector<CXUnsavedFile> files;
for (auto &buffer : buffers) {
CXUnsavedFile file;
@ -82,3 +83,7 @@ ReparseTranslationUnit(const std::string &file_path,
files.data(),
flags);
}
unsigned clang::TranslationUnit::DefaultFlags() {
return CXTranslationUnit_CacheCompletionResults | CXTranslationUnit_PrecompiledPreamble | CXTranslationUnit_Incomplete;
}

9
src/TranslationUnit.h

@ -23,7 +23,8 @@ namespace clang {
TranslationUnit(Index *index,
const std::string &filepath,
const std::vector<std::string> &command_line_args,
const std::map<std::string, std::string> &buffers);
const std::map<std::string, std::string> &buffers,
unsigned flags=DefaultFlags());
TranslationUnit(Index *index,
const std::string &filepath);
~TranslationUnit();
@ -31,8 +32,9 @@ namespace clang {
TranslationUnit& operator=(const TranslationUnit &tu);
int ReparseTranslationUnit(const std::string &file_path,
const std::map<std::string, std::string>
&buffers);
&buffers,
unsigned flags=DefaultFlags());
static unsigned DefaultFlags();
private:
friend Token;
friend Tokens;
@ -41,7 +43,6 @@ namespace clang {
friend Cursor;
friend CodeCompleteResults;
CXTranslationUnit tu_;
unsigned flags=CXTranslationUnit_CacheCompletionResults | CXTranslationUnit_PrecompiledPreamble | CXTranslationUnit_Incomplete;
};
} // namespace clang
#endif // TRANSLATIONUNIT_H_

Loading…
Cancel
Save