| Class | Sass::Script::Node |
| In: |
lib/sass/script/node.rb
|
| Parent: | Object |
The abstract superclass for SassScript parse tree nodes.
Use \{perform} to evaluate a parse tree.
| context | [R] |
The context in which this node was parsed, which determines how some
operations are performed.
Can be `:equals`, which means it‘s part of a `$var = val` or `prop = val` assignment, or `:default`, which means it‘s anywhere else (including `$var: val` and `prop: val` assignments, `#{}`-interpolations, and other script contexts such as `@if` conditions). @return [Symbol] |
| line | [RW] |
The line of the document on which this node appeared.
@return [Fixnum] |
| options | [R] |
The options hash for this node.
@return [{Symbol => Object}] |
Sets the context for this node, as well as for all child nodes.
@param context [Symbol] @see context
# File lib/sass/script/node.rb, line 43
43: def context=(context)
44: @context = context
45: children.each {|c| c.context = context}
46: end
Sets the options hash for this node, as well as for all child nodes. See {file:SASS_REFERENCE.md#sass_options the Sass options documentation}.
@param options [{Symbol => Object}] The options
# File lib/sass/script/node.rb, line 33
33: def options=(options)
34: @options = options
35: children.each {|c| c.options = options}
36: end
Evaluates the node.
\{perform} shouldn‘t be overridden directly; instead, override \{_perform}.
@param environment [Sass::Environment] The environment in which to evaluate the SassScript @return [Literal] The SassScript object that is the value of the SassScript
# File lib/sass/script/node.rb, line 60
60: def perform(environment)
61: _perform(environment)
62: rescue Sass::SyntaxError => e
63: e.modify_backtrace(:line => line)
64: raise e
65: end
Evaluates this node.
@param environment [Sass::Environment] The environment in which to evaluate the SassScript @return [Literal] The SassScript object that is the value of the SassScript @see perform
# File lib/sass/script/node.rb, line 97
97: def _perform(environment)
98: raise NotImplementedError.new("All subclasses of Sass::Script::Node must override #_perform.")
99: end