1
0
Fork 0
mirror of https://github.com/haml/haml.git synced 2022-11-09 12:33:31 -05:00

[Sass] Don't pass options to Tree::Node#initialize.

This commit is contained in:
Nathan Weizenbaum 2009-04-21 19:25:18 -07:00
parent da671b70d3
commit 1146240b73
15 changed files with 49 additions and 52 deletions

View file

@ -130,7 +130,7 @@ module Sass
private
def build_tree
root = Tree::Node.new({})
root = Tree::Node.new
whitespace
rules root
expand_commas root
@ -154,7 +154,7 @@ module Sass
directive = rule[0] == ?@
if directive
node = Tree::DirectiveNode.new(rule, {})
node = Tree::DirectiveNode.new(rule)
return node if @template.scan(/;/)
assert_match /\{/
@ -165,7 +165,7 @@ module Sass
end
assert_match /\{/
node = Tree::RuleNode.new(rule, {})
node = Tree::RuleNode.new(rule)
attributes(node)
return node
end
@ -183,7 +183,7 @@ module Sass
end
assert_match /(;|(?=\}))/
rule << Tree::AttrNode.new(name, value, nil, {})
rule << Tree::AttrNode.new(name, value, nil)
end
assert_match /\}/
@ -231,7 +231,7 @@ module Sass
root.children.map! do |child|
next child unless Tree::RuleNode === child && child.rule.include?(',')
child.rule.split(',').map do |rule|
node = Tree::RuleNode.new(rule.strip, {})
node = Tree::RuleNode.new(rule.strip)
node.children = child.children
node
end
@ -277,7 +277,7 @@ module Sass
root.children.select { |c| Tree::RuleNode === c }.each do |child|
root.children.delete child
first, rest = child.rule.scan(/^(&?(?: .|[^ ])[^.#: \[]*)([.#: \[].*)?$/).first
rules[first] ||= Tree::RuleNode.new(first, {})
rules[first] ||= Tree::RuleNode.new(first)
if rest
child.rule = "&" + rest
rules[first] << child

View file

@ -120,7 +120,7 @@ module Sass
end
def render_to_tree
root = Tree::Node.new(@options)
root = Tree::Node.new
append_children(root, tree(tabulate(@template)).first, true)
root.options = @options
root
@ -251,7 +251,7 @@ END
else
# Support CSS3-style pseudo-elements,
# which begin with ::
Tree::RuleNode.new(line.text, @options)
Tree::RuleNode.new(line.text)
end
when Script::VARIABLE_CHAR
parse_variable(line)
@ -260,12 +260,12 @@ END
when DIRECTIVE_CHAR
parse_directive(parent, line, root)
when ESCAPE_CHAR
Tree::RuleNode.new(line.text[1..-1], @options)
Tree::RuleNode.new(line.text[1..-1])
when MIXIN_DEFINITION_CHAR
parse_mixin_definition(line)
when MIXIN_INCLUDE_CHAR
if line.text[1].nil?
Tree::RuleNode.new(line.text, @options)
Tree::RuleNode.new(line.text)
else
parse_mixin_include(line, root)
end
@ -273,7 +273,7 @@ END
if line.text =~ ATTRIBUTE_ALTERNATE_MATCHER
parse_attribute(line, ATTRIBUTE_ALTERNATE)
else
Tree::RuleNode.new(line.text, @options)
Tree::RuleNode.new(line.text)
end
end
end
@ -289,7 +289,7 @@ END
else
value
end
Tree::AttrNode.new(name, expr, attribute_regx == ATTRIBUTE ? :old : :new, @options)
Tree::AttrNode.new(name, expr, attribute_regx == ATTRIBUTE ? :old : :new)
end
def parse_variable(line)
@ -297,14 +297,14 @@ END
raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath variable declarations.", @line + 1) unless line.children.empty?
raise SyntaxError.new("Invalid variable: \"#{line.text}\".", @line) unless name && value
Tree::VariableNode.new(name, parse_script(value, :offset => line.offset + line.text.index(value)), op == '||=', @options)
Tree::VariableNode.new(name, parse_script(value, :offset => line.offset + line.text.index(value)), op == '||=')
end
def parse_comment(line)
if line[1] == CSS_COMMENT_CHAR || line[1] == SASS_COMMENT_CHAR
Tree::CommentNode.new(line, line[1] == SASS_COMMENT_CHAR, @options)
Tree::CommentNode.new(line, line[1] == SASS_COMMENT_CHAR)
else
Tree::RuleNode.new(line, @options)
Tree::RuleNode.new(line)
end
end
@ -323,17 +323,17 @@ END
parse_else(parent, line, value)
elsif directive == "while"
raise SyntaxError.new("Invalid while directive '@while': expected expression.") unless value
Tree::WhileNode.new(parse_script(value, :offset => offset), @options)
Tree::WhileNode.new(parse_script(value, :offset => offset))
elsif directive == "if"
raise SyntaxError.new("Invalid if directive '@if': expected expression.") unless value
Tree::IfNode.new(parse_script(value, :offset => offset), @options)
Tree::IfNode.new(parse_script(value, :offset => offset))
elsif directive == "debug"
raise SyntaxError.new("Invalid debug directive '@debug': expected expression.") unless value
raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath debug directives.", @line + 1) unless line.children.empty?
offset = line.offset + line.text.index(value).to_i
Tree::DebugNode.new(parse_script(value, :offset => offset), @options)
Tree::DebugNode.new(parse_script(value, :offset => offset))
else
Tree::DirectiveNode.new(line.text, @options)
Tree::DirectiveNode.new(line.text)
end
end
@ -354,7 +354,7 @@ END
parsed_from = parse_script(from_expr, :offset => line.offset + line.text.index(from_expr))
parsed_to = parse_script(to_expr, :offset => line.offset + line.text.index(to_expr))
Tree::ForNode.new(var[1..-1], parsed_from, parsed_to, to_name == 'to', @options)
Tree::ForNode.new(var[1..-1], parsed_from, parsed_to, to_name == 'to')
end
def parse_else(parent, line, text)
@ -368,7 +368,7 @@ END
expr = parse_script($1, :offset => line.offset + line.text.index($1))
end
node = Tree::IfNode.new(expr, @options)
node = Tree::IfNode.new(expr)
append_children(node, line.children, false)
previous.add_else node
nil
@ -403,7 +403,7 @@ END
default = parse_script(default, :offset => line.offset + line.text.index(default)) if default
{ :name => arg[1..-1], :default_value => default }
end
Tree::MixinDefNode.new(name, args, @options)
Tree::MixinDefNode.new(name, args)
end
def parse_mixin_include(line, root)
@ -413,7 +413,7 @@ END
raise SyntaxError.new("Invalid mixin include \"#{line.text}\".", @line) if name.nil? || args.nil?
args.each {|a| raise SyntaxError.new("Mixin arguments can't be empty.", @line) if a.empty?}
Tree::MixinNode.new(name, args.map {|s| parse_script(s, :offset => line.offset + line.text.index(s))}, @options)
Tree::MixinNode.new(name, args.map {|s| parse_script(s, :offset => line.offset + line.text.index(s))})
end
def parse_script(script, options = {})
@ -438,7 +438,7 @@ END
raise SyntaxError.new(e.message, @line)
end
next Tree::DirectiveNode.new("@import url(#{filename})", @options) if filename =~ /\.css$/
next Tree::DirectiveNode.new("@import url(#{filename})") if filename =~ /\.css$/
compiled_filename = filename.gsub(/\.sass$/, ".sassc")
if File.readable?(compiled_filename)
@ -462,7 +462,7 @@ END
end
end
Tree::FileNode.new(filename, root.children, @options)
Tree::FileNode.new(filename, root.children)
end.flatten
end

View file

@ -2,11 +2,11 @@ module Sass::Tree
class AttrNode < Node
attr_accessor :name, :value
def initialize(name, value, attr_syntax, options)
def initialize(name, value, attr_syntax)
@name = name
@value = value
@attr_syntax = attr_syntax
super(options)
super()
end
def ==(other)

View file

@ -4,10 +4,10 @@ module Sass::Tree
class CommentNode < Node
attr_accessor :value
def initialize(value, silent, options)
def initialize(value, silent)
@value = value[2..-1].strip
@silent = silent
super(options)
super()
end
def options=(options)

View file

@ -1,9 +1,9 @@
module Sass
module Tree
class DebugNode < Node
def initialize(expr, options)
def initialize(expr)
@expr = expr
super(options)
super()
end
protected

View file

@ -2,9 +2,9 @@ module Sass::Tree
class DirectiveNode < Node
attr_accessor :value
def initialize(value, options)
def initialize(value)
@value = value
super(options)
super()
end
def to_s(tabs)

View file

@ -1,9 +1,8 @@
module Sass
module Tree
class FileNode < Node
def initialize(filename, children, options)
def initialize(filename, children)
@filename = filename
super(options)
self.children = children
end

View file

@ -2,12 +2,12 @@ require 'sass/tree/node'
module Sass::Tree
class ForNode < Node
def initialize(var, from, to, exclusive, options)
def initialize(var, from, to, exclusive)
@var = var
@from = from
@to = to
@exclusive = exclusive
super(options)
super()
end
protected

View file

@ -4,10 +4,10 @@ module Sass::Tree
class IfNode < Node
attr_accessor :else
def initialize(expr, options)
def initialize(expr)
@expr = expr
@last_else = self
super(options)
super()
end
def add_else(node)

View file

@ -1,10 +1,10 @@
module Sass
module Tree
class MixinDefNode < Node
def initialize(name, args, options)
def initialize(name, args)
@name = name
@args = args
super(options)
super()
end
private

View file

@ -2,10 +2,10 @@ require 'sass/tree/node'
module Sass::Tree
class MixinNode < Node
def initialize(name, args, options)
def initialize(name, args)
@name = name
@args = args
super(options)
super()
end
protected

View file

@ -6,9 +6,7 @@ module Sass
attr_accessor :filename
attr_reader :options
def initialize(options)
@options = options
@style = options[:style]
def initialize
@children = []
end

View file

@ -7,9 +7,9 @@ module Sass::Tree
attr_accessor :rules
def initialize(rule, options)
def initialize(rule)
@rules = [rule]
super(options)
super()
end
def rule

View file

@ -1,11 +1,11 @@
module Sass
module Tree
class VariableNode < Node
def initialize(name, expr, guarded, options)
def initialize(name, expr, guarded)
@name = name
@expr = expr
@guarded = guarded
super(options)
super()
end
protected

View file

@ -2,9 +2,9 @@ require 'sass/tree/node'
module Sass::Tree
class WhileNode < Node
def initialize(expr, options)
def initialize(expr)
@expr = expr
super(options)
super()
end
private