X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Finput.hh;h=7177baad0ad06dedd5bc847049c3de33a83882fa;hb=3d333f46096e20f6f38ab128d31c001a72c14ae3;hp=af9dcff3e6b56280ba1c300a4dc80914c4ceb8c1;hpb=f93e4199873c91ae32f0e84a610d14853dc379df;p=lilypond.git diff --git a/lily/include/input.hh b/lily/include/input.hh index af9dcff3e6..7177baad0a 100644 --- a/lily/include/input.hh +++ b/lily/include/input.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2011 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,26 +21,32 @@ #define INPUT_HH #include "lily-proto.hh" +#include "smobs.hh" /** Base class for anything that records its poisition in the parse file. */ -class Input +class Input : public Simple_smob { char const *start_; char const *end_; Source_file *source_file_; public: + static const char type_p_name_[]; + int print_smob (SCM, scm_print_state *) const; + static SCM equal_p (SCM, SCM); + SCM mark_smob () const; Source_file *get_source_file () const; char const *start () const; char const *end () const; void set (Source_file *, char const *, char const *); - void warning (string) const; - void programming_error (string) const; - void non_fatal_error (string) const; - void error (string) const; - void message (string) const; + void error (const string&) const; + void programming_error (const string&) const; + void non_fatal_error (const string&) const; + void warning (const string&) const; + void message (const string&) const; + void debug_output (const string&) const; void set_spot (Input const &); void step_forward (); void set_location (Input const &, Input const &); @@ -60,13 +66,11 @@ public: Input (Input const &i); Input (); +protected: + string message_location () const; + string message_string (const string &msg) const; }; -#include "smobs.hh" - -SCM make_input (Input spot); -Input *unsmob_input (SCM); - extern Input dummy_input_global; #endif // INPUT_HH