sassc 2.1.0.pre3 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/CHANGELOG.md +24 -0
  4. data/Rakefile +2 -4
  5. data/ext/extconf.rb +13 -5
  6. data/ext/libsass/VERSION +1 -1
  7. data/ext/libsass/include/sass/base.h +2 -1
  8. data/ext/libsass/include/sass/context.h +4 -0
  9. data/ext/libsass/src/MurmurHash2.hpp +91 -0
  10. data/ext/libsass/src/ast.cpp +158 -168
  11. data/ext/libsass/src/ast.hpp +389 -230
  12. data/ext/libsass/src/ast_def_macros.hpp +18 -10
  13. data/ext/libsass/src/ast_fwd_decl.cpp +4 -3
  14. data/ext/libsass/src/ast_fwd_decl.hpp +98 -165
  15. data/ext/libsass/src/ast_helpers.hpp +292 -0
  16. data/ext/libsass/src/ast_sel_cmp.cpp +219 -732
  17. data/ext/libsass/src/ast_sel_super.cpp +539 -0
  18. data/ext/libsass/src/ast_sel_unify.cpp +207 -212
  19. data/ext/libsass/src/ast_sel_weave.cpp +616 -0
  20. data/ext/libsass/src/ast_selectors.cpp +594 -1026
  21. data/ext/libsass/src/ast_selectors.hpp +339 -385
  22. data/ext/libsass/src/ast_supports.cpp +36 -52
  23. data/ext/libsass/src/ast_supports.hpp +29 -29
  24. data/ext/libsass/src/ast_values.cpp +271 -84
  25. data/ext/libsass/src/ast_values.hpp +116 -107
  26. data/ext/libsass/src/backtrace.cpp +9 -9
  27. data/ext/libsass/src/backtrace.hpp +5 -5
  28. data/ext/libsass/src/base64vlq.cpp +2 -2
  29. data/ext/libsass/src/base64vlq.hpp +1 -1
  30. data/ext/libsass/src/bind.cpp +18 -18
  31. data/ext/libsass/src/bind.hpp +1 -1
  32. data/ext/libsass/src/c2ast.cpp +3 -3
  33. data/ext/libsass/src/c2ast.hpp +1 -1
  34. data/ext/libsass/src/cencode.c +4 -6
  35. data/ext/libsass/src/check_nesting.cpp +40 -41
  36. data/ext/libsass/src/check_nesting.hpp +6 -2
  37. data/ext/libsass/src/color_maps.cpp +14 -13
  38. data/ext/libsass/src/color_maps.hpp +1 -9
  39. data/ext/libsass/src/constants.cpp +5 -0
  40. data/ext/libsass/src/constants.hpp +6 -0
  41. data/ext/libsass/src/context.cpp +92 -119
  42. data/ext/libsass/src/context.hpp +41 -53
  43. data/ext/libsass/src/cssize.cpp +66 -149
  44. data/ext/libsass/src/cssize.hpp +17 -23
  45. data/ext/libsass/src/dart_helpers.hpp +199 -0
  46. data/ext/libsass/src/debugger.hpp +451 -295
  47. data/ext/libsass/src/emitter.cpp +15 -16
  48. data/ext/libsass/src/emitter.hpp +10 -12
  49. data/ext/libsass/src/environment.cpp +27 -27
  50. data/ext/libsass/src/environment.hpp +29 -24
  51. data/ext/libsass/src/error_handling.cpp +62 -41
  52. data/ext/libsass/src/error_handling.hpp +61 -51
  53. data/ext/libsass/src/eval.cpp +167 -281
  54. data/ext/libsass/src/eval.hpp +27 -29
  55. data/ext/libsass/src/eval_selectors.cpp +75 -0
  56. data/ext/libsass/src/expand.cpp +275 -222
  57. data/ext/libsass/src/expand.hpp +36 -16
  58. data/ext/libsass/src/extender.cpp +1188 -0
  59. data/ext/libsass/src/extender.hpp +399 -0
  60. data/ext/libsass/src/extension.cpp +43 -0
  61. data/ext/libsass/src/extension.hpp +89 -0
  62. data/ext/libsass/src/file.cpp +81 -72
  63. data/ext/libsass/src/file.hpp +28 -37
  64. data/ext/libsass/src/fn_colors.cpp +20 -18
  65. data/ext/libsass/src/fn_lists.cpp +30 -29
  66. data/ext/libsass/src/fn_maps.cpp +3 -3
  67. data/ext/libsass/src/fn_miscs.cpp +34 -46
  68. data/ext/libsass/src/fn_numbers.cpp +20 -13
  69. data/ext/libsass/src/fn_selectors.cpp +98 -128
  70. data/ext/libsass/src/fn_strings.cpp +47 -33
  71. data/ext/libsass/src/fn_utils.cpp +31 -29
  72. data/ext/libsass/src/fn_utils.hpp +17 -11
  73. data/ext/libsass/src/inspect.cpp +186 -148
  74. data/ext/libsass/src/inspect.hpp +31 -29
  75. data/ext/libsass/src/lexer.cpp +20 -82
  76. data/ext/libsass/src/lexer.hpp +5 -16
  77. data/ext/libsass/src/listize.cpp +23 -37
  78. data/ext/libsass/src/listize.hpp +8 -9
  79. data/ext/libsass/src/mapping.hpp +1 -0
  80. data/ext/libsass/src/memory.hpp +12 -0
  81. data/ext/libsass/src/memory/allocator.cpp +48 -0
  82. data/ext/libsass/src/memory/allocator.hpp +138 -0
  83. data/ext/libsass/src/memory/config.hpp +20 -0
  84. data/ext/libsass/src/memory/memory_pool.hpp +186 -0
  85. data/ext/libsass/src/memory/{SharedPtr.cpp → shared_ptr.cpp} +2 -2
  86. data/ext/libsass/src/memory/{SharedPtr.hpp → shared_ptr.hpp} +55 -9
  87. data/ext/libsass/src/operation.hpp +71 -61
  88. data/ext/libsass/src/operators.cpp +19 -18
  89. data/ext/libsass/src/operators.hpp +11 -11
  90. data/ext/libsass/src/ordered_map.hpp +112 -0
  91. data/ext/libsass/src/output.cpp +45 -64
  92. data/ext/libsass/src/output.hpp +6 -6
  93. data/ext/libsass/src/parser.cpp +512 -700
  94. data/ext/libsass/src/parser.hpp +89 -97
  95. data/ext/libsass/src/parser_selectors.cpp +189 -0
  96. data/ext/libsass/src/permutate.hpp +164 -0
  97. data/ext/libsass/src/plugins.cpp +7 -7
  98. data/ext/libsass/src/plugins.hpp +8 -8
  99. data/ext/libsass/src/position.cpp +7 -26
  100. data/ext/libsass/src/position.hpp +44 -21
  101. data/ext/libsass/src/prelexer.cpp +6 -6
  102. data/ext/libsass/src/remove_placeholders.cpp +55 -56
  103. data/ext/libsass/src/remove_placeholders.hpp +21 -18
  104. data/ext/libsass/src/sass.cpp +16 -15
  105. data/ext/libsass/src/sass.hpp +10 -5
  106. data/ext/libsass/src/sass2scss.cpp +4 -4
  107. data/ext/libsass/src/sass_context.cpp +91 -122
  108. data/ext/libsass/src/sass_context.hpp +2 -2
  109. data/ext/libsass/src/sass_functions.cpp +1 -1
  110. data/ext/libsass/src/sass_values.cpp +8 -11
  111. data/ext/libsass/src/settings.hpp +19 -0
  112. data/ext/libsass/src/source.cpp +69 -0
  113. data/ext/libsass/src/source.hpp +95 -0
  114. data/ext/libsass/src/source_data.hpp +32 -0
  115. data/ext/libsass/src/source_map.cpp +22 -18
  116. data/ext/libsass/src/source_map.hpp +12 -9
  117. data/ext/libsass/src/stylesheet.cpp +22 -0
  118. data/ext/libsass/src/stylesheet.hpp +57 -0
  119. data/ext/libsass/src/to_value.cpp +2 -2
  120. data/ext/libsass/src/to_value.hpp +1 -1
  121. data/ext/libsass/src/units.cpp +24 -22
  122. data/ext/libsass/src/units.hpp +8 -8
  123. data/ext/libsass/src/utf8_string.cpp +9 -10
  124. data/ext/libsass/src/utf8_string.hpp +7 -6
  125. data/ext/libsass/src/util.cpp +48 -50
  126. data/ext/libsass/src/util.hpp +20 -21
  127. data/ext/libsass/src/util_string.cpp +111 -61
  128. data/ext/libsass/src/util_string.hpp +62 -8
  129. data/ext/libsass/src/values.cpp +12 -12
  130. data/lib/sassc/engine.rb +5 -3
  131. data/lib/sassc/functions_handler.rb +11 -13
  132. data/lib/sassc/native.rb +9 -7
  133. data/lib/sassc/script.rb +4 -6
  134. data/lib/sassc/version.rb +1 -1
  135. data/test/functions_test.rb +38 -1
  136. data/test/native_test.rb +4 -4
  137. metadata +31 -18
  138. data/ext/libsass/src/extend.cpp +0 -2132
  139. data/ext/libsass/src/extend.hpp +0 -86
  140. data/ext/libsass/src/node.cpp +0 -322
  141. data/ext/libsass/src/node.hpp +0 -118
  142. data/ext/libsass/src/paths.hpp +0 -71
  143. data/ext/libsass/src/sass_util.cpp +0 -152
  144. data/ext/libsass/src/sass_util.hpp +0 -256
  145. data/ext/libsass/src/subset_map.cpp +0 -58
  146. data/ext/libsass/src/subset_map.hpp +0 -76
  147. data/lib/sassc/native/lib_c.rb +0 -21
@@ -90,7 +90,7 @@ struct Sass_Context : Sass_Options
90
90
  char* error_file;
91
91
  size_t error_line;
92
92
  size_t error_column;
93
- const char* error_src;
93
+ char* error_src;
94
94
 
95
95
  // report imported files
96
96
  char** included_files;
@@ -126,4 +126,4 @@ struct Sass_Compiler {
126
126
  Sass::Block_Obj root;
127
127
  };
128
128
 
129
- #endif
129
+ #endif
@@ -101,7 +101,7 @@ extern "C" {
101
101
  }
102
102
 
103
103
  // Creator for a single import entry returned by the custom importer inside the list
104
- // We take ownership of the memory for source and srcmap (freed when context is destroyd)
104
+ // We take ownership of the memory for source and srcmap (freed when context is destroyed)
105
105
  Sass_Import_Entry ADDCALL sass_make_import(const char* imp_path, const char* abs_path, char* source, char* srcmap)
106
106
  {
107
107
  Sass_Import* v = (Sass_Import*) calloc(1, sizeof(Sass_Import));
@@ -6,7 +6,6 @@
6
6
  #include <cstring>
7
7
  #include "util.hpp"
8
8
  #include "eval.hpp"
9
- #include "values.hpp"
10
9
  #include "operators.hpp"
11
10
  #include "sass/values.h"
12
11
  #include "sass_values.hpp"
@@ -284,21 +283,21 @@ extern "C" {
284
283
 
285
284
  union Sass_Value* ADDCALL sass_value_stringify (const union Sass_Value* v, bool compressed, int precision)
286
285
  {
287
- Value_Obj val = sass_value_to_ast_node(v);
286
+ ValueObj val = sass_value_to_ast_node(v);
288
287
  Sass_Inspect_Options options(compressed ? COMPRESSED : NESTED, precision);
289
- std::string str(val->to_string(options));
288
+ sass::string str(val->to_string(options));
290
289
  return sass_make_qstring(str.c_str());
291
290
  }
292
291
 
293
292
  union Sass_Value* ADDCALL sass_value_op (enum Sass_OP op, const union Sass_Value* a, const union Sass_Value* b)
294
293
  {
295
294
 
296
- Sass::Value_Obj rv;
295
+ Sass::ValueObj rv;
297
296
 
298
297
  try {
299
298
 
300
- Value_Obj lhs = sass_value_to_ast_node(a);
301
- Value_Obj rhs = sass_value_to_ast_node(b);
299
+ ValueObj lhs = sass_value_to_ast_node(a);
300
+ ValueObj rhs = sass_value_to_ast_node(b);
302
301
  struct Sass_Inspect_Options options(NESTED, 5);
303
302
 
304
303
  // see if it's a relational expression
@@ -341,12 +340,10 @@ extern "C" {
341
340
  rv = Operators::op_colors(op, *l_c, *r_c, options, l_c->pstate());
342
341
  }
343
342
  else /* convert other stuff to string and apply operation */ {
344
- Value* l_v = Cast<Value>(lhs);
345
- Value* r_v = Cast<Value>(rhs);
346
- rv = Operators::op_strings(op, *l_v, *r_v, options, l_v->pstate());
343
+ rv = Operators::op_strings(op, *lhs, *rhs, options, lhs->pstate());
347
344
  }
348
345
 
349
- // ToDo: maybe we should should return null value?
346
+ // ToDo: maybe we should return null value?
350
347
  if (!rv) return sass_make_error("invalid return value");
351
348
 
352
349
  // convert result back to ast node
@@ -357,7 +354,7 @@ extern "C" {
357
354
  catch (Exception::InvalidSass& e) { return sass_make_error(e.what()); }
358
355
  catch (std::bad_alloc&) { return sass_make_error("memory exhausted"); }
359
356
  catch (std::exception& e) { return sass_make_error(e.what()); }
360
- catch (std::string& e) { return sass_make_error(e.c_str()); }
357
+ catch (sass::string& e) { return sass_make_error(e.c_str()); }
361
358
  catch (const char* e) { return sass_make_error(e); }
362
359
  catch (...) { return sass_make_error("unknown"); }
363
360
  }
@@ -0,0 +1,19 @@
1
+ #ifndef SASS_SETTINGS_H
2
+ #define SASS_SETTINGS_H
3
+
4
+ // Global compile time settings should go here
5
+
6
+ // When enabled we use our custom memory pool allocator
7
+ // With intense workloads this can double the performance
8
+ // Max memory usage mostly only grows by a slight amount
9
+ // #define SASS_CUSTOM_ALLOCATOR
10
+
11
+ // How many buckets should we have for the free-list
12
+ // Determines when allocations go directly to malloc/free
13
+ // For maximum size of managed items multiply by alignment
14
+ #define SassAllocatorBuckets 512
15
+
16
+ // The size of the memory pool arenas in bytes.
17
+ #define SassAllocatorArenaSize (1024 * 256)
18
+
19
+ #endif
@@ -0,0 +1,69 @@
1
+ #include <stdio.h>
2
+ #include <string.h>
3
+ #include "source.hpp"
4
+ #include "utf8/checked.h"
5
+ #include "position.hpp"
6
+
7
+ namespace Sass {
8
+
9
+ SourceData::SourceData()
10
+ : SharedObj()
11
+ {
12
+ }
13
+
14
+ SourceFile::SourceFile(
15
+ const char* path,
16
+ const char* data,
17
+ size_t srcid) :
18
+ SourceData(),
19
+ path(sass_copy_c_string(path)),
20
+ data(sass_copy_c_string(data)),
21
+ length(0),
22
+ srcid(srcid)
23
+ {
24
+ length = strlen(data);
25
+ }
26
+
27
+ SourceFile::~SourceFile() {
28
+ sass_free_memory(path);
29
+ sass_free_memory(data);
30
+ }
31
+
32
+ const char* SourceFile::end() const
33
+ {
34
+ return data + length;
35
+ }
36
+
37
+ const char* SourceFile::begin() const
38
+ {
39
+ return data;
40
+ }
41
+
42
+ const char* SourceFile::getRawData() const
43
+ {
44
+ return data;
45
+ }
46
+
47
+ SourceSpan SourceFile::getSourceSpan()
48
+ {
49
+ return SourceSpan(this);
50
+ }
51
+
52
+ ItplFile::ItplFile(const char* data, const SourceSpan& pstate) :
53
+ SourceFile(pstate.getPath(),
54
+ data, pstate.getSrcId()),
55
+ pstate(pstate)
56
+ {}
57
+
58
+ const char* ItplFile::getRawData() const
59
+ {
60
+ return pstate.getRawData();
61
+ }
62
+
63
+ SourceSpan ItplFile::getSourceSpan()
64
+ {
65
+ return SourceSpan(pstate);
66
+ }
67
+
68
+ }
69
+
@@ -0,0 +1,95 @@
1
+ #ifndef SASS_SOURCE_H
2
+ #define SASS_SOURCE_H
3
+
4
+ #include "sass.hpp"
5
+ #include "memory.hpp"
6
+ #include "position.hpp"
7
+ #include "source_data.hpp"
8
+
9
+ namespace Sass {
10
+
11
+ class SourceFile :
12
+ public SourceData {
13
+ protected:
14
+ char* path;
15
+ char* data;
16
+ size_t length;
17
+ size_t srcid;
18
+ public:
19
+
20
+ SourceFile(
21
+ const char* path,
22
+ const char* data,
23
+ size_t srcid);
24
+
25
+ ~SourceFile();
26
+
27
+ const char* end() const override final;
28
+ const char* begin() const override final;
29
+ virtual const char* getRawData() const override;
30
+ virtual SourceSpan getSourceSpan() override;
31
+
32
+ size_t size() const override final {
33
+ return length;
34
+ }
35
+
36
+ virtual const char* getPath() const override {
37
+ return path;
38
+ }
39
+
40
+ virtual size_t getSrcId() const override {
41
+ return srcid;
42
+ }
43
+
44
+ };
45
+
46
+ class SynthFile :
47
+ public SourceData {
48
+ protected:
49
+ const char* path;
50
+ public:
51
+
52
+ SynthFile(
53
+ const char* path) :
54
+ path(path)
55
+ {}
56
+
57
+ ~SynthFile() {}
58
+
59
+ const char* end() const override final { return nullptr; }
60
+ const char* begin() const override final { return nullptr; };
61
+ virtual const char* getRawData() const override { return nullptr; };
62
+ virtual SourceSpan getSourceSpan() override { return SourceSpan(path); };
63
+
64
+ size_t size() const override final {
65
+ return 0;
66
+ }
67
+
68
+ virtual const char* getPath() const override {
69
+ return path;
70
+ }
71
+
72
+ virtual size_t getSrcId() const override {
73
+ return std::string::npos;
74
+ }
75
+
76
+ };
77
+
78
+
79
+ class ItplFile :
80
+ public SourceFile {
81
+ private:
82
+ SourceSpan pstate;
83
+ public:
84
+
85
+ ItplFile(const char* data,
86
+ const SourceSpan& pstate);
87
+
88
+ // Offset getPosition() const override final;
89
+ const char* getRawData() const override final;
90
+ SourceSpan getSourceSpan() override final;
91
+ };
92
+
93
+ }
94
+
95
+ #endif
@@ -0,0 +1,32 @@
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
@@ -15,13 +15,13 @@
15
15
 
16
16
  namespace Sass {
17
17
  SourceMap::SourceMap() : current_position(0, 0, 0), file("stdin") { }
18
- SourceMap::SourceMap(const std::string& file) : current_position(0, 0, 0), file(file) { }
18
+ SourceMap::SourceMap(const sass::string& file) : current_position(0, 0, 0), file(file) { }
19
19
 
20
- std::string SourceMap::render_srcmap(Context &ctx) {
20
+ sass::string SourceMap::render_srcmap(Context &ctx) {
21
21
 
22
22
  const bool include_sources = ctx.c_options.source_map_contents;
23
- const std::vector<std::string> links = ctx.srcmap_links;
24
- const std::vector<Resource>& sources(ctx.resources);
23
+ const sass::vector<sass::string> links = ctx.srcmap_links;
24
+ const sass::vector<Resource>& sources(ctx.resources);
25
25
 
26
26
  JsonNode* json_srcmap = json_mkobject();
27
27
 
@@ -39,7 +39,7 @@ namespace Sass {
39
39
 
40
40
  JsonNode *json_sources = json_mkarray();
41
41
  for (size_t i = 0; i < source_index.size(); ++i) {
42
- std::string source(links[source_index[i]]);
42
+ sass::string source(links[source_index[i]]);
43
43
  if (ctx.c_options.source_map_file_urls) {
44
44
  source = File::rel2abs(source);
45
45
  // check for windows abs path
@@ -72,19 +72,19 @@ namespace Sass {
72
72
  // no problem as we do not alter any identifiers
73
73
  json_append_member(json_srcmap, "names", json_names);
74
74
 
75
- std::string mappings = serialize_mappings();
75
+ sass::string mappings = serialize_mappings();
76
76
  JsonNode *json_mappings = json_mkstring(mappings.c_str());
77
77
  json_append_member(json_srcmap, "mappings", json_mappings);
78
78
 
79
79
  char *str = json_stringify(json_srcmap, "\t");
80
- std::string result = std::string(str);
80
+ sass::string result = sass::string(str);
81
81
  free(str);
82
82
  json_delete(json_srcmap);
83
83
  return result;
84
84
  }
85
85
 
86
- std::string SourceMap::serialize_mappings() {
87
- std::string result = "";
86
+ sass::string SourceMap::serialize_mappings() {
87
+ sass::string result = "";
88
88
 
89
89
  size_t previous_generated_line = 0;
90
90
  size_t previous_generated_column = 0;
@@ -101,7 +101,7 @@ namespace Sass {
101
101
  if (generated_line != previous_generated_line) {
102
102
  previous_generated_column = 0;
103
103
  if (generated_line > previous_generated_line) {
104
- result += std::string(generated_line - previous_generated_line, ';');
104
+ result += sass::string(generated_line - previous_generated_line, ';');
105
105
  previous_generated_line = generated_line;
106
106
  }
107
107
  }
@@ -175,23 +175,27 @@ namespace Sass {
175
175
 
176
176
  void SourceMap::add_open_mapping(const AST_Node* node)
177
177
  {
178
- mappings.push_back(Mapping(node->pstate(), current_position));
178
+ const SourceSpan& span(node->pstate());
179
+ Position from(span.getSrcId(), span.position);
180
+ mappings.push_back(Mapping(from, current_position));
179
181
  }
180
182
 
181
183
  void SourceMap::add_close_mapping(const AST_Node* node)
182
184
  {
183
- mappings.push_back(Mapping(node->pstate() + node->pstate().offset, current_position));
185
+ const SourceSpan& span(node->pstate());
186
+ Position to(span.getSrcId(), span.position + span.offset);
187
+ mappings.push_back(Mapping(to, current_position));
184
188
  }
185
189
 
186
- ParserState SourceMap::remap(const ParserState& pstate) {
190
+ SourceSpan SourceMap::remap(const SourceSpan& pstate) {
187
191
  for (size_t i = 0; i < mappings.size(); ++i) {
188
192
  if (
189
- mappings[i].generated_position.file == pstate.file &&
190
- mappings[i].generated_position.line == pstate.line &&
191
- mappings[i].generated_position.column == pstate.column
192
- ) return ParserState(pstate.path, pstate.src, mappings[i].original_position, pstate.offset);
193
+ mappings[i].generated_position.file == pstate.getSrcId() &&
194
+ mappings[i].generated_position.line == pstate.position.line &&
195
+ mappings[i].generated_position.column == pstate.position.column
196
+ ) return SourceSpan(pstate.source, mappings[i].original_position, pstate.offset);
193
197
  }
194
- return ParserState(pstate.path, pstate.src, Position(-1, -1, -1), Offset(0, 0));
198
+ return SourceSpan(pstate.source, Position(-1, -1, -1), Offset(0, 0));
195
199
 
196
200
  }
197
201
 
@@ -9,6 +9,9 @@
9
9
  #include "position.hpp"
10
10
  #include "mapping.hpp"
11
11
 
12
+ #include "backtrace.hpp"
13
+ #include "memory.hpp"
14
+
12
15
  #define VECTOR_PUSH(vec, ins) vec.insert(vec.end(), ins.begin(), ins.end())
13
16
  #define VECTOR_UNSHIFT(vec, ins) vec.insert(vec.begin(), ins.begin(), ins.end())
14
17
 
@@ -20,9 +23,9 @@ namespace Sass {
20
23
  class SourceMap {
21
24
 
22
25
  public:
23
- std::vector<size_t> source_index;
26
+ sass::vector<size_t> source_index;
24
27
  SourceMap();
25
- SourceMap(const std::string& file);
28
+ SourceMap(const sass::string& file);
26
29
 
27
30
  void append(const Offset& offset);
28
31
  void prepend(const Offset& offset);
@@ -31,17 +34,17 @@ namespace Sass {
31
34
  void add_open_mapping(const AST_Node* node);
32
35
  void add_close_mapping(const AST_Node* node);
33
36
 
34
- std::string render_srcmap(Context &ctx);
35
- ParserState remap(const ParserState& pstate);
37
+ sass::string render_srcmap(Context &ctx);
38
+ SourceSpan remap(const SourceSpan& pstate);
36
39
 
37
40
  private:
38
41
 
39
- std::string serialize_mappings();
42
+ sass::string serialize_mappings();
40
43
 
41
- std::vector<Mapping> mappings;
44
+ sass::vector<Mapping> mappings;
42
45
  Position current_position;
43
46
  public:
44
- std::string file;
47
+ sass::string file;
45
48
  private:
46
49
  Base64VLQ base64vlq;
47
50
  };
@@ -49,11 +52,11 @@ private:
49
52
  class OutputBuffer {
50
53
  public:
51
54
  OutputBuffer(void)
52
- : buffer(""),
55
+ : buffer(),
53
56
  smap()
54
57
  { }
55
58
  public:
56
- std::string buffer;
59
+ sass::string buffer;
57
60
  SourceMap smap;
58
61
  };
59
62