def _inspect(indent=0)
space = ' ' * indent
sb = []
sb << space << "- selectors: #{@selectors.inspect}\n"
sb << space << " stag: #{@stag.code}\n" unless @stag.nil?
sb << space << " cont: #{@cont.code}\n" unless @cont.nil?
sb << space << " etag: #{@etag.code}\n" unless @etag.nil?
sb << space << " elem: #{@elem.code}\n" unless @elem.nil?
sb << space << " attrs:\n" if @attrs
@attrs.keys.sort.each do |key|
val = @attrs[key]
sb << space << " - name: #{key}\n"
sb << space << " value: #{val.code}\n"
end if @attrs
sb << space << " append:\n" if @append
@append.each do |expr|
sb << space << " - #{expr.code}\n"
end if @append
sb << space << " remove:\n" if @remove
@remove.each do |name|
sb << space << " - #{name}\n"
end if @remove
sb << space << " tagname: #{@tagname}\n" unless @tagname.nil?
sb << space << " logic:\n" if @logic
@logic.each do |stmt|
sb << space << " - " << stmt._inspect()
end if @logic
sb << space << " before:\n" if @before
@before.each do |stmt|
sb << space << " - " << stmt._inspect()
end if @before
sb << space << " after:\n" if @after
@after.each do |stmt|
sb << space << " - " << stmt._inspect()
end if @after
return sb.join
end