X-Git-Url: http://git.tdb.fi/?p=libs%2Fdatafile.git;a=blobdiff_plain;f=source%2Floader.h;h=4a1faa3f7af650ff4f4ec3726cc768fea77255cb;hp=416bda012dde1992e42417b3912f42721344da08;hb=b0b9af7216560da2a46ea38fe2df959f4dfb126f;hpb=d87f58bb5d86ff73fca840d448d1c330fd6aa905 diff --git a/source/loader.h b/source/loader.h index 416bda0..4a1faa3 100644 --- a/source/loader.h +++ b/source/loader.h @@ -3,7 +3,6 @@ #include #include -#include "except.h" #include "loaderaction.h" #include "parser.h" #include "statement.h" @@ -52,15 +51,12 @@ private: const Statement *cur_st; bool sub_loaded; protected: - bool allow_pointer_reload; bool check_sub_loads; Loader(); public: virtual ~Loader(); - bool is_pointer_reload_allowed() const { return allow_pointer_reload; } - /** Loads statements from a parser. */ void load(Parser &p); @@ -141,12 +137,10 @@ protected: /** Returns the source of the statement being processed. This can be used to implement relative paths in include-like statements. Note that the source may not necessarily be a file. */ - const std::string &get_source() const - { - if(!cur_st) - throw InvalidState("get_source called without current statement"); - return cur_st->source; - } + const std::string &get_source() const; + + /** Throws a data_error from the current line. */ + void error(const std::string &) const; virtual void finish() { } };