zuora_connect_ui 0.8.2 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/zuora_connect_ui.js +1 -0
- data/app/assets/javascripts/zuora_connect_ui/util.js +51 -0
- data/app/assets/stylesheets/_zuora_connect_ui.scss +4 -6
- data/app/assets/stylesheets/zuora_connect_ui/datatables.scss +3 -3
- data/app/helpers/zuora_connect_ui/application_helper.rb +28 -4
- data/app/views/partials/_table.html.erb +16 -7
- data/lib/zuora_connect_ui/version.rb +1 -1
- data/vendor/ruby/2.6.0/cache/autoprefixer-rails-9.6.1.1.gem +0 -0
- data/vendor/ruby/2.6.0/cache/parser-2.6.4.1.gem +0 -0
- data/vendor/ruby/2.6.0/cache/sassc-2.2.0.gem +0 -0
- data/vendor/ruby/2.6.0/cache/zeitwerk-2.1.10.gem +0 -0
- data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/gem.build_complete +0 -0
- data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/gem_make.out +75 -0
- data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/sassc/libsass.so +0 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/CHANGELOG.md +1085 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/Gemfile +10 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/LICENSE +20 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/README.md +237 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/Rakefile +53 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/autoprefixer-rails.gemspec +32 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails.rb +41 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/processor.rb +194 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/railtie.rb +50 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/result.rb +24 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/sprockets.rb +62 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/version.rb +3 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/rake/autoprefixer_tasks.rb +28 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/Rakefile +2 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/config/manifest.js +0 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/evaluate.css.erb +1 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/loaded.sass +2 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/sass.sass +1 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/test.css +3 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/wrong.css +2 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/controllers/application_controller.rb +2 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/controllers/css_controller.rb +6 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config.ru +2 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/application.rb +16 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/autoprefixer.yml +2 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/boot.rb +2 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/environment.rb +3 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/environments/test.rb +9 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/initializers/secret_token.rb +1 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/routes.rb +3 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/autoprefixer_spec.rb +121 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/processor_spec.rb +25 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/rails_spec.rb +40 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/railtie_spec.rb +29 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/spec_helper.rb +16 -0
- data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/vendor/autoprefixer.js +67195 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/CHANGELOG.md +909 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/CONTRIBUTING.md +17 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/Gemfile +10 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/LICENSE.txt +25 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/README.md +301 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/Rakefile +166 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/bin/ruby-parse +7 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/bin/ruby-rewrite +7 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/ci/run_rubocop_specs +14 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/AST_FORMAT.md +1816 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/CUSTOMIZATION.md +37 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/INTERNALS.md +21 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/css/common.css +68 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/gauntlet_parser.rb +123 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser.rb +82 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/all.rb +12 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ast/node.rb +40 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ast/processor.rb +264 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/base.rb +270 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/builders/default.rb +1741 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/clobbering_error.rb +13 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/color.rb +32 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/context.rb +59 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/current.rb +92 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/deprecation.rb +13 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/diagnostic.rb +163 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/diagnostic/engine.rb +105 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer.rb +23546 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer.rl +2503 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/dedenter.rb +79 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/explanation.rb +55 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/literal.rb +269 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/max_numparam_stack.rb +42 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/stack_state.rb +49 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/macruby.rb +6124 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/macruby.y +2198 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/messages.rb +90 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/meta.rb +33 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rewriter.rb +105 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby18.rb +5661 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby18.y +1934 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby19.rb +6084 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby19.y +2175 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby20.rb +6511 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby20.y +2353 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby21.rb +6570 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby21.y +2357 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby22.rb +6605 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby22.y +2364 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby23.rb +6624 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby23.y +2370 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby24.rb +6689 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby24.y +2408 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby25.rb +6656 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby25.y +2405 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby26.rb +6670 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby26.y +2413 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby27.rb +6893 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby27.y +2470 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rubymotion.rb +6078 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rubymotion.y +2182 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner.rb +253 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner/ruby_parse.rb +157 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner/ruby_rewrite.rb +101 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/buffer.rb +330 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/comment.rb +121 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/comment/associator.rb +210 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map.rb +186 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/collection.rb +18 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/condition.rb +21 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/constant.rb +32 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/definition.rb +23 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/for.rb +19 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/heredoc.rb +19 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/index.rb +33 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/keyword.rb +20 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/objc_kwarg.rb +19 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/operator.rb +17 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/rescue_body.rb +21 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/send.rb +36 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/ternary.rb +18 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/variable.rb +31 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/range.rb +310 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/rewriter.rb +513 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/rewriter/action.rb +44 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/tree_rewriter.rb +301 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/tree_rewriter/action.rb +133 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/static_environment.rb +46 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/syntax_error.rb +21 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/tree_rewriter.rb +134 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/version.rb +5 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/parser.gemspec +51 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/fixtures/input.rb +5 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/fixtures/output.rb +5 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/rewriter.rb +20 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/helper.rb +59 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/parse_helper.rb +316 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/racc_coverage_helper.rb +133 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_base.rb +31 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_current.rb +29 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_diagnostic.rb +96 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_diagnostic_engine.rb +62 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_encoding.rb +99 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_lexer.rb +3659 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_lexer_stack_state.rb +78 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_parse_helper.rb +80 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_parser.rb +7579 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_runner_parse.rb +35 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_runner_rewrite.rb +47 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_buffer.rb +162 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_comment.rb +36 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_comment_associator.rb +367 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_map.rb +15 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_range.rb +172 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_rewriter.rb +541 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_rewriter_action.rb +46 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_tree_rewriter.rb +173 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_static_environment.rb +45 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/fixtures/input.rb +3 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/fixtures/output.rb +3 -0
- data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/using_tree_rewriter.rb +9 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/CHANGELOG.md +77 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/CODE_OF_CONDUCT.md +10 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/Gemfile +2 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/LICENSE.txt +22 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/README.md +68 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/Rakefile +53 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/Makefile +271 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/SharedPtr.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast2c.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_fwd_decl.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_sel_cmp.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_sel_unify.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_selectors.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_supports.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_values.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/backtrace.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/base64vlq.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/bind.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/c2ast.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/c99func.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/cencode.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/check_nesting.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/color_maps.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/constants.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/context.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/cssize.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/depend +4 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/emitter.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/environment.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/error_handling.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/eval.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/expand.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/extconf.rb +84 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/extend.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/file.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_colors.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_lists.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_maps.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_miscs.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_numbers.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_selectors.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_strings.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_utils.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/inspect.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/json.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/lexer.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass.so +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/VERSION +1 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/contrib/plugin.cpp +60 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass.h +15 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/base.h +96 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/context.h +170 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/functions.h +139 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/values.h +145 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/version.h +12 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass2scss.h +120 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast.cpp +963 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast.hpp +905 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast2c.cpp +80 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast2c.hpp +39 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_def_macros.hpp +132 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_fwd_decl.cpp +30 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_fwd_decl.hpp +341 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_sel_cmp.cpp +909 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_sel_unify.cpp +280 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_selectors.cpp +1475 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_selectors.hpp +568 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_supports.cpp +130 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_supports.hpp +121 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_values.cpp +967 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_values.hpp +489 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/b64/cencode.h +32 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/b64/encode.h +79 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/backtrace.cpp +50 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/backtrace.hpp +29 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/base64vlq.cpp +47 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/base64vlq.hpp +30 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/bind.cpp +312 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/bind.hpp +15 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c2ast.cpp +64 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c2ast.hpp +14 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c99func.c +54 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cencode.c +108 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/check_nesting.cpp +394 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/check_nesting.hpp +66 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/color_maps.cpp +651 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/color_maps.hpp +331 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/constants.cpp +194 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/constants.hpp +194 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/context.cpp +890 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/context.hpp +152 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cssize.cpp +604 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cssize.hpp +77 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/debug.hpp +43 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/debugger.hpp +807 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/emitter.cpp +298 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/emitter.hpp +103 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/environment.cpp +260 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/environment.hpp +119 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/error_handling.cpp +212 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/error_handling.hpp +229 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/eval.cpp +1657 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/eval.hpp +112 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/expand.cpp +822 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/expand.hpp +78 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/extend.cpp +2132 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/extend.hpp +86 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/file.cpp +522 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/file.hpp +133 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_colors.cpp +594 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_colors.hpp +85 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_lists.cpp +284 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_lists.hpp +34 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_maps.cpp +94 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_maps.hpp +30 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_miscs.cpp +256 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_miscs.hpp +40 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_numbers.cpp +220 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_numbers.hpp +45 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_selectors.cpp +235 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_selectors.hpp +35 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_strings.cpp +254 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_strings.hpp +34 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_utils.cpp +156 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_utils.hpp +56 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/inspect.cpp +1087 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/inspect.hpp +99 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/json.cpp +1436 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/json.hpp +117 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/kwd_arg_macros.hpp +28 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/lexer.cpp +184 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/lexer.hpp +315 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/listize.cpp +84 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/listize.hpp +38 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/mapping.hpp +18 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/memory/SharedPtr.cpp +33 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/memory/SharedPtr.hpp +286 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/node.cpp +322 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/node.hpp +118 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operation.hpp +213 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operators.cpp +266 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operators.hpp +30 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/output.cpp +339 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/output.hpp +47 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/parser.cpp +3153 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/parser.hpp +402 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/paths.hpp +71 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/plugins.cpp +188 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/plugins.hpp +57 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/position.cpp +184 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/position.hpp +124 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/prelexer.cpp +1780 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/prelexer.hpp +484 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/remove_placeholders.cpp +87 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/remove_placeholders.hpp +34 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass.cpp +155 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass.hpp +142 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass2scss.cpp +895 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_context.cpp +772 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_context.hpp +129 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_functions.cpp +210 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_functions.hpp +50 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_util.cpp +152 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_util.hpp +256 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_values.cpp +365 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_values.hpp +82 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/source_map.cpp +198 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/source_map.hpp +62 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/subset_map.cpp +58 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/subset_map.hpp +76 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/to_value.cpp +114 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/to_value.hpp +46 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/units.cpp +505 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/units.hpp +110 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8.h +34 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/checked.h +336 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/core.h +332 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/unchecked.h +235 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8_string.cpp +105 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8_string.hpp +37 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util.cpp +725 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util.hpp +106 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util_string.cpp +75 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util_string.hpp +19 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/values.cpp +140 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/values.hpp +12 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/listize.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/node.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/operators.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/output.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/parser.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/plugins.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/position.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/prelexer.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/remove_placeholders.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass2scss.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_context.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_functions.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_util.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_values.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/source_map.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/subset_map.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/to_value.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/units.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/utf8_string.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/util.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/util_string.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/values.o +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc.rb +57 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/dependency.rb +17 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/engine.rb +139 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/error.rb +37 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/functions_handler.rb +73 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/import_handler.rb +50 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/importer.rb +31 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/libsass.so +0 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native.rb +62 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/lib_c.rb +21 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/native_context_api.rb +147 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/native_functions_api.rb +159 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass2scss_api.rb +10 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_input_style.rb +13 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_output_style.rb +12 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_value.rb +97 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/string_list.rb +10 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/sass_2_scss.rb +9 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script.rb +17 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/functions.rb +8 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value.rb +137 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/bool.rb +32 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/color.rb +95 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/list.rb +136 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/map.rb +69 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/number.rb +389 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/string.rb +96 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion.rb +69 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/base.rb +13 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/bool.rb +13 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/color.rb +18 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/list.rb +25 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/map.rb +21 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/number.rb +13 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/string.rb +17 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/util.rb +231 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/util/normalized_map.rb +117 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/version.rb +5 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/sassc.gemspec +69 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/custom_importer_test.rb +127 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/engine_test.rb +314 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/error_test.rb +29 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/fixtures/paths.scss +10 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/functions_test.rb +323 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/native_test.rb +213 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/output_style_test.rb +107 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/sass_2_scss_test.rb +14 -0
- data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/test_helper.rb +45 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/README.md +533 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk.rb +12 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/error.rb +10 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/explicit_namespace.rb +80 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/gem_inflector.rb +19 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/inflector.rb +19 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/kernel.rb +33 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/loader.rb +759 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/loader/callbacks.rb +71 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/real_mod_name.rb +15 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/registry.rb +147 -0
- data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/version.rb +5 -0
- data/vendor/ruby/2.6.0/specifications/autoprefixer-rails-9.6.1.1.gemspec +47 -0
- data/vendor/ruby/2.6.0/specifications/parser-2.6.4.1.gemspec +62 -0
- data/vendor/ruby/2.6.0/specifications/sassc-2.2.0.gemspec +60 -0
- data/vendor/ruby/2.6.0/specifications/zeitwerk-2.1.10.gemspec +21 -0
- metadata +441 -4
- data/vendor/assets/anjuna/css/anjuna-application.css +0 -2
- data/vendor/assets/anjuna/css/anjuna-theme.css +0 -2
@@ -0,0 +1,145 @@
|
|
1
|
+
#ifndef SASS_C_VALUES_H
|
2
|
+
#define SASS_C_VALUES_H
|
3
|
+
|
4
|
+
#include <stddef.h>
|
5
|
+
#include <stdbool.h>
|
6
|
+
#include <sass/base.h>
|
7
|
+
|
8
|
+
#ifdef __cplusplus
|
9
|
+
extern "C" {
|
10
|
+
#endif
|
11
|
+
|
12
|
+
|
13
|
+
// Forward declaration
|
14
|
+
union Sass_Value;
|
15
|
+
|
16
|
+
// Type for Sass values
|
17
|
+
enum Sass_Tag {
|
18
|
+
SASS_BOOLEAN,
|
19
|
+
SASS_NUMBER,
|
20
|
+
SASS_COLOR,
|
21
|
+
SASS_STRING,
|
22
|
+
SASS_LIST,
|
23
|
+
SASS_MAP,
|
24
|
+
SASS_NULL,
|
25
|
+
SASS_ERROR,
|
26
|
+
SASS_WARNING
|
27
|
+
};
|
28
|
+
|
29
|
+
// Tags for denoting Sass list separators
|
30
|
+
enum Sass_Separator {
|
31
|
+
SASS_COMMA,
|
32
|
+
SASS_SPACE,
|
33
|
+
// only used internally to represent a hash map before evaluation
|
34
|
+
// otherwise we would be too early to check for duplicate keys
|
35
|
+
SASS_HASH
|
36
|
+
};
|
37
|
+
|
38
|
+
// Value Operators
|
39
|
+
enum Sass_OP {
|
40
|
+
AND, OR, // logical connectives
|
41
|
+
EQ, NEQ, GT, GTE, LT, LTE, // arithmetic relations
|
42
|
+
ADD, SUB, MUL, DIV, MOD, // arithmetic functions
|
43
|
+
NUM_OPS // so we know how big to make the op table
|
44
|
+
};
|
45
|
+
|
46
|
+
// Creator functions for all value types
|
47
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_null (void);
|
48
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_boolean (bool val);
|
49
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_string (const char* val);
|
50
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_qstring (const char* val);
|
51
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_number (double val, const char* unit);
|
52
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_color (double r, double g, double b, double a);
|
53
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_list (size_t len, enum Sass_Separator sep, bool is_bracketed);
|
54
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_map (size_t len);
|
55
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_error (const char* msg);
|
56
|
+
ADDAPI union Sass_Value* ADDCALL sass_make_warning (const char* msg);
|
57
|
+
|
58
|
+
// Generic destructor function for all types
|
59
|
+
// Will release memory of all associated Sass_Values
|
60
|
+
// Means we will delete recursively for lists and maps
|
61
|
+
ADDAPI void ADDCALL sass_delete_value (union Sass_Value* val);
|
62
|
+
|
63
|
+
// Make a deep cloned copy of the given sass value
|
64
|
+
ADDAPI union Sass_Value* ADDCALL sass_clone_value (const union Sass_Value* val);
|
65
|
+
|
66
|
+
// Execute an operation for two Sass_Values and return the result as a Sass_Value too
|
67
|
+
ADDAPI union Sass_Value* ADDCALL sass_value_op (enum Sass_OP op, const union Sass_Value* a, const union Sass_Value* b);
|
68
|
+
|
69
|
+
// Stringify a Sass_Values and also return the result as a Sass_Value (of type STRING)
|
70
|
+
ADDAPI union Sass_Value* ADDCALL sass_value_stringify (const union Sass_Value* a, bool compressed, int precision);
|
71
|
+
|
72
|
+
// Return the sass tag for a generic sass value
|
73
|
+
// Check is needed before accessing specific values!
|
74
|
+
ADDAPI enum Sass_Tag ADDCALL sass_value_get_tag (const union Sass_Value* v);
|
75
|
+
|
76
|
+
// Check value to be of a specific type
|
77
|
+
// Can also be used before accessing properties!
|
78
|
+
ADDAPI bool ADDCALL sass_value_is_null (const union Sass_Value* v);
|
79
|
+
ADDAPI bool ADDCALL sass_value_is_number (const union Sass_Value* v);
|
80
|
+
ADDAPI bool ADDCALL sass_value_is_string (const union Sass_Value* v);
|
81
|
+
ADDAPI bool ADDCALL sass_value_is_boolean (const union Sass_Value* v);
|
82
|
+
ADDAPI bool ADDCALL sass_value_is_color (const union Sass_Value* v);
|
83
|
+
ADDAPI bool ADDCALL sass_value_is_list (const union Sass_Value* v);
|
84
|
+
ADDAPI bool ADDCALL sass_value_is_map (const union Sass_Value* v);
|
85
|
+
ADDAPI bool ADDCALL sass_value_is_error (const union Sass_Value* v);
|
86
|
+
ADDAPI bool ADDCALL sass_value_is_warning (const union Sass_Value* v);
|
87
|
+
|
88
|
+
// Getters and setters for Sass_Number
|
89
|
+
ADDAPI double ADDCALL sass_number_get_value (const union Sass_Value* v);
|
90
|
+
ADDAPI void ADDCALL sass_number_set_value (union Sass_Value* v, double value);
|
91
|
+
ADDAPI const char* ADDCALL sass_number_get_unit (const union Sass_Value* v);
|
92
|
+
ADDAPI void ADDCALL sass_number_set_unit (union Sass_Value* v, char* unit);
|
93
|
+
|
94
|
+
// Getters and setters for Sass_String
|
95
|
+
ADDAPI const char* ADDCALL sass_string_get_value (const union Sass_Value* v);
|
96
|
+
ADDAPI void ADDCALL sass_string_set_value (union Sass_Value* v, char* value);
|
97
|
+
ADDAPI bool ADDCALL sass_string_is_quoted(const union Sass_Value* v);
|
98
|
+
ADDAPI void ADDCALL sass_string_set_quoted(union Sass_Value* v, bool quoted);
|
99
|
+
|
100
|
+
// Getters and setters for Sass_Boolean
|
101
|
+
ADDAPI bool ADDCALL sass_boolean_get_value (const union Sass_Value* v);
|
102
|
+
ADDAPI void ADDCALL sass_boolean_set_value (union Sass_Value* v, bool value);
|
103
|
+
|
104
|
+
// Getters and setters for Sass_Color
|
105
|
+
ADDAPI double ADDCALL sass_color_get_r (const union Sass_Value* v);
|
106
|
+
ADDAPI void ADDCALL sass_color_set_r (union Sass_Value* v, double r);
|
107
|
+
ADDAPI double ADDCALL sass_color_get_g (const union Sass_Value* v);
|
108
|
+
ADDAPI void ADDCALL sass_color_set_g (union Sass_Value* v, double g);
|
109
|
+
ADDAPI double ADDCALL sass_color_get_b (const union Sass_Value* v);
|
110
|
+
ADDAPI void ADDCALL sass_color_set_b (union Sass_Value* v, double b);
|
111
|
+
ADDAPI double ADDCALL sass_color_get_a (const union Sass_Value* v);
|
112
|
+
ADDAPI void ADDCALL sass_color_set_a (union Sass_Value* v, double a);
|
113
|
+
|
114
|
+
// Getter for the number of items in list
|
115
|
+
ADDAPI size_t ADDCALL sass_list_get_length (const union Sass_Value* v);
|
116
|
+
// Getters and setters for Sass_List
|
117
|
+
ADDAPI enum Sass_Separator ADDCALL sass_list_get_separator (const union Sass_Value* v);
|
118
|
+
ADDAPI void ADDCALL sass_list_set_separator (union Sass_Value* v, enum Sass_Separator value);
|
119
|
+
ADDAPI bool ADDCALL sass_list_get_is_bracketed (const union Sass_Value* v);
|
120
|
+
ADDAPI void ADDCALL sass_list_set_is_bracketed (union Sass_Value* v, bool value);
|
121
|
+
// Getters and setters for Sass_List values
|
122
|
+
ADDAPI union Sass_Value* ADDCALL sass_list_get_value (const union Sass_Value* v, size_t i);
|
123
|
+
ADDAPI void ADDCALL sass_list_set_value (union Sass_Value* v, size_t i, union Sass_Value* value);
|
124
|
+
|
125
|
+
// Getter for the number of items in map
|
126
|
+
ADDAPI size_t ADDCALL sass_map_get_length (const union Sass_Value* v);
|
127
|
+
// Getters and setters for Sass_Map keys and values
|
128
|
+
ADDAPI union Sass_Value* ADDCALL sass_map_get_key (const union Sass_Value* v, size_t i);
|
129
|
+
ADDAPI void ADDCALL sass_map_set_key (union Sass_Value* v, size_t i, union Sass_Value*);
|
130
|
+
ADDAPI union Sass_Value* ADDCALL sass_map_get_value (const union Sass_Value* v, size_t i);
|
131
|
+
ADDAPI void ADDCALL sass_map_set_value (union Sass_Value* v, size_t i, union Sass_Value*);
|
132
|
+
|
133
|
+
// Getters and setters for Sass_Error
|
134
|
+
ADDAPI char* ADDCALL sass_error_get_message (const union Sass_Value* v);
|
135
|
+
ADDAPI void ADDCALL sass_error_set_message (union Sass_Value* v, char* msg);
|
136
|
+
|
137
|
+
// Getters and setters for Sass_Warning
|
138
|
+
ADDAPI char* ADDCALL sass_warning_get_message (const union Sass_Value* v);
|
139
|
+
ADDAPI void ADDCALL sass_warning_set_message (union Sass_Value* v, char* msg);
|
140
|
+
|
141
|
+
#ifdef __cplusplus
|
142
|
+
} // __cplusplus defined.
|
143
|
+
#endif
|
144
|
+
|
145
|
+
#endif
|
@@ -0,0 +1,120 @@
|
|
1
|
+
/**
|
2
|
+
* sass2scss
|
3
|
+
* Licensed under the MIT License
|
4
|
+
* Copyright (c) Marcel Greter
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef SASS2SCSS_H
|
8
|
+
#define SASS2SCSS_H
|
9
|
+
|
10
|
+
#ifdef _WIN32
|
11
|
+
|
12
|
+
/* You should define ADD_EXPORTS *only* when building the DLL. */
|
13
|
+
#ifdef ADD_EXPORTS
|
14
|
+
#define ADDAPI __declspec(dllexport)
|
15
|
+
#define ADDCALL __cdecl
|
16
|
+
#else
|
17
|
+
#define ADDAPI
|
18
|
+
#define ADDCALL
|
19
|
+
#endif
|
20
|
+
|
21
|
+
#else /* _WIN32 not defined. */
|
22
|
+
|
23
|
+
/* Define with no value on non-Windows OSes. */
|
24
|
+
#define ADDAPI
|
25
|
+
#define ADDCALL
|
26
|
+
|
27
|
+
#endif
|
28
|
+
|
29
|
+
#ifdef __cplusplus
|
30
|
+
|
31
|
+
#include <stack>
|
32
|
+
#include <string>
|
33
|
+
#include <cstring>
|
34
|
+
#include <sstream>
|
35
|
+
#include <iostream>
|
36
|
+
|
37
|
+
#ifndef SASS2SCSS_VERSION
|
38
|
+
// Hardcode once the file is copied from
|
39
|
+
// https://github.com/mgreter/sass2scss
|
40
|
+
#define SASS2SCSS_VERSION "1.1.1"
|
41
|
+
#endif
|
42
|
+
|
43
|
+
// add namespace for c++
|
44
|
+
namespace Sass
|
45
|
+
{
|
46
|
+
|
47
|
+
// pretty print options
|
48
|
+
const int SASS2SCSS_PRETTIFY_0 = 0;
|
49
|
+
const int SASS2SCSS_PRETTIFY_1 = 1;
|
50
|
+
const int SASS2SCSS_PRETTIFY_2 = 2;
|
51
|
+
const int SASS2SCSS_PRETTIFY_3 = 3;
|
52
|
+
|
53
|
+
// remove one-line comment
|
54
|
+
const int SASS2SCSS_KEEP_COMMENT = 32;
|
55
|
+
// remove multi-line comments
|
56
|
+
const int SASS2SCSS_STRIP_COMMENT = 64;
|
57
|
+
// convert one-line to multi-line
|
58
|
+
const int SASS2SCSS_CONVERT_COMMENT = 128;
|
59
|
+
|
60
|
+
// String for finding something interesting
|
61
|
+
const std::string SASS2SCSS_FIND_WHITESPACE = " \t\n\v\f\r";
|
62
|
+
|
63
|
+
// converter struct
|
64
|
+
// holding all states
|
65
|
+
struct converter
|
66
|
+
{
|
67
|
+
// bit options
|
68
|
+
int options;
|
69
|
+
// is selector
|
70
|
+
bool selector;
|
71
|
+
// concat lists
|
72
|
+
bool comma;
|
73
|
+
// has property
|
74
|
+
bool property;
|
75
|
+
// has semicolon
|
76
|
+
bool semicolon;
|
77
|
+
// comment context
|
78
|
+
std::string comment;
|
79
|
+
// flag end of file
|
80
|
+
bool end_of_file;
|
81
|
+
// whitespace buffer
|
82
|
+
std::string whitespace;
|
83
|
+
// context/block stack
|
84
|
+
std::stack<std::string> indents;
|
85
|
+
};
|
86
|
+
|
87
|
+
// function only available in c++ code
|
88
|
+
char* sass2scss (const std::string& sass, const int options);
|
89
|
+
|
90
|
+
}
|
91
|
+
// EO namespace
|
92
|
+
|
93
|
+
// declare for c
|
94
|
+
extern "C" {
|
95
|
+
#endif
|
96
|
+
|
97
|
+
// prettyfy print options
|
98
|
+
#define SASS2SCSS_PRETTIFY_0 0
|
99
|
+
#define SASS2SCSS_PRETTIFY_1 1
|
100
|
+
#define SASS2SCSS_PRETTIFY_2 2
|
101
|
+
#define SASS2SCSS_PRETTIFY_3 3
|
102
|
+
|
103
|
+
// keep one-line comments
|
104
|
+
#define SASS2SCSS_KEEP_COMMENT 32
|
105
|
+
// remove multi-line comments
|
106
|
+
#define SASS2SCSS_STRIP_COMMENT 64
|
107
|
+
// convert one-line to multi-line
|
108
|
+
#define SASS2SCSS_CONVERT_COMMENT 128
|
109
|
+
|
110
|
+
// available to c and c++ code
|
111
|
+
ADDAPI char* ADDCALL sass2scss (const char* sass, const int options);
|
112
|
+
|
113
|
+
// Get compiled sass2scss version
|
114
|
+
ADDAPI const char* ADDCALL sass2scss_version(void);
|
115
|
+
|
116
|
+
#ifdef __cplusplus
|
117
|
+
} // __cplusplus defined.
|
118
|
+
#endif
|
119
|
+
|
120
|
+
#endif
|
@@ -0,0 +1,963 @@
|
|
1
|
+
#include "sass.hpp"
|
2
|
+
#include "ast.hpp"
|
3
|
+
#include "context.hpp"
|
4
|
+
#include "node.hpp"
|
5
|
+
#include "eval.hpp"
|
6
|
+
#include "extend.hpp"
|
7
|
+
#include "emitter.hpp"
|
8
|
+
#include "color_maps.hpp"
|
9
|
+
#include "ast_fwd_decl.hpp"
|
10
|
+
#include <set>
|
11
|
+
#include <iomanip>
|
12
|
+
#include <iostream>
|
13
|
+
#include <algorithm>
|
14
|
+
#include <functional>
|
15
|
+
#include <cctype>
|
16
|
+
#include <locale>
|
17
|
+
|
18
|
+
namespace Sass {
|
19
|
+
|
20
|
+
static Null sass_null(ParserState("null"));
|
21
|
+
|
22
|
+
const char* sass_op_to_name(enum Sass_OP op) {
|
23
|
+
switch (op) {
|
24
|
+
case AND: return "and";
|
25
|
+
case OR: return "or";
|
26
|
+
case EQ: return "eq";
|
27
|
+
case NEQ: return "neq";
|
28
|
+
case GT: return "gt";
|
29
|
+
case GTE: return "gte";
|
30
|
+
case LT: return "lt";
|
31
|
+
case LTE: return "lte";
|
32
|
+
case ADD: return "plus";
|
33
|
+
case SUB: return "minus";
|
34
|
+
case MUL: return "times";
|
35
|
+
case DIV: return "div";
|
36
|
+
case MOD: return "mod";
|
37
|
+
// this is only used internally!
|
38
|
+
case NUM_OPS: return "[OPS]";
|
39
|
+
default: return "invalid";
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
const char* sass_op_separator(enum Sass_OP op) {
|
44
|
+
switch (op) {
|
45
|
+
case AND: return "&&";
|
46
|
+
case OR: return "||";
|
47
|
+
case EQ: return "==";
|
48
|
+
case NEQ: return "!=";
|
49
|
+
case GT: return ">";
|
50
|
+
case GTE: return ">=";
|
51
|
+
case LT: return "<";
|
52
|
+
case LTE: return "<=";
|
53
|
+
case ADD: return "+";
|
54
|
+
case SUB: return "-";
|
55
|
+
case MUL: return "*";
|
56
|
+
case DIV: return "/";
|
57
|
+
case MOD: return "%";
|
58
|
+
// this is only used internally!
|
59
|
+
case NUM_OPS: return "[OPS]";
|
60
|
+
default: return "invalid";
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
/////////////////////////////////////////////////////////////////////////
|
65
|
+
/////////////////////////////////////////////////////////////////////////
|
66
|
+
|
67
|
+
void AST_Node::update_pstate(const ParserState& pstate)
|
68
|
+
{
|
69
|
+
pstate_.offset += pstate - pstate_ + pstate.offset;
|
70
|
+
}
|
71
|
+
|
72
|
+
const std::string AST_Node::to_string(Sass_Inspect_Options opt) const
|
73
|
+
{
|
74
|
+
Sass_Output_Options out(opt);
|
75
|
+
Emitter emitter(out);
|
76
|
+
Inspect i(emitter);
|
77
|
+
i.in_declaration = true;
|
78
|
+
// ToDo: inspect should be const
|
79
|
+
const_cast<AST_Node*>(this)->perform(&i);
|
80
|
+
return i.get_buffer();
|
81
|
+
}
|
82
|
+
|
83
|
+
const std::string AST_Node::to_string() const
|
84
|
+
{
|
85
|
+
return to_string({ NESTED, 5 });
|
86
|
+
}
|
87
|
+
|
88
|
+
/////////////////////////////////////////////////////////////////////////
|
89
|
+
/////////////////////////////////////////////////////////////////////////
|
90
|
+
|
91
|
+
Expression_Obj Hashed::at(Expression_Obj k) const
|
92
|
+
{
|
93
|
+
if (elements_.count(k))
|
94
|
+
{ return elements_.at(k); }
|
95
|
+
else { return {}; }
|
96
|
+
}
|
97
|
+
|
98
|
+
/////////////////////////////////////////////////////////////////////////
|
99
|
+
/////////////////////////////////////////////////////////////////////////
|
100
|
+
|
101
|
+
Statement::Statement(ParserState pstate, Type st, size_t t)
|
102
|
+
: AST_Node(pstate), statement_type_(st), tabs_(t), group_end_(false)
|
103
|
+
{ }
|
104
|
+
Statement::Statement(const Statement* ptr)
|
105
|
+
: AST_Node(ptr),
|
106
|
+
statement_type_(ptr->statement_type_),
|
107
|
+
tabs_(ptr->tabs_),
|
108
|
+
group_end_(ptr->group_end_)
|
109
|
+
{ }
|
110
|
+
|
111
|
+
bool Statement::bubbles()
|
112
|
+
{
|
113
|
+
return false;
|
114
|
+
}
|
115
|
+
|
116
|
+
bool Statement::has_content()
|
117
|
+
{
|
118
|
+
return statement_type_ == CONTENT;
|
119
|
+
}
|
120
|
+
|
121
|
+
bool Statement::is_invisible() const
|
122
|
+
{
|
123
|
+
return false;
|
124
|
+
}
|
125
|
+
|
126
|
+
/////////////////////////////////////////////////////////////////////////
|
127
|
+
/////////////////////////////////////////////////////////////////////////
|
128
|
+
|
129
|
+
Block::Block(ParserState pstate, size_t s, bool r)
|
130
|
+
: Statement(pstate),
|
131
|
+
Vectorized<Statement_Obj>(s),
|
132
|
+
is_root_(r)
|
133
|
+
{ }
|
134
|
+
Block::Block(const Block* ptr)
|
135
|
+
: Statement(ptr),
|
136
|
+
Vectorized<Statement_Obj>(*ptr),
|
137
|
+
is_root_(ptr->is_root_)
|
138
|
+
{ }
|
139
|
+
|
140
|
+
bool Block::has_content()
|
141
|
+
{
|
142
|
+
for (size_t i = 0, L = elements().size(); i < L; ++i) {
|
143
|
+
if (elements()[i]->has_content()) return true;
|
144
|
+
}
|
145
|
+
return Statement::has_content();
|
146
|
+
}
|
147
|
+
|
148
|
+
/////////////////////////////////////////////////////////////////////////
|
149
|
+
/////////////////////////////////////////////////////////////////////////
|
150
|
+
|
151
|
+
Has_Block::Has_Block(ParserState pstate, Block_Obj b)
|
152
|
+
: Statement(pstate), block_(b)
|
153
|
+
{ }
|
154
|
+
Has_Block::Has_Block(const Has_Block* ptr)
|
155
|
+
: Statement(ptr), block_(ptr->block_)
|
156
|
+
{ }
|
157
|
+
|
158
|
+
bool Has_Block::has_content()
|
159
|
+
{
|
160
|
+
return (block_ && block_->has_content()) || Statement::has_content();
|
161
|
+
}
|
162
|
+
|
163
|
+
/////////////////////////////////////////////////////////////////////////
|
164
|
+
/////////////////////////////////////////////////////////////////////////
|
165
|
+
|
166
|
+
Ruleset::Ruleset(ParserState pstate, Selector_List_Obj s, Block_Obj b)
|
167
|
+
: Has_Block(pstate, b), selector_(s), is_root_(false)
|
168
|
+
{ statement_type(RULESET); }
|
169
|
+
Ruleset::Ruleset(const Ruleset* ptr)
|
170
|
+
: Has_Block(ptr),
|
171
|
+
selector_(ptr->selector_),
|
172
|
+
is_root_(ptr->is_root_)
|
173
|
+
{ statement_type(RULESET); }
|
174
|
+
|
175
|
+
bool Ruleset::is_invisible() const {
|
176
|
+
if (Selector_List* sl = Cast<Selector_List>(selector())) {
|
177
|
+
for (size_t i = 0, L = sl->length(); i < L; ++i)
|
178
|
+
if (!(*sl)[i]->has_placeholder()) return false;
|
179
|
+
}
|
180
|
+
return true;
|
181
|
+
}
|
182
|
+
|
183
|
+
/////////////////////////////////////////////////////////////////////////
|
184
|
+
/////////////////////////////////////////////////////////////////////////
|
185
|
+
|
186
|
+
Bubble::Bubble(ParserState pstate, Statement_Obj n, Statement_Obj g, size_t t)
|
187
|
+
: Statement(pstate, Statement::BUBBLE, t), node_(n), group_end_(g == nullptr)
|
188
|
+
{ }
|
189
|
+
Bubble::Bubble(const Bubble* ptr)
|
190
|
+
: Statement(ptr),
|
191
|
+
node_(ptr->node_),
|
192
|
+
group_end_(ptr->group_end_)
|
193
|
+
{ }
|
194
|
+
|
195
|
+
bool Bubble::bubbles()
|
196
|
+
{
|
197
|
+
return true;
|
198
|
+
}
|
199
|
+
|
200
|
+
/////////////////////////////////////////////////////////////////////////
|
201
|
+
/////////////////////////////////////////////////////////////////////////
|
202
|
+
|
203
|
+
Trace::Trace(ParserState pstate, std::string n, Block_Obj b, char type)
|
204
|
+
: Has_Block(pstate, b), type_(type), name_(n)
|
205
|
+
{ }
|
206
|
+
Trace::Trace(const Trace* ptr)
|
207
|
+
: Has_Block(ptr),
|
208
|
+
type_(ptr->type_),
|
209
|
+
name_(ptr->name_)
|
210
|
+
{ }
|
211
|
+
|
212
|
+
/////////////////////////////////////////////////////////////////////////
|
213
|
+
/////////////////////////////////////////////////////////////////////////
|
214
|
+
|
215
|
+
Media_Block::Media_Block(ParserState pstate, List_Obj mqs, Block_Obj b)
|
216
|
+
: Has_Block(pstate, b), media_queries_(mqs)
|
217
|
+
{ statement_type(MEDIA); }
|
218
|
+
Media_Block::Media_Block(const Media_Block* ptr)
|
219
|
+
: Has_Block(ptr), media_queries_(ptr->media_queries_)
|
220
|
+
{ statement_type(MEDIA); }
|
221
|
+
|
222
|
+
bool Media_Block::is_invisible() const {
|
223
|
+
for (size_t i = 0, L = block()->length(); i < L; ++i) {
|
224
|
+
Statement_Obj stm = block()->at(i);
|
225
|
+
if (!stm->is_invisible()) return false;
|
226
|
+
}
|
227
|
+
return true;
|
228
|
+
}
|
229
|
+
|
230
|
+
bool Media_Block::bubbles()
|
231
|
+
{
|
232
|
+
return true;
|
233
|
+
}
|
234
|
+
|
235
|
+
/////////////////////////////////////////////////////////////////////////
|
236
|
+
/////////////////////////////////////////////////////////////////////////
|
237
|
+
|
238
|
+
Directive::Directive(ParserState pstate, std::string kwd, Selector_List_Obj sel, Block_Obj b, Expression_Obj val)
|
239
|
+
: Has_Block(pstate, b), keyword_(kwd), selector_(sel), value_(val) // set value manually if needed
|
240
|
+
{ statement_type(DIRECTIVE); }
|
241
|
+
Directive::Directive(const Directive* ptr)
|
242
|
+
: Has_Block(ptr),
|
243
|
+
keyword_(ptr->keyword_),
|
244
|
+
selector_(ptr->selector_),
|
245
|
+
value_(ptr->value_) // set value manually if needed
|
246
|
+
{ statement_type(DIRECTIVE); }
|
247
|
+
|
248
|
+
bool Directive::bubbles() { return is_keyframes() || is_media(); }
|
249
|
+
|
250
|
+
bool Directive::is_media() {
|
251
|
+
return keyword_.compare("@-webkit-media") == 0 ||
|
252
|
+
keyword_.compare("@-moz-media") == 0 ||
|
253
|
+
keyword_.compare("@-o-media") == 0 ||
|
254
|
+
keyword_.compare("@media") == 0;
|
255
|
+
}
|
256
|
+
bool Directive::is_keyframes() {
|
257
|
+
return keyword_.compare("@-webkit-keyframes") == 0 ||
|
258
|
+
keyword_.compare("@-moz-keyframes") == 0 ||
|
259
|
+
keyword_.compare("@-o-keyframes") == 0 ||
|
260
|
+
keyword_.compare("@keyframes") == 0;
|
261
|
+
}
|
262
|
+
|
263
|
+
/////////////////////////////////////////////////////////////////////////
|
264
|
+
/////////////////////////////////////////////////////////////////////////
|
265
|
+
|
266
|
+
Keyframe_Rule::Keyframe_Rule(ParserState pstate, Block_Obj b)
|
267
|
+
: Has_Block(pstate, b), name_()
|
268
|
+
{ statement_type(KEYFRAMERULE); }
|
269
|
+
Keyframe_Rule::Keyframe_Rule(const Keyframe_Rule* ptr)
|
270
|
+
: Has_Block(ptr), name_(ptr->name_)
|
271
|
+
{ statement_type(KEYFRAMERULE); }
|
272
|
+
|
273
|
+
/////////////////////////////////////////////////////////////////////////
|
274
|
+
/////////////////////////////////////////////////////////////////////////
|
275
|
+
|
276
|
+
Declaration::Declaration(ParserState pstate, String_Obj prop, Expression_Obj val, bool i, bool c, Block_Obj b)
|
277
|
+
: Has_Block(pstate, b), property_(prop), value_(val), is_important_(i), is_custom_property_(c), is_indented_(false)
|
278
|
+
{ statement_type(DECLARATION); }
|
279
|
+
Declaration::Declaration(const Declaration* ptr)
|
280
|
+
: Has_Block(ptr),
|
281
|
+
property_(ptr->property_),
|
282
|
+
value_(ptr->value_),
|
283
|
+
is_important_(ptr->is_important_),
|
284
|
+
is_custom_property_(ptr->is_custom_property_),
|
285
|
+
is_indented_(ptr->is_indented_)
|
286
|
+
{ statement_type(DECLARATION); }
|
287
|
+
|
288
|
+
bool Declaration::is_invisible() const
|
289
|
+
{
|
290
|
+
if (is_custom_property()) return false;
|
291
|
+
return !(value_ && !Cast<Null>(value_));
|
292
|
+
}
|
293
|
+
|
294
|
+
/////////////////////////////////////////////////////////////////////////
|
295
|
+
/////////////////////////////////////////////////////////////////////////
|
296
|
+
|
297
|
+
Assignment::Assignment(ParserState pstate, std::string var, Expression_Obj val, bool is_default, bool is_global)
|
298
|
+
: Statement(pstate), variable_(var), value_(val), is_default_(is_default), is_global_(is_global)
|
299
|
+
{ statement_type(ASSIGNMENT); }
|
300
|
+
Assignment::Assignment(const Assignment* ptr)
|
301
|
+
: Statement(ptr),
|
302
|
+
variable_(ptr->variable_),
|
303
|
+
value_(ptr->value_),
|
304
|
+
is_default_(ptr->is_default_),
|
305
|
+
is_global_(ptr->is_global_)
|
306
|
+
{ statement_type(ASSIGNMENT); }
|
307
|
+
|
308
|
+
/////////////////////////////////////////////////////////////////////////
|
309
|
+
/////////////////////////////////////////////////////////////////////////
|
310
|
+
|
311
|
+
Import::Import(ParserState pstate)
|
312
|
+
: Statement(pstate),
|
313
|
+
urls_(std::vector<Expression_Obj>()),
|
314
|
+
incs_(std::vector<Include>()),
|
315
|
+
import_queries_()
|
316
|
+
{ statement_type(IMPORT); }
|
317
|
+
Import::Import(const Import* ptr)
|
318
|
+
: Statement(ptr),
|
319
|
+
urls_(ptr->urls_),
|
320
|
+
incs_(ptr->incs_),
|
321
|
+
import_queries_(ptr->import_queries_)
|
322
|
+
{ statement_type(IMPORT); }
|
323
|
+
|
324
|
+
std::vector<Include>& Import::incs() { return incs_; }
|
325
|
+
std::vector<Expression_Obj>& Import::urls() { return urls_; }
|
326
|
+
|
327
|
+
/////////////////////////////////////////////////////////////////////////
|
328
|
+
/////////////////////////////////////////////////////////////////////////
|
329
|
+
|
330
|
+
Import_Stub::Import_Stub(ParserState pstate, Include res)
|
331
|
+
: Statement(pstate), resource_(res)
|
332
|
+
{ statement_type(IMPORT_STUB); }
|
333
|
+
Import_Stub::Import_Stub(const Import_Stub* ptr)
|
334
|
+
: Statement(ptr), resource_(ptr->resource_)
|
335
|
+
{ statement_type(IMPORT_STUB); }
|
336
|
+
Include Import_Stub::resource() { return resource_; };
|
337
|
+
std::string Import_Stub::imp_path() { return resource_.imp_path; };
|
338
|
+
std::string Import_Stub::abs_path() { return resource_.abs_path; };
|
339
|
+
|
340
|
+
/////////////////////////////////////////////////////////////////////////
|
341
|
+
/////////////////////////////////////////////////////////////////////////
|
342
|
+
|
343
|
+
Warning::Warning(ParserState pstate, Expression_Obj msg)
|
344
|
+
: Statement(pstate), message_(msg)
|
345
|
+
{ statement_type(WARNING); }
|
346
|
+
Warning::Warning(const Warning* ptr)
|
347
|
+
: Statement(ptr), message_(ptr->message_)
|
348
|
+
{ statement_type(WARNING); }
|
349
|
+
|
350
|
+
/////////////////////////////////////////////////////////////////////////
|
351
|
+
/////////////////////////////////////////////////////////////////////////
|
352
|
+
|
353
|
+
Error::Error(ParserState pstate, Expression_Obj msg)
|
354
|
+
: Statement(pstate), message_(msg)
|
355
|
+
{ statement_type(ERROR); }
|
356
|
+
Error::Error(const Error* ptr)
|
357
|
+
: Statement(ptr), message_(ptr->message_)
|
358
|
+
{ statement_type(ERROR); }
|
359
|
+
|
360
|
+
/////////////////////////////////////////////////////////////////////////
|
361
|
+
/////////////////////////////////////////////////////////////////////////
|
362
|
+
|
363
|
+
Debug::Debug(ParserState pstate, Expression_Obj val)
|
364
|
+
: Statement(pstate), value_(val)
|
365
|
+
{ statement_type(DEBUGSTMT); }
|
366
|
+
Debug::Debug(const Debug* ptr)
|
367
|
+
: Statement(ptr), value_(ptr->value_)
|
368
|
+
{ statement_type(DEBUGSTMT); }
|
369
|
+
|
370
|
+
/////////////////////////////////////////////////////////////////////////
|
371
|
+
/////////////////////////////////////////////////////////////////////////
|
372
|
+
|
373
|
+
Comment::Comment(ParserState pstate, String_Obj txt, bool is_important)
|
374
|
+
: Statement(pstate), text_(txt), is_important_(is_important)
|
375
|
+
{ statement_type(COMMENT); }
|
376
|
+
Comment::Comment(const Comment* ptr)
|
377
|
+
: Statement(ptr),
|
378
|
+
text_(ptr->text_),
|
379
|
+
is_important_(ptr->is_important_)
|
380
|
+
{ statement_type(COMMENT); }
|
381
|
+
|
382
|
+
bool Comment::is_invisible() const
|
383
|
+
{
|
384
|
+
return false;
|
385
|
+
}
|
386
|
+
|
387
|
+
/////////////////////////////////////////////////////////////////////////
|
388
|
+
/////////////////////////////////////////////////////////////////////////
|
389
|
+
|
390
|
+
If::If(ParserState pstate, Expression_Obj pred, Block_Obj con, Block_Obj alt)
|
391
|
+
: Has_Block(pstate, con), predicate_(pred), alternative_(alt)
|
392
|
+
{ statement_type(IF); }
|
393
|
+
If::If(const If* ptr)
|
394
|
+
: Has_Block(ptr),
|
395
|
+
predicate_(ptr->predicate_),
|
396
|
+
alternative_(ptr->alternative_)
|
397
|
+
{ statement_type(IF); }
|
398
|
+
|
399
|
+
bool If::has_content()
|
400
|
+
{
|
401
|
+
return Has_Block::has_content() || (alternative_ && alternative_->has_content());
|
402
|
+
}
|
403
|
+
|
404
|
+
/////////////////////////////////////////////////////////////////////////
|
405
|
+
/////////////////////////////////////////////////////////////////////////
|
406
|
+
|
407
|
+
For::For(ParserState pstate,
|
408
|
+
std::string var, Expression_Obj lo, Expression_Obj hi, Block_Obj b, bool inc)
|
409
|
+
: Has_Block(pstate, b),
|
410
|
+
variable_(var), lower_bound_(lo), upper_bound_(hi), is_inclusive_(inc)
|
411
|
+
{ statement_type(FOR); }
|
412
|
+
For::For(const For* ptr)
|
413
|
+
: Has_Block(ptr),
|
414
|
+
variable_(ptr->variable_),
|
415
|
+
lower_bound_(ptr->lower_bound_),
|
416
|
+
upper_bound_(ptr->upper_bound_),
|
417
|
+
is_inclusive_(ptr->is_inclusive_)
|
418
|
+
{ statement_type(FOR); }
|
419
|
+
|
420
|
+
/////////////////////////////////////////////////////////////////////////
|
421
|
+
/////////////////////////////////////////////////////////////////////////
|
422
|
+
|
423
|
+
Each::Each(ParserState pstate, std::vector<std::string> vars, Expression_Obj lst, Block_Obj b)
|
424
|
+
: Has_Block(pstate, b), variables_(vars), list_(lst)
|
425
|
+
{ statement_type(EACH); }
|
426
|
+
Each::Each(const Each* ptr)
|
427
|
+
: Has_Block(ptr), variables_(ptr->variables_), list_(ptr->list_)
|
428
|
+
{ statement_type(EACH); }
|
429
|
+
|
430
|
+
/////////////////////////////////////////////////////////////////////////
|
431
|
+
/////////////////////////////////////////////////////////////////////////
|
432
|
+
|
433
|
+
While::While(ParserState pstate, Expression_Obj pred, Block_Obj b)
|
434
|
+
: Has_Block(pstate, b), predicate_(pred)
|
435
|
+
{ statement_type(WHILE); }
|
436
|
+
While::While(const While* ptr)
|
437
|
+
: Has_Block(ptr), predicate_(ptr->predicate_)
|
438
|
+
{ statement_type(WHILE); }
|
439
|
+
|
440
|
+
/////////////////////////////////////////////////////////////////////////
|
441
|
+
/////////////////////////////////////////////////////////////////////////
|
442
|
+
|
443
|
+
Return::Return(ParserState pstate, Expression_Obj val)
|
444
|
+
: Statement(pstate), value_(val)
|
445
|
+
{ statement_type(RETURN); }
|
446
|
+
Return::Return(const Return* ptr)
|
447
|
+
: Statement(ptr), value_(ptr->value_)
|
448
|
+
{ statement_type(RETURN); }
|
449
|
+
|
450
|
+
/////////////////////////////////////////////////////////////////////////
|
451
|
+
/////////////////////////////////////////////////////////////////////////
|
452
|
+
|
453
|
+
Extension::Extension(ParserState pstate, Selector_List_Obj s)
|
454
|
+
: Statement(pstate), selector_(s)
|
455
|
+
{ statement_type(EXTEND); }
|
456
|
+
Extension::Extension(const Extension* ptr)
|
457
|
+
: Statement(ptr), selector_(ptr->selector_)
|
458
|
+
{ statement_type(EXTEND); }
|
459
|
+
|
460
|
+
/////////////////////////////////////////////////////////////////////////
|
461
|
+
/////////////////////////////////////////////////////////////////////////
|
462
|
+
|
463
|
+
Definition::Definition(const Definition* ptr)
|
464
|
+
: Has_Block(ptr),
|
465
|
+
name_(ptr->name_),
|
466
|
+
parameters_(ptr->parameters_),
|
467
|
+
environment_(ptr->environment_),
|
468
|
+
type_(ptr->type_),
|
469
|
+
native_function_(ptr->native_function_),
|
470
|
+
c_function_(ptr->c_function_),
|
471
|
+
cookie_(ptr->cookie_),
|
472
|
+
is_overload_stub_(ptr->is_overload_stub_),
|
473
|
+
signature_(ptr->signature_)
|
474
|
+
{ }
|
475
|
+
|
476
|
+
Definition::Definition(ParserState pstate,
|
477
|
+
std::string n,
|
478
|
+
Parameters_Obj params,
|
479
|
+
Block_Obj b,
|
480
|
+
Type t)
|
481
|
+
: Has_Block(pstate, b),
|
482
|
+
name_(n),
|
483
|
+
parameters_(params),
|
484
|
+
environment_(0),
|
485
|
+
type_(t),
|
486
|
+
native_function_(0),
|
487
|
+
c_function_(0),
|
488
|
+
cookie_(0),
|
489
|
+
is_overload_stub_(false),
|
490
|
+
signature_(0)
|
491
|
+
{ }
|
492
|
+
|
493
|
+
Definition::Definition(ParserState pstate,
|
494
|
+
Signature sig,
|
495
|
+
std::string n,
|
496
|
+
Parameters_Obj params,
|
497
|
+
Native_Function func_ptr,
|
498
|
+
bool overload_stub)
|
499
|
+
: Has_Block(pstate, {}),
|
500
|
+
name_(n),
|
501
|
+
parameters_(params),
|
502
|
+
environment_(0),
|
503
|
+
type_(FUNCTION),
|
504
|
+
native_function_(func_ptr),
|
505
|
+
c_function_(0),
|
506
|
+
cookie_(0),
|
507
|
+
is_overload_stub_(overload_stub),
|
508
|
+
signature_(sig)
|
509
|
+
{ }
|
510
|
+
|
511
|
+
Definition::Definition(ParserState pstate,
|
512
|
+
Signature sig,
|
513
|
+
std::string n,
|
514
|
+
Parameters_Obj params,
|
515
|
+
Sass_Function_Entry c_func)
|
516
|
+
: Has_Block(pstate, {}),
|
517
|
+
name_(n),
|
518
|
+
parameters_(params),
|
519
|
+
environment_(0),
|
520
|
+
type_(FUNCTION),
|
521
|
+
native_function_(0),
|
522
|
+
c_function_(c_func),
|
523
|
+
cookie_(sass_function_get_cookie(c_func)),
|
524
|
+
is_overload_stub_(false),
|
525
|
+
signature_(sig)
|
526
|
+
{ }
|
527
|
+
|
528
|
+
/////////////////////////////////////////////////////////////////////////
|
529
|
+
/////////////////////////////////////////////////////////////////////////
|
530
|
+
|
531
|
+
Mixin_Call::Mixin_Call(ParserState pstate, std::string n, Arguments_Obj args, Parameters_Obj b_params, Block_Obj b)
|
532
|
+
: Has_Block(pstate, b), name_(n), arguments_(args), block_parameters_(b_params)
|
533
|
+
{ }
|
534
|
+
Mixin_Call::Mixin_Call(const Mixin_Call* ptr)
|
535
|
+
: Has_Block(ptr),
|
536
|
+
name_(ptr->name_),
|
537
|
+
arguments_(ptr->arguments_),
|
538
|
+
block_parameters_(ptr->block_parameters_)
|
539
|
+
{ }
|
540
|
+
|
541
|
+
/////////////////////////////////////////////////////////////////////////
|
542
|
+
/////////////////////////////////////////////////////////////////////////
|
543
|
+
|
544
|
+
Content::Content(ParserState pstate, Arguments_Obj args)
|
545
|
+
: Statement(pstate),
|
546
|
+
arguments_(args)
|
547
|
+
{ statement_type(CONTENT); }
|
548
|
+
Content::Content(const Content* ptr)
|
549
|
+
: Statement(ptr),
|
550
|
+
arguments_(ptr->arguments_)
|
551
|
+
{ statement_type(CONTENT); }
|
552
|
+
|
553
|
+
/////////////////////////////////////////////////////////////////////////
|
554
|
+
/////////////////////////////////////////////////////////////////////////
|
555
|
+
|
556
|
+
Expression::Expression(ParserState pstate, bool d, bool e, bool i, Type ct)
|
557
|
+
: AST_Node(pstate),
|
558
|
+
is_delayed_(d),
|
559
|
+
is_expanded_(e),
|
560
|
+
is_interpolant_(i),
|
561
|
+
concrete_type_(ct)
|
562
|
+
{ }
|
563
|
+
|
564
|
+
Expression::Expression(const Expression* ptr)
|
565
|
+
: AST_Node(ptr),
|
566
|
+
is_delayed_(ptr->is_delayed_),
|
567
|
+
is_expanded_(ptr->is_expanded_),
|
568
|
+
is_interpolant_(ptr->is_interpolant_),
|
569
|
+
concrete_type_(ptr->concrete_type_)
|
570
|
+
{ }
|
571
|
+
|
572
|
+
/////////////////////////////////////////////////////////////////////////
|
573
|
+
/////////////////////////////////////////////////////////////////////////
|
574
|
+
|
575
|
+
Unary_Expression::Unary_Expression(ParserState pstate, Type t, Expression_Obj o)
|
576
|
+
: Expression(pstate), optype_(t), operand_(o), hash_(0)
|
577
|
+
{ }
|
578
|
+
Unary_Expression::Unary_Expression(const Unary_Expression* ptr)
|
579
|
+
: Expression(ptr),
|
580
|
+
optype_(ptr->optype_),
|
581
|
+
operand_(ptr->operand_),
|
582
|
+
hash_(ptr->hash_)
|
583
|
+
{ }
|
584
|
+
const std::string Unary_Expression::type_name() {
|
585
|
+
switch (optype_) {
|
586
|
+
case PLUS: return "plus";
|
587
|
+
case MINUS: return "minus";
|
588
|
+
case SLASH: return "slash";
|
589
|
+
case NOT: return "not";
|
590
|
+
default: return "invalid";
|
591
|
+
}
|
592
|
+
}
|
593
|
+
bool Unary_Expression::operator==(const Expression& rhs) const
|
594
|
+
{
|
595
|
+
try
|
596
|
+
{
|
597
|
+
const Unary_Expression* m = Cast<Unary_Expression>(&rhs);
|
598
|
+
if (m == 0) return false;
|
599
|
+
return type() == m->type() &&
|
600
|
+
*operand() == *m->operand();
|
601
|
+
}
|
602
|
+
catch (std::bad_cast&)
|
603
|
+
{
|
604
|
+
return false;
|
605
|
+
}
|
606
|
+
catch (...) { throw; }
|
607
|
+
}
|
608
|
+
size_t Unary_Expression::hash() const
|
609
|
+
{
|
610
|
+
if (hash_ == 0) {
|
611
|
+
hash_ = std::hash<size_t>()(optype_);
|
612
|
+
hash_combine(hash_, operand()->hash());
|
613
|
+
};
|
614
|
+
return hash_;
|
615
|
+
}
|
616
|
+
|
617
|
+
/////////////////////////////////////////////////////////////////////////
|
618
|
+
/////////////////////////////////////////////////////////////////////////
|
619
|
+
|
620
|
+
Argument::Argument(ParserState pstate, Expression_Obj val, std::string n, bool rest, bool keyword)
|
621
|
+
: Expression(pstate), value_(val), name_(n), is_rest_argument_(rest), is_keyword_argument_(keyword), hash_(0)
|
622
|
+
{
|
623
|
+
if (!name_.empty() && is_rest_argument_) {
|
624
|
+
coreError("variable-length argument may not be passed by name", pstate_);
|
625
|
+
}
|
626
|
+
}
|
627
|
+
Argument::Argument(const Argument* ptr)
|
628
|
+
: Expression(ptr),
|
629
|
+
value_(ptr->value_),
|
630
|
+
name_(ptr->name_),
|
631
|
+
is_rest_argument_(ptr->is_rest_argument_),
|
632
|
+
is_keyword_argument_(ptr->is_keyword_argument_),
|
633
|
+
hash_(ptr->hash_)
|
634
|
+
{
|
635
|
+
if (!name_.empty() && is_rest_argument_) {
|
636
|
+
coreError("variable-length argument may not be passed by name", pstate_);
|
637
|
+
}
|
638
|
+
}
|
639
|
+
|
640
|
+
void Argument::set_delayed(bool delayed)
|
641
|
+
{
|
642
|
+
if (value_) value_->set_delayed(delayed);
|
643
|
+
is_delayed(delayed);
|
644
|
+
}
|
645
|
+
|
646
|
+
bool Argument::operator==(const Expression& rhs) const
|
647
|
+
{
|
648
|
+
try
|
649
|
+
{
|
650
|
+
const Argument* m = Cast<Argument>(&rhs);
|
651
|
+
if (!(m && name() == m->name())) return false;
|
652
|
+
return *value() == *m->value();
|
653
|
+
}
|
654
|
+
catch (std::bad_cast&)
|
655
|
+
{
|
656
|
+
return false;
|
657
|
+
}
|
658
|
+
catch (...) { throw; }
|
659
|
+
}
|
660
|
+
|
661
|
+
size_t Argument::hash() const
|
662
|
+
{
|
663
|
+
if (hash_ == 0) {
|
664
|
+
hash_ = std::hash<std::string>()(name());
|
665
|
+
hash_combine(hash_, value()->hash());
|
666
|
+
}
|
667
|
+
return hash_;
|
668
|
+
}
|
669
|
+
|
670
|
+
/////////////////////////////////////////////////////////////////////////
|
671
|
+
/////////////////////////////////////////////////////////////////////////
|
672
|
+
|
673
|
+
Arguments::Arguments(ParserState pstate)
|
674
|
+
: Expression(pstate),
|
675
|
+
Vectorized<Argument_Obj>(),
|
676
|
+
has_named_arguments_(false),
|
677
|
+
has_rest_argument_(false),
|
678
|
+
has_keyword_argument_(false)
|
679
|
+
{ }
|
680
|
+
Arguments::Arguments(const Arguments* ptr)
|
681
|
+
: Expression(ptr),
|
682
|
+
Vectorized<Argument_Obj>(*ptr),
|
683
|
+
has_named_arguments_(ptr->has_named_arguments_),
|
684
|
+
has_rest_argument_(ptr->has_rest_argument_),
|
685
|
+
has_keyword_argument_(ptr->has_keyword_argument_)
|
686
|
+
{ }
|
687
|
+
|
688
|
+
void Arguments::set_delayed(bool delayed)
|
689
|
+
{
|
690
|
+
for (Argument_Obj arg : elements()) {
|
691
|
+
if (arg) arg->set_delayed(delayed);
|
692
|
+
}
|
693
|
+
is_delayed(delayed);
|
694
|
+
}
|
695
|
+
|
696
|
+
Argument_Obj Arguments::get_rest_argument()
|
697
|
+
{
|
698
|
+
if (this->has_rest_argument()) {
|
699
|
+
for (Argument_Obj arg : this->elements()) {
|
700
|
+
if (arg->is_rest_argument()) {
|
701
|
+
return arg;
|
702
|
+
}
|
703
|
+
}
|
704
|
+
}
|
705
|
+
return {};
|
706
|
+
}
|
707
|
+
|
708
|
+
Argument_Obj Arguments::get_keyword_argument()
|
709
|
+
{
|
710
|
+
if (this->has_keyword_argument()) {
|
711
|
+
for (Argument_Obj arg : this->elements()) {
|
712
|
+
if (arg->is_keyword_argument()) {
|
713
|
+
return arg;
|
714
|
+
}
|
715
|
+
}
|
716
|
+
}
|
717
|
+
return {};
|
718
|
+
}
|
719
|
+
|
720
|
+
void Arguments::adjust_after_pushing(Argument_Obj a)
|
721
|
+
{
|
722
|
+
if (!a->name().empty()) {
|
723
|
+
if (has_keyword_argument()) {
|
724
|
+
coreError("named arguments must precede variable-length argument", a->pstate());
|
725
|
+
}
|
726
|
+
has_named_arguments(true);
|
727
|
+
}
|
728
|
+
else if (a->is_rest_argument()) {
|
729
|
+
if (has_rest_argument()) {
|
730
|
+
coreError("functions and mixins may only be called with one variable-length argument", a->pstate());
|
731
|
+
}
|
732
|
+
if (has_keyword_argument_) {
|
733
|
+
coreError("only keyword arguments may follow variable arguments", a->pstate());
|
734
|
+
}
|
735
|
+
has_rest_argument(true);
|
736
|
+
}
|
737
|
+
else if (a->is_keyword_argument()) {
|
738
|
+
if (has_keyword_argument()) {
|
739
|
+
coreError("functions and mixins may only be called with one keyword argument", a->pstate());
|
740
|
+
}
|
741
|
+
has_keyword_argument(true);
|
742
|
+
}
|
743
|
+
else {
|
744
|
+
if (has_rest_argument()) {
|
745
|
+
coreError("ordinal arguments must precede variable-length arguments", a->pstate());
|
746
|
+
}
|
747
|
+
if (has_named_arguments()) {
|
748
|
+
coreError("ordinal arguments must precede named arguments", a->pstate());
|
749
|
+
}
|
750
|
+
}
|
751
|
+
}
|
752
|
+
|
753
|
+
/////////////////////////////////////////////////////////////////////////
|
754
|
+
/////////////////////////////////////////////////////////////////////////
|
755
|
+
|
756
|
+
Media_Query::Media_Query(ParserState pstate, String_Obj t, size_t s, bool n, bool r)
|
757
|
+
: Expression(pstate), Vectorized<Media_Query_Expression_Obj>(s),
|
758
|
+
media_type_(t), is_negated_(n), is_restricted_(r)
|
759
|
+
{ }
|
760
|
+
Media_Query::Media_Query(const Media_Query* ptr)
|
761
|
+
: Expression(ptr),
|
762
|
+
Vectorized<Media_Query_Expression_Obj>(*ptr),
|
763
|
+
media_type_(ptr->media_type_),
|
764
|
+
is_negated_(ptr->is_negated_),
|
765
|
+
is_restricted_(ptr->is_restricted_)
|
766
|
+
{ }
|
767
|
+
|
768
|
+
/////////////////////////////////////////////////////////////////////////
|
769
|
+
/////////////////////////////////////////////////////////////////////////
|
770
|
+
|
771
|
+
Media_Query_Expression::Media_Query_Expression(ParserState pstate,
|
772
|
+
Expression_Obj f, Expression_Obj v, bool i)
|
773
|
+
: Expression(pstate), feature_(f), value_(v), is_interpolated_(i)
|
774
|
+
{ }
|
775
|
+
Media_Query_Expression::Media_Query_Expression(const Media_Query_Expression* ptr)
|
776
|
+
: Expression(ptr),
|
777
|
+
feature_(ptr->feature_),
|
778
|
+
value_(ptr->value_),
|
779
|
+
is_interpolated_(ptr->is_interpolated_)
|
780
|
+
{ }
|
781
|
+
|
782
|
+
/////////////////////////////////////////////////////////////////////////
|
783
|
+
/////////////////////////////////////////////////////////////////////////
|
784
|
+
|
785
|
+
At_Root_Query::At_Root_Query(ParserState pstate, Expression_Obj f, Expression_Obj v, bool i)
|
786
|
+
: Expression(pstate), feature_(f), value_(v)
|
787
|
+
{ }
|
788
|
+
At_Root_Query::At_Root_Query(const At_Root_Query* ptr)
|
789
|
+
: Expression(ptr),
|
790
|
+
feature_(ptr->feature_),
|
791
|
+
value_(ptr->value_)
|
792
|
+
{ }
|
793
|
+
|
794
|
+
bool At_Root_Query::exclude(std::string str)
|
795
|
+
{
|
796
|
+
bool with = feature() && unquote(feature()->to_string()).compare("with") == 0;
|
797
|
+
List* l = static_cast<List*>(value().ptr());
|
798
|
+
std::string v;
|
799
|
+
|
800
|
+
if (with)
|
801
|
+
{
|
802
|
+
if (!l || l->length() == 0) return str.compare("rule") != 0;
|
803
|
+
for (size_t i = 0, L = l->length(); i < L; ++i)
|
804
|
+
{
|
805
|
+
v = unquote((*l)[i]->to_string());
|
806
|
+
if (v.compare("all") == 0 || v == str) return false;
|
807
|
+
}
|
808
|
+
return true;
|
809
|
+
}
|
810
|
+
else
|
811
|
+
{
|
812
|
+
if (!l || !l->length()) return str.compare("rule") == 0;
|
813
|
+
for (size_t i = 0, L = l->length(); i < L; ++i)
|
814
|
+
{
|
815
|
+
v = unquote((*l)[i]->to_string());
|
816
|
+
if (v.compare("all") == 0 || v == str) return true;
|
817
|
+
}
|
818
|
+
return false;
|
819
|
+
}
|
820
|
+
}
|
821
|
+
|
822
|
+
/////////////////////////////////////////////////////////////////////////
|
823
|
+
/////////////////////////////////////////////////////////////////////////
|
824
|
+
|
825
|
+
At_Root_Block::At_Root_Block(ParserState pstate, Block_Obj b, At_Root_Query_Obj e)
|
826
|
+
: Has_Block(pstate, b), expression_(e)
|
827
|
+
{ statement_type(ATROOT); }
|
828
|
+
At_Root_Block::At_Root_Block(const At_Root_Block* ptr)
|
829
|
+
: Has_Block(ptr), expression_(ptr->expression_)
|
830
|
+
{ statement_type(ATROOT); }
|
831
|
+
|
832
|
+
bool At_Root_Block::bubbles() {
|
833
|
+
return true;
|
834
|
+
}
|
835
|
+
|
836
|
+
bool At_Root_Block::exclude_node(Statement_Obj s) {
|
837
|
+
if (expression() == nullptr)
|
838
|
+
{
|
839
|
+
return s->statement_type() == Statement::RULESET;
|
840
|
+
}
|
841
|
+
|
842
|
+
if (s->statement_type() == Statement::DIRECTIVE)
|
843
|
+
{
|
844
|
+
if (Directive_Obj dir = Cast<Directive>(s))
|
845
|
+
{
|
846
|
+
std::string keyword(dir->keyword());
|
847
|
+
if (keyword.length() > 0) keyword.erase(0, 1);
|
848
|
+
return expression()->exclude(keyword);
|
849
|
+
}
|
850
|
+
}
|
851
|
+
if (s->statement_type() == Statement::MEDIA)
|
852
|
+
{
|
853
|
+
return expression()->exclude("media");
|
854
|
+
}
|
855
|
+
if (s->statement_type() == Statement::RULESET)
|
856
|
+
{
|
857
|
+
return expression()->exclude("rule");
|
858
|
+
}
|
859
|
+
if (s->statement_type() == Statement::SUPPORTS)
|
860
|
+
{
|
861
|
+
return expression()->exclude("supports");
|
862
|
+
}
|
863
|
+
if (Directive_Obj dir = Cast<Directive>(s))
|
864
|
+
{
|
865
|
+
if (dir->is_keyframes()) return expression()->exclude("keyframes");
|
866
|
+
}
|
867
|
+
return false;
|
868
|
+
}
|
869
|
+
|
870
|
+
/////////////////////////////////////////////////////////////////////////
|
871
|
+
/////////////////////////////////////////////////////////////////////////
|
872
|
+
|
873
|
+
Parameter::Parameter(ParserState pstate, std::string n, Expression_Obj def, bool rest)
|
874
|
+
: AST_Node(pstate), name_(n), default_value_(def), is_rest_parameter_(rest)
|
875
|
+
{ }
|
876
|
+
Parameter::Parameter(const Parameter* ptr)
|
877
|
+
: AST_Node(ptr),
|
878
|
+
name_(ptr->name_),
|
879
|
+
default_value_(ptr->default_value_),
|
880
|
+
is_rest_parameter_(ptr->is_rest_parameter_)
|
881
|
+
{ }
|
882
|
+
|
883
|
+
/////////////////////////////////////////////////////////////////////////
|
884
|
+
/////////////////////////////////////////////////////////////////////////
|
885
|
+
|
886
|
+
Parameters::Parameters(ParserState pstate)
|
887
|
+
: AST_Node(pstate),
|
888
|
+
Vectorized<Parameter_Obj>(),
|
889
|
+
has_optional_parameters_(false),
|
890
|
+
has_rest_parameter_(false)
|
891
|
+
{ }
|
892
|
+
Parameters::Parameters(const Parameters* ptr)
|
893
|
+
: AST_Node(ptr),
|
894
|
+
Vectorized<Parameter_Obj>(*ptr),
|
895
|
+
has_optional_parameters_(ptr->has_optional_parameters_),
|
896
|
+
has_rest_parameter_(ptr->has_rest_parameter_)
|
897
|
+
{ }
|
898
|
+
|
899
|
+
void Parameters::adjust_after_pushing(Parameter_Obj p)
|
900
|
+
{
|
901
|
+
if (p->default_value()) {
|
902
|
+
if (has_rest_parameter()) {
|
903
|
+
coreError("optional parameters may not be combined with variable-length parameters", p->pstate());
|
904
|
+
}
|
905
|
+
has_optional_parameters(true);
|
906
|
+
}
|
907
|
+
else if (p->is_rest_parameter()) {
|
908
|
+
if (has_rest_parameter()) {
|
909
|
+
coreError("functions and mixins cannot have more than one variable-length parameter", p->pstate());
|
910
|
+
}
|
911
|
+
has_rest_parameter(true);
|
912
|
+
}
|
913
|
+
else {
|
914
|
+
if (has_rest_parameter()) {
|
915
|
+
coreError("required parameters must precede variable-length parameters", p->pstate());
|
916
|
+
}
|
917
|
+
if (has_optional_parameters()) {
|
918
|
+
coreError("required parameters must precede optional parameters", p->pstate());
|
919
|
+
}
|
920
|
+
}
|
921
|
+
}
|
922
|
+
|
923
|
+
/////////////////////////////////////////////////////////////////////////
|
924
|
+
/////////////////////////////////////////////////////////////////////////
|
925
|
+
|
926
|
+
IMPLEMENT_AST_OPERATORS(Ruleset);
|
927
|
+
IMPLEMENT_AST_OPERATORS(Media_Block);
|
928
|
+
IMPLEMENT_AST_OPERATORS(Import);
|
929
|
+
IMPLEMENT_AST_OPERATORS(Import_Stub);
|
930
|
+
IMPLEMENT_AST_OPERATORS(Directive);
|
931
|
+
IMPLEMENT_AST_OPERATORS(At_Root_Block);
|
932
|
+
IMPLEMENT_AST_OPERATORS(While);
|
933
|
+
IMPLEMENT_AST_OPERATORS(Each);
|
934
|
+
IMPLEMENT_AST_OPERATORS(For);
|
935
|
+
IMPLEMENT_AST_OPERATORS(If);
|
936
|
+
IMPLEMENT_AST_OPERATORS(Mixin_Call);
|
937
|
+
IMPLEMENT_AST_OPERATORS(Extension);
|
938
|
+
IMPLEMENT_AST_OPERATORS(Media_Query);
|
939
|
+
IMPLEMENT_AST_OPERATORS(Media_Query_Expression);
|
940
|
+
IMPLEMENT_AST_OPERATORS(Debug);
|
941
|
+
IMPLEMENT_AST_OPERATORS(Error);
|
942
|
+
IMPLEMENT_AST_OPERATORS(Warning);
|
943
|
+
IMPLEMENT_AST_OPERATORS(Assignment);
|
944
|
+
IMPLEMENT_AST_OPERATORS(Return);
|
945
|
+
IMPLEMENT_AST_OPERATORS(At_Root_Query);
|
946
|
+
IMPLEMENT_AST_OPERATORS(Comment);
|
947
|
+
IMPLEMENT_AST_OPERATORS(Parameters);
|
948
|
+
IMPLEMENT_AST_OPERATORS(Parameter);
|
949
|
+
IMPLEMENT_AST_OPERATORS(Arguments);
|
950
|
+
IMPLEMENT_AST_OPERATORS(Argument);
|
951
|
+
IMPLEMENT_AST_OPERATORS(Unary_Expression);
|
952
|
+
IMPLEMENT_AST_OPERATORS(Block);
|
953
|
+
IMPLEMENT_AST_OPERATORS(Content);
|
954
|
+
IMPLEMENT_AST_OPERATORS(Trace);
|
955
|
+
IMPLEMENT_AST_OPERATORS(Keyframe_Rule);
|
956
|
+
IMPLEMENT_AST_OPERATORS(Bubble);
|
957
|
+
IMPLEMENT_AST_OPERATORS(Definition);
|
958
|
+
IMPLEMENT_AST_OPERATORS(Declaration);
|
959
|
+
|
960
|
+
/////////////////////////////////////////////////////////////////////////
|
961
|
+
/////////////////////////////////////////////////////////////////////////
|
962
|
+
|
963
|
+
}
|