blob: 48592c1c88d60a02911f4aea6432762d83a9d598 [file] [log] [blame]
require 'sass/tree/node'
module Sass::Tree
# A static node representing a mixin include.
# When in a static tree, the sole purpose is to wrap exceptions
# to add the mixin to the backtrace.
#
# @see Sass::Tree
class MixinNode < Node
# The name of the mixin.
# @return [String]
attr_reader :name
# The arguments to the mixin.
# @return [Array<Script::Tree::Node>]
attr_accessor :args
# A hash from keyword argument names to values.
# @return [Sass::Util::NormalizedMap<Script::Tree::Node>]
attr_accessor :keywords
# The first splat argument for this mixin, if one exists.
#
# This could be a list of positional arguments, a map of keyword
# arguments, or an arglist containing both.
#
# @return [Node?]
attr_accessor :splat
# The second splat argument for this mixin, if one exists.
#
# If this exists, it's always a map of keyword arguments, and
# \{#splat} is always either a list or an arglist.
#
# @return [Node?]
attr_accessor :kwarg_splat
# @param name [String] The name of the mixin
# @param args [Array<Script::Tree::Node>] See \{#args}
# @param splat [Script::Tree::Node] See \{#splat}
# @param kwarg_splat [Script::Tree::Node] See \{#kwarg_splat}
# @param keywords [Sass::Util::NormalizedMap<Script::Tree::Node>] See \{#keywords}
def initialize(name, args, keywords, splat, kwarg_splat)
@name = name
@args = args
@keywords = keywords
@splat = splat
@kwarg_splat = kwarg_splat
super()
end
end
end