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<Module> get upstream;

    // The module's variables.
    // Map<String, Value> get variables;

    // The module's functions. Implementations must ensure
    // that each [Callable] is stored under its own name.
    // Map<String, Callable> get functions;

    // The module's mixins. Implementations must ensure that
    // each [Callable] is stored under its own name.
    // Map<String, Callable> 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