--- /dev/null
+#ifndef MSP_GL_SL_SOURCEMAP_H_
+#define MSP_GL_SL_SOURCEMAP_H_
+
+#include <string>
+#include <vector>
+
+namespace Msp {
+namespace GL {
+namespace SL {
+
+class SourceMap
+{
+private:
+ unsigned base_index;
+ std::vector<std::string> source_names;
+
+public:
+ SourceMap();
+
+ void set_name(unsigned, const std::string &);
+ unsigned get_count() const { return base_index+source_names.size(); }
+ void merge_from(const SourceMap &);
+ std::string translate_errors(const std::string &) const;
+};
+
+} // namespace SL
+} // namespace GL
+} // namespace Msp
+
+#endif