some update.

This commit is contained in:
ykiko
2024-09-16 11:14:14 +08:00
parent b2fc464d86
commit 53aeb39f16
11 changed files with 217 additions and 117 deletions

View File

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

View File

@@ -1,44 +0,0 @@
#include <gtest/gtest.h>
#include <AST/ParsedAST.h>
#include <Feature/SemanticTokens.h>
namespace {
using namespace clang;
template <typename T>
auto f() {
using type = typename T::type;
return T::value;
}
TEST(test, test) {
std::vector<const char*> compileArgs = {
"clang++",
"-std=c++20",
"main.cpp",
"-resource-dir=/home/ykiko/C++/clice2/build/lib/clang/20",
};
const char* code = R"(
template<typename T>
struct X {
using type = T;
static constexpr bool value = true;
};
template <typename T>
auto f() {
using type = typename X<T>::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