interface Transaction { readonly attribute Account from; readonly attribute Account to; readonly attribute float amount; readonly attribute DOMString description; readonly attribute unsigned long number; serializer; }; interface Account { attribute DOMString name; attribute unsigned long number; serializer DOMString serialize(); }; interface Transaction2 { readonly attribute Account2 from; readonly attribute Account2 to; readonly attribute float amount; readonly attribute DOMString description; readonly attribute unsigned long number; serializer = { from, to, amount, description }; }; interface Account2 { attribute DOMString name; attribute unsigned long number; serializer = number; }; interface Account3 { attribute DOMString name; attribute unsigned long number; serializer = { attribute }; }; interface Account4 { getter object getItem(unsigned long index); serializer = { getter }; }; interface Account5 : Account { attribute DOMString secondname; serializer = { inherit, secondname }; }; interface Account6 : Account { attribute DOMString secondname; serializer = { inherit, attribute }; }; interface Account7 { attribute DOMString name; attribute unsigned long number; serializer = [ name, number ]; }; interface Account8 { getter object getItem(unsigned long index); serializer = [ getter ]; }; interface Transaction { readonly attribute Account from; readonly attribute Account to; readonly attribute float amount; readonly attribute DOMString description; readonly attribute unsigned long number; serializer; }; readonly attribute Account from; readonly attribute Account to; readonly attribute float amount; readonly attribute DOMString description; readonly attribute unsigned long number; serializer; interface Account { attribute DOMString name; attribute unsigned long number; serializer DOMString serialize(); }; attribute DOMString name; attribute unsigned long number; serializer DOMString serialize(); interface Transaction2 { readonly attribute Account2 from; readonly attribute Account2 to; readonly attribute float amount; readonly attribute DOMString description; readonly attribute unsigned long number; serializer = { from, to, amount, description }; }; readonly attribute Account2 from; readonly attribute Account2 to; readonly attribute float amount; readonly attribute DOMString description; readonly attribute unsigned long number; serializer = { from, to, amount, description }; interface Account2 { attribute DOMString name; attribute unsigned long number; serializer = number; }; attribute DOMString name; attribute unsigned long number; serializer = number; interface Account3 { attribute DOMString name; attribute unsigned long number; serializer = { attribute }; }; attribute DOMString name; attribute unsigned long number; serializer = { attribute }; interface Account4 { getter object getItem(unsigned long index); serializer = { getter }; }; getter object getItem(unsigned long index); serializer = { getter }; interface Account5 : Account { attribute DOMString secondname; serializer = { inherit, secondname }; }; attribute DOMString secondname; serializer = { inherit, secondname }; interface Account6 : Account { attribute DOMString secondname; serializer = { inherit, attribute }; }; attribute DOMString secondname; serializer = { inherit, attribute }; interface Account7 { attribute DOMString name; attribute unsigned long number; serializer = [ name, number ]; }; attribute DOMString name; attribute unsigned long number; serializer = [ name, number ]; interface Account8 { getter object getItem(unsigned long index); serializer = [ getter ]; }; getter object getItem(unsigned long index); serializer = [ getter ];