@@ -667,6 +667,9 @@ pub struct ElementStartOp<'a> {
667667 pub attribute_namespace : Option < Atom < ' a > > ,
668668 /// Local references attached to this element.
669669 pub local_refs : Vec < ' a , LocalRef < ' a > > ,
670+ /// Index into the consts array for local refs.
671+ /// Set by local_refs phase.
672+ pub local_refs_index : Option < u32 > ,
670673 /// Non-bindable element.
671674 pub non_bindable : bool ,
672675 /// I18n placeholder data (start_name and close_name for paired tags).
@@ -692,6 +695,9 @@ pub struct ElementOp<'a> {
692695 pub attribute_namespace : Option < Atom < ' a > > ,
693696 /// Local references.
694697 pub local_refs : Vec < ' a , LocalRef < ' a > > ,
698+ /// Index into the consts array for local refs.
699+ /// Set by local_refs phase.
700+ pub local_refs_index : Option < u32 > ,
695701 /// Non-bindable element.
696702 pub non_bindable : bool ,
697703 /// I18n placeholder data (start_name and close_name for paired tags).
@@ -757,6 +763,9 @@ pub struct ContainerStartOp<'a> {
757763 pub xref : XrefId ,
758764 /// Assigned slot.
759765 pub slot : Option < SlotId > ,
766+ /// Index into the consts array for attributes.
767+ /// Set by const_collection phase.
768+ pub attributes : Option < u32 > ,
760769 /// Local references.
761770 pub local_refs : Vec < ' a , LocalRef < ' a > > ,
762771 /// Non-bindable container.
@@ -774,6 +783,9 @@ pub struct ContainerOp<'a> {
774783 pub xref : XrefId ,
775784 /// Assigned slot.
776785 pub slot : Option < SlotId > ,
786+ /// Index into the consts array for attributes.
787+ /// Set by const_collection phase.
788+ pub attributes : Option < u32 > ,
777789 /// Local references.
778790 pub local_refs : Vec < ' a , LocalRef < ' a > > ,
779791 /// Non-bindable container.
@@ -840,6 +852,9 @@ pub struct ConditionalOp<'a> {
840852 pub vars : Option < u32 > ,
841853 /// Local references on this element.
842854 pub local_refs : Vec < ' a , LocalRef < ' a > > ,
855+ /// Index into the consts array for local refs.
856+ /// Set by local_refs phase.
857+ pub local_refs_index : Option < u32 > ,
843858 /// I18n placeholder data (start_name and close_name for @if/@switch blocks).
844859 pub i18n_placeholder : Option < I18nPlaceholder < ' a > > ,
845860 /// Index into the consts array for element attributes.
@@ -868,6 +883,8 @@ pub struct ConditionalBranchCreateOp<'a> {
868883 pub template_kind : TemplateKind ,
869884 /// Function name suffix.
870885 pub fn_name_suffix : Atom < ' a > ,
886+ /// HTML tag name (for content projection).
887+ pub tag : Option < Atom < ' a > > ,
871888 /// The number of declaration slots used by this branch.
872889 /// Set by allocate_slots phase.
873890 pub decls : Option < u32 > ,
@@ -876,6 +893,9 @@ pub struct ConditionalBranchCreateOp<'a> {
876893 pub vars : Option < u32 > ,
877894 /// Local references on this branch.
878895 pub local_refs : Vec < ' a , LocalRef < ' a > > ,
896+ /// Index into the consts array for local refs.
897+ /// Set by local_refs phase.
898+ pub local_refs_index : Option < u32 > ,
879899 /// I18n placeholder data (start_name and close_name for paired tags).
880900 pub i18n_placeholder : Option < I18nPlaceholder < ' a > > ,
881901 /// Index into the consts array for element attributes.
@@ -1165,8 +1185,14 @@ pub struct RepeaterCreateOp<'a> {
11651185 pub var_names : RepeaterVarNames < ' a > ,
11661186 /// HTML tag name (for content projection).
11671187 pub tag : Option < Atom < ' a > > ,
1188+ /// Const index for attributes (for content projection).
1189+ /// Set by const_collection phase.
1190+ pub attributes : Option < u32 > ,
11681191 /// HTML tag name for empty view (for content projection).
11691192 pub empty_tag : Option < Atom < ' a > > ,
1193+ /// Const index for empty view attributes (for content projection).
1194+ /// Set by const_collection phase.
1195+ pub empty_attributes : Option < u32 > ,
11701196 /// I18n placeholder data (start_name and close_name for @for block).
11711197 pub i18n_placeholder : Option < I18nPlaceholder < ' a > > ,
11721198 /// I18n placeholder data for @empty view.
0 commit comments