Create Element instances before recursing.

This commit is contained in:
Yorick Peterse 2014-04-28 10:21:34 +02:00
parent 9939cf49eb
commit 785ec26fe7
1 changed files with 10 additions and 4 deletions

View File

@ -97,10 +97,18 @@ rule
| T_ELEM_START T_ELEM_NS T_ELEM_NAME { [val[1], val[2]] }
;
element_start
: element_open attributes { on_element(val[0][0], val[0][1], val[1]) }
element
: element_open attributes expressions T_ELEM_END
: element_start expressions T_ELEM_END
{
on_element(val[0][0], val[0][1], val[1], val[2].flatten)
element = val[0]
element.children = val[1] ? val[1].flatten : []
link_children(element)
element
}
;
@ -322,8 +330,6 @@ Unexpected #{name} with value #{value.inspect} on line #{@line}:
:children => children
)
link_children(element)
return element
end