Last Comment Bug 777438 - Handle dictionary members of dictionaries when doing dictionary reordering
: Handle dictionary members of dictionaries when doing dictionary reordering
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: DOM (show other bugs)
: unspecified
: x86 Mac OS X
: -- normal (vote)
: mozilla17
Assigned To: Boris Zbarsky [:bz] (Out June 25-July 6)
:
Mentors:
Depends on:
Blocks: ParisBindings
  Show dependency treegraph
 
Reported: 2012-07-25 11:26 PDT by Boris Zbarsky [:bz] (Out June 25-July 6)
Modified: 2012-07-27 08:14 PDT (History)
1 user (show)
bzbarsky: in‑testsuite+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Make sure our C++ declarations are in the right order when a dictionary has a dictionary member. (6.85 KB, patch)
2012-07-25 11:28 PDT, Boris Zbarsky [:bz] (Out June 25-July 6)
khuey: review+
Details | Diff | Review

Description Boris Zbarsky [:bz] (Out June 25-July 6) 2012-07-25 11:26:14 PDT
Otherwise we can end up with the class declared before its members, and all is bad.
Comment 1 Boris Zbarsky [:bz] (Out June 25-July 6) 2012-07-25 11:28:36 PDT
Created attachment 645830 [details] [diff] [review]
Make sure our C++ declarations are in the right order when a dictionary has a dictionary member.
Comment 2 Kyle Huey [:khuey] (khuey@mozilla.com) 2012-07-26 18:40:44 PDT
Comment on attachment 645830 [details] [diff] [review]
Make sure our C++ declarations are in the right order when a dictionary has a dictionary member.

Review of attachment 645830 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/bindings/Codegen.py
@@ +4041,5 @@
>      def __init__(self, dictionary, descriptorProvider):
>          self.dictionary = dictionary;
>          self.workers = descriptorProvider.workers
> +        if all(CGDictionary(d, descriptorProvider).generatable for
> +               d in self.getDictionaryDependencies(dictionary)):

Don't invoke static methods as self.getDictionaryDependencies().  Either make it non-static or invoke it as CGDictionary.getDictionaryDependencies.
Comment 3 Boris Zbarsky [:bz] (Out June 25-July 6) 2012-07-26 21:10:00 PDT
Fixed that, and http://hg.mozilla.org/integration/mozilla-inbound/rev/1571f03f3821
Comment 4 Ed Morley [:emorley] 2012-07-27 08:14:39 PDT
https://hg.mozilla.org/mozilla-central/rev/1571f03f3821

Note You need to log in before you can comment on or make changes to this bug.