You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
765 B

11 years ago
#ifndef TOKENS_H_
#define TOKENS_H_
#include <clang-c/Index.h>
11 years ago
#include "SourceRange.h"
#include "Token.h"
#include <unordered_map>
#include <vector>
11 years ago
namespace clang {
class Tokens : public std::vector<clang::Token> {
11 years ago
public:
Tokens(CXTranslationUnit &tu, SourceRange *range);
11 years ago
~Tokens();
void update_types();
std::string get_brief_comments(size_t cursor_id);
CXCursor find_referenced();
bool equalCursors(CXCursor a, CXCursor b);
void rename(CXCursor &referenced, std::unordered_map<std::string, std::unordered_multimap<unsigned, unsigned> > &ranges);
11 years ago
private:
11 years ago
CXToken *tokens_;
unsigned num_tokens_;
std::vector<CXCursor> clang_cursors;
CXTranslationUnit& tu;
11 years ago
};
} // namespace clang
#endif // TOKENS_H_