]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/source-file.hh
Imported Upstream version 2.19.45
[lilypond.git] / lily / include / source-file.hh
index 5f3553aea08c46e94a746ad410bfa3ec18d8d2e5..fc5bf2f54111c83b1bcf35aa8f9c7d5bd3526549 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1999--2012 Jan Nieuwenhuizen <janneke@gnu.org>
+  Copyright (C) 1999--2015 Jan Nieuwenhuizen <janneke@gnu.org>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -35,8 +35,14 @@ using namespace std;
    get_line (), get_word () here.
 */
 
-class Source_file
+class Source_file : public Smob<Source_file>
 {
+public:
+  int print_smob (SCM, scm_print_state *) const;
+  SCM mark_smob () const;
+  static const char * const type_p_name_;
+  virtual ~Source_file ();
+private:
   vector<char const *> newline_locations_;
   istream *istream_;
   vector<char> characters_;
@@ -46,7 +52,6 @@ class Source_file
   void init_port ();
   void init ();
 
-  DECLARE_SMOBS (Source_file);
 public:
   Source_file (const string &fn);
   Source_file (const string&, const string&);
@@ -61,7 +66,6 @@ public:
   string name_string () const;
   string file_line_column_string (char const *str0) const;
 
-public:
   Slice line_slice (char const *pos_str0) const;
   string line_string (char const *pos_str0) const;
   void get_counts (char const *pos_str0, int *, int *, int *, int *) const;
@@ -76,4 +80,3 @@ protected:
 vector<char> gulp_file (const string &fn, int desired);
 
 #endif /* SOURCE_FILE_HH */
-