#ifndef SASS_STYLESHEET_H #define SASS_STYLESHEET_H // sass.hpp must go before all system headers to get the // __EXTENSIONS__ fix on Solaris. #include "sass.hpp" #include "ast_fwd_decl.hpp" #include "extender.hpp" #include "file.hpp" namespace Sass { // parsed stylesheet from loaded resource // this should be a `Module` for sass 4.0 class StyleSheet : public Resource { public: // The canonical URL for this module's source file. This may be `null` // if the module was loaded from a string without a URL provided. // Uri get url; // Modules that this module uses. // List get upstream; // The module's variables. // Map get variables; // The module's functions. Implementations must ensure // that each [Callable] is stored under its own name. // Map get functions; // The module's mixins. Implementations must ensure that // each [Callable] is stored under its own name. // Map get mixins; // The extensions defined in this module, which is also able to update // [css]'s style rules in-place based on downstream extensions. // Extender extender; // The module's CSS tree. Block_Obj root; public: // default argument constructor StyleSheet(const Resource& res, Block_Obj root); // Copy constructor StyleSheet(const StyleSheet& res); }; } #endif