1 | #ifndef SASS_SOURCE_DATA_H |
2 | #define SASS_SOURCE_DATA_H |
3 | |
4 | #include "sass.hpp" |
5 | #include "memory.hpp" |
6 | |
7 | namespace Sass { |
8 | |
9 | class SourceSpan; |
10 | |
11 | class SourceData : |
12 | public SharedObj { |
13 | public: |
14 | SourceData(); |
15 | virtual size_t size() const = 0; |
16 | virtual size_t getSrcId() const = 0; |
17 | virtual const char* end() const = 0; |
18 | virtual const char* begin() const = 0; |
19 | virtual const char* getPath() const = 0; |
20 | // virtual Offset getPosition() const = 0; |
21 | virtual const char* getRawData() const = 0; |
22 | virtual SourceSpan getSourceSpan() = 0; |
23 | |
24 | sass::string to_string() const override { |
25 | return sass::string{ begin(), end() }; |
26 | } |
27 | ~SourceData() {} |
28 | }; |
29 | |
30 | } |
31 | |
32 | #endif |
33 | |