mirror of https://gitlab.com/cppit/libclangmm
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.
25 lines
715 B
25 lines
715 B
#ifndef TOKENS_H_ |
|
#define TOKENS_H_ |
|
#include <clang-c/Index.h> |
|
#include "SourceRange.h" |
|
#include "Token.h" |
|
#include <unordered_map> |
|
#include <vector> |
|
|
|
namespace clang { |
|
class Tokens : public std::vector<clang::Token> { |
|
friend class TranslationUnit; |
|
friend class Diagnostic; |
|
Tokens(CXTranslationUnit &cx_tu, const SourceRange &range); |
|
public: |
|
~Tokens(); |
|
std::vector<std::pair<unsigned, unsigned> > get_similar_token_offsets(clang::Token& token); |
|
std::vector<std::pair<std::string, unsigned> > get_cxx_methods(); |
|
private: |
|
CXToken *cx_tokens; |
|
unsigned num_tokens; |
|
std::vector<CXCursor> cx_cursors; |
|
CXTranslationUnit& cx_tu; |
|
}; |
|
} // namespace clang |
|
#endif // TOKENS_H_
|
|
|