X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Fsourcemap.cpp;h=6c4dd476289736e7778f2cc3d371f7980efd2f60;hp=e74f1b67408367ab2ff2a3a28c6381b6aa54656e;hb=38712d8ecc57d043a2419ffbaeeb57f7a6586f14;hpb=9d798ac368bfd236a7632a3a15e51bd1112ea63d diff --git a/source/glsl/sourcemap.cpp b/source/glsl/sourcemap.cpp index e74f1b67..6c4dd476 100644 --- a/source/glsl/sourcemap.cpp +++ b/source/glsl/sourcemap.cpp @@ -9,11 +9,7 @@ namespace Msp { namespace GL { namespace SL { -SourceMap::SourceMap(): - base_index(0) -{ } - -void SourceMap::set_name(unsigned i, const std::string &n) +void SourceMap::set_name(unsigned i, const string &n) { if(source_names.empty()) base_index = i; @@ -29,6 +25,16 @@ void SourceMap::set_name(unsigned i, const std::string &n) source_names[i] = n; } +const string &SourceMap::get_name(unsigned i) const +{ + i -= base_index; + if(i lines = split(errors, '\n'); string translated; - for(vector::const_iterator i=lines.begin(); i!=lines.end(); ++i) + for(const string &l: lines) { - RegMatch m = r_message.match(*i); + RegMatch m = r_message.match(l); if(m) { unsigned index = 0; @@ -72,7 +78,7 @@ string SourceMap::translate_errors(const string &errors) const translated += format("%s:%d: %s", src, line, m[6].str); } else - translated += *i; + translated += l; translated += '\n'; }