Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/austingebauer/devise.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/node-sass/src/libsass/src/environment.hpp')
-rw-r--r--node_modules/node-sass/src/libsass/src/environment.hpp113
1 files changed, 0 insertions, 113 deletions
diff --git a/node_modules/node-sass/src/libsass/src/environment.hpp b/node_modules/node-sass/src/libsass/src/environment.hpp
deleted file mode 100644
index a6939be..0000000
--- a/node_modules/node-sass/src/libsass/src/environment.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef SASS_ENVIRONMENT_H
-#define SASS_ENVIRONMENT_H
-
-#include <string>
-#include "ast_fwd_decl.hpp"
-#include "ast_def_macros.hpp"
-
-namespace Sass {
-
- typedef environment_map<std::string, AST_Node_Obj>::iterator EnvIter;
-
- class EnvResult {
- public:
- EnvIter it;
- bool found;
- public:
- EnvResult(EnvIter it, bool found)
- : it(it), found(found) {}
- };
-
- template <typename T>
- class Environment {
- // TODO: test with map
- environment_map<std::string, T> local_frame_;
- ADD_PROPERTY(Environment*, parent)
- ADD_PROPERTY(bool, is_shadow)
-
- public:
- Environment(bool is_shadow = false);
- Environment(Environment* env, bool is_shadow = false);
- Environment(Environment& env, bool is_shadow = false);
-
- // link parent to create a stack
- void link(Environment& env);
- void link(Environment* env);
-
- // this is used to find the global frame
- // which is the second last on the stack
- bool is_lexical() const;
-
- // only match the real root scope
- // there is still a parent around
- // not sure what it is actually use for
- // I guess we store functions etc. there
- bool is_global() const;
-
- // scope operates on the current frame
-
- environment_map<std::string, T>& local_frame();
-
- bool has_local(const std::string& key) const;
-
- EnvResult find_local(const std::string& key);
-
- T& get_local(const std::string& key);
-
- // set variable on the current frame
- void set_local(const std::string& key, const T& val);
- void set_local(const std::string& key, T&& val);
-
- void del_local(const std::string& key);
-
- // global operates on the global frame
- // which is the second last on the stack
- Environment* global_env();
- // get the env where the variable already exists
- // if it does not yet exist, we return current env
- Environment* lexical_env(const std::string& key);
-
- bool has_global(const std::string& key);
-
- T& get_global(const std::string& key);
-
- // set a variable on the global frame
- void set_global(const std::string& key, const T& val);
- void set_global(const std::string& key, T&& val);
-
- void del_global(const std::string& key);
-
- // see if we have a lexical variable
- // move down the stack but stop before we
- // reach the global frame (is not included)
- bool has_lexical(const std::string& key) const;
-
- // see if we have a lexical we could update
- // either update already existing lexical value
- // or we create a new one on the current frame
- void set_lexical(const std::string& key, T&& val);
- void set_lexical(const std::string& key, const T& val);
-
- // look on the full stack for key
- // include all scopes available
- bool has(const std::string& key) const;
-
- // look on the full stack for key
- // include all scopes available
- EnvResult find(const std::string& key);
-
- // use array access for getter and setter functions
- T& operator[](const std::string& key);
-
- #ifdef DEBUG
- size_t print(std::string prefix = "");
- #endif
-
- };
-
- // define typedef for our use case
- typedef Environment<AST_Node_Obj> Env;
-
-}
-
-#endif