#include #include #include namespace { using namespace clang; template auto f() { using type = typename T::type; return T::value; } TEST(test, test) { std::vector compileArgs = { "clang++", "-std=c++20", "main.cpp", "-resource-dir=/home/ykiko/C++/clice2/build/lib/clang/20", }; const char* code = R"( template struct X { using type = T; static constexpr bool value = true; }; template auto f() { using type = typename X::type::type; return T::value; } )"; auto AST = clice::ParsedAST::build("main.cpp", code, compileArgs); auto fileID = AST->getFileID("main.cpp"); AST->context.getTranslationUnitDecl()->dump(); auto semanticTokens = clice::feature::semanticTokens(*AST, "main.cpp"); } } // namespace