Browse Source

Fix to see if functions are available.

merge-requests/37/head
eidheim 11 years ago
parent
commit
fa122cc202
  1. 23
      src/CompletionString.cc
  2. 1
      src/CompletionString.h

23
src/CompletionString.cc

@ -5,23 +5,20 @@ CompletionString(const CXCompletionString &str) {
str_ = str;
}
int clang::CompletionString::
get_num_chunks() {
if (clang_getCompletionAvailability(str_) == CXAvailability_Available)
bool clang::CompletionString::available() {
return clang_getCompletionAvailability(str_) == CXAvailability_Available;
}
int clang::CompletionString::get_num_chunks() {
return clang_getNumCompletionChunks(str_);
else
return 0;
}
std::vector<clang::CompletionChunk> clang::CompletionString::
get_chunks() {
std::vector<clang::CompletionChunk> clang::CompletionString::get_chunks() {
std::vector<clang::CompletionChunk> res;
if (clang_getCompletionAvailability(str_) == CXAvailability_Available) {
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)));
}
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)));
}
return res;
}

1
src/CompletionString.h

@ -27,6 +27,7 @@ namespace clang {
class CompletionString {
public:
bool available();
std::vector<CompletionChunk> get_chunks();
std::string get_brief_comments();
int get_num_chunks();

Loading…
Cancel
Save