Whoop, there it is. Basically, I haven't gone making any style changes to CodeGeneratorV8.pm, trying to land this as-is for now. It's very hard to make changes on both sides of the stream. I added ParseParents method (and $parentsOnly param) to existing code, which is not used by JSC. In V8, it is used to find out whether the interface inherits from Node, which is a long story ... Please don't hurt me. I don't want to do any more Perl. Ever again. Actually, I have lots of work slated in Perl, trying to shave some hair off this beast and bring it as close to JSC bindings generator as possible.
Created attachment 31586 [details] Upstream V8 code generator, v1. WebCore/ChangeLog | 13 + WebCore/bindings/scripts/CodeGenerator.pm | 31 + WebCore/bindings/scripts/CodeGeneratorV8.pm | 2206 +++++++++++++++++++++++++++ WebCore/bindings/scripts/IDLParser.pm | 4 + 4 files changed, 2254 insertions(+), 0 deletions(-)
Comment on attachment 31586 [details] Upstream V8 code generator, v1. r-. There a couple of style issues that need to be taken care of such as 2 space indentation instead of 4 and commented out code. I would also like an explanation as to why the parent traversal stuff is necessary for v8 and not JSC.
Yay! Finally! :)
It would also be useful to have a rundown of all the v8 specific extended attributes and why they are necessary and where they create divergence from the JSC bindings.
(In reply to comment #4) > It would also be useful to have a rundown of all the v8 specific extended > attributes and why they are necessary and where they create divergence from the > JSC bindings. Will do that and reconcile them. I suspect V8 bindings do some unholy things using attributes not for purposes intended. At this point, I know that [Replaceable] is used that way, but not much else. Is that ok if this patch doesn't include this documentation? I'll put a FIXME and start a bug on that?
Created attachment 31672 [details] Upstream V8 code generator, v2. WebCore/ChangeLog | 16 + WebCore/bindings/scripts/CodeGenerator.pm | 35 + WebCore/bindings/scripts/CodeGeneratorV8.pm | 2192 +++++++++++++++++++++++++++ WebCore/bindings/scripts/IDLParser.pm | 4 + 4 files changed, 2247 insertions(+), 0 deletions(-)
Created attachment 31674 [details] Upstream V8 code generator, v2.1. WebCore/ChangeLog | 16 + WebCore/bindings/scripts/CodeGenerator.pm | 35 + WebCore/bindings/scripts/CodeGeneratorV8.pm | 2189 +++++++++++++++++++++++++++ WebCore/bindings/scripts/IDLParser.pm | 4 + 4 files changed, 2244 insertions(+), 0 deletions(-)
Styling issues addressed, comment about ParseParents added.
Comment on attachment 31674 [details] Upstream V8 code generator, v2.1. r=me
Landed as http://trac.webkit.org/changeset/44972.