Ejemplo n.º 1
0
CXTranslationUnit ClangUtils::LoadTU(CXIndex index, const ClangCacheEntry& entry)
{
	if(entry.IsOk() == false)
		return NULL;
	
	return clang_createTranslationUnit(index, entry.fileTU.mb_str(wxConvUTF8).data());
}
Ejemplo n.º 2
0
static unsigned CreateTranslationUnit(CXIndex Idx, const char *file,
                                      CXTranslationUnit *TU) {

  *TU = clang_createTranslationUnit(Idx, file);
  if (!TU) {
    fprintf(stderr, "Unable to load translation unit from '%s'!\n", file);
    return 0;
  }
  return 1;
}
/**
 * This constructor can be used to load previously translated and saved unit:
 * the typical way is to load a PCH files
 */
TranslationUnit::TranslationUnit(
    CXIndex index
  , const KUrl& filename_url
  )
  : m_filename(filename_url.toLocalFile().toUtf8())
  , m_unit(clang_createTranslationUnit(index, m_filename.constData()))
{
    if (!m_unit)
        throw Exception::LoadFailure(
            i18nc("@item:intext", "Fail to load a preparsed file").toAscii().constData()
          );
}
Ejemplo n.º 4
0
int main(int argc, char* argv[])
{

	CXString version = clang_getClangVersion();
	printf("%s\n", clang_getCString(version));
	clang_disposeString(version);

	CXIndex index = clang_createIndex(1, 1);
	CXTranslationUnit tu = clang_createTranslationUnit(index, argv[1]);
	if (tu) {
		clang_visitChildren(clang_getTranslationUnitCursor(tu), visitor, argv[2]);
		clang_disposeTranslationUnit(tu);
	}

	clang_disposeIndex(index);

	return 0;

}
TEST(libclang, clang_createTranslationUnit_InvalidArgs) {
  EXPECT_EQ(0, clang_createTranslationUnit(0, 0));
}
Ejemplo n.º 6
0
TEST(libclang, clang_createTranslationUnit_InvalidArgs) {
  EXPECT_EQ(nullptr, clang_createTranslationUnit(nullptr, nullptr));
}