diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp
index b181b01f74b92032d9353a5d3fbb3efde6986494..1d9cafc52ad3ddf3ad5208e3e53cbadb309ad385 100644
--- a/src/libs/cplusplus/CppDocument.cpp
+++ b/src/libs/cplusplus/CppDocument.cpp
@@ -242,6 +242,9 @@ Document::Ptr Document::create(const QString &fileName)
     return doc;
 }
 
+QByteArray Document::source() const
+{ return _source; }
+
 void Document::setSource(const QByteArray &source)
 {
     _source = source;
diff --git a/src/libs/cplusplus/CppDocument.h b/src/libs/cplusplus/CppDocument.h
index e5ead401417d586d6d97efadab11da45de75d66d..71d203f88a4fe5500d965c0ec9739cc4b7689a7b 100644
--- a/src/libs/cplusplus/CppDocument.h
+++ b/src/libs/cplusplus/CppDocument.h
@@ -85,7 +85,9 @@ public:
 
     Symbol *findSymbolAt(unsigned line, unsigned column) const;
 
+    QByteArray source() const;
     void setSource(const QByteArray &source);
+
     void startSkippingBlocks(unsigned offset);
     void stopSkippingBlocks(unsigned offset);