1 | #ifndef SASS_STYLESHEET_H |
2 | #define SASS_STYLESHEET_H |
3 | |
4 | // sass.hpp must go before all system headers to get the |
5 | // __EXTENSIONS__ fix on Solaris. |
6 | #include "sass.hpp" |
7 | |
8 | #include "ast_fwd_decl.hpp" |
9 | #include "extender.hpp" |
10 | #include "file.hpp" |
11 | |
12 | namespace Sass { |
13 | |
14 | // parsed stylesheet from loaded resource |
15 | // this should be a `Module` for sass 4.0 |
16 | class StyleSheet : public Resource { |
17 | public: |
18 | |
19 | // The canonical URL for this module's source file. This may be `null` |
20 | // if the module was loaded from a string without a URL provided. |
21 | // Uri get url; |
22 | |
23 | // Modules that this module uses. |
24 | // List<Module> get upstream; |
25 | |
26 | // The module's variables. |
27 | // Map<String, Value> get variables; |
28 | |
29 | // The module's functions. Implementations must ensure |
30 | // that each [Callable] is stored under its own name. |
31 | // Map<String, Callable> get functions; |
32 | |
33 | // The module's mixins. Implementations must ensure that |
34 | // each [Callable] is stored under its own name. |
35 | // Map<String, Callable> get mixins; |
36 | |
37 | // The extensions defined in this module, which is also able to update |
38 | // [css]'s style rules in-place based on downstream extensions. |
39 | // Extender extender; |
40 | |
41 | // The module's CSS tree. |
42 | Block_Obj root; |
43 | |
44 | public: |
45 | |
46 | // default argument constructor |
47 | StyleSheet(const Resource& res, Block_Obj root); |
48 | |
49 | // Copy constructor |
50 | StyleSheet(const StyleSheet& res); |
51 | |
52 | }; |
53 | |
54 | |
55 | } |
56 | |
57 | #endif |
58 | |