const Diagnostic &getDiagnostic() const { return *Diags.get(); }
Diagnostic &getDiagnostic() { return *Diags.get(); }
+
+ const std::string &getOriginalSourceFileName();
/// \brief Create a ASTUnit from a PCH file.
///
} // anonymous namespace
+const std::string &ASTUnit::getOriginalSourceFileName() {
+ return dyn_cast<PCHReader>(Ctx->getExternalSource())->getOriginalSourceFile();
+}
ASTUnit *ASTUnit::LoadFromPCHFile(const std::string &Filename,
FileManager &FileMgr,
const char *clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit)
{
assert(CTUnit && "Passed null CXTranslationUnit");
- //ASTUnit *CXXUnit = static_cast<ASTUnit *>(CTUnit);
- //return CXXUnit->getOriginalSourceFileName().c_str();
- return "<unimplemented>";
+ ASTUnit *CXXUnit = static_cast<ASTUnit *>(CTUnit);
+ return CXXUnit->getOriginalSourceFileName().c_str();
}
void clang_loadTranslationUnit(CXTranslationUnit CTUnit,