static int getTokenIndex(CXTranslationUnit tu, const Tokens &tokens, uint line, uint column) { int tokenIndex = -1; for (int i = static_cast<int>(tokens.tokenCount - 1); i >= 0; --i) { const SourceRange range(tu, clang_getTokenExtent(tu, tokens.data[i])); if (range.contains(line, column)) { tokenIndex = i; break; } } return tokenIndex; }