Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Side by Side Diff: Source/bindings/scripts/generate-bindings.pl

Issue 17261025: The order of the generated supplemental code is not guaranteed (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Add a comment Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/perl -w 1 #!/usr/bin/perl -w
2 # 2 #
3 # Copyright (C) 2005 Apple Computer, Inc. 3 # Copyright (C) 2005 Apple Computer, Inc.
4 # Copyright (C) 2006 Anders Carlsson <andersca@mac.com> 4 # Copyright (C) 2006 Anders Carlsson <andersca@mac.com>
5 # 5 #
6 # This file is part of WebKit 6 # This file is part of WebKit
7 # 7 #
8 # This library is free software; you can redistribute it and/or 8 # This library is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU Library General Public 9 # modify it under the terms of the GNU Library General Public
10 # License as published by the Free Software Foundation; either 10 # License as published by the Free Software Foundation; either
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 # ... 90 # ...
91 # 91 #
92 # The above indicates that Window.idl is supplemented by P.idl, Q.idl and R. idl, 92 # The above indicates that Window.idl is supplemented by P.idl, Q.idl and R. idl,
93 # Document.idl is supplemented by S.idl, and Event.idl is supplemented by no IDLs. 93 # Document.idl is supplemented by S.idl, and Event.idl is supplemented by no IDLs.
94 # The IDL that supplements another IDL (e.g. P.idl) never appears in the dep endency file. 94 # The IDL that supplements another IDL (e.g. P.idl) never appears in the dep endency file.
95 open FH, "< $supplementalDependencyFile" or die "Cannot open $supplementalDe pendencyFile\n"; 95 open FH, "< $supplementalDependencyFile" or die "Cannot open $supplementalDe pendencyFile\n";
96 while (my $line = <FH>) { 96 while (my $line = <FH>) {
97 my ($idlFile, @followingIdlFiles) = split(/\s+/, $line); 97 my ($idlFile, @followingIdlFiles) = split(/\s+/, $line);
98 if ($idlFile and basename($idlFile) eq basename($targetIdlFile)) { 98 if ($idlFile and basename($idlFile) eq basename($targetIdlFile)) {
99 $idlFound = 1; 99 $idlFound = 1;
100 @supplementedIdlFiles = @followingIdlFiles; 100 # We sort the supplemental IDL files so that the corresponding code is generated
101 # in a consistent order. This is important for the bindings tests.
102 @supplementedIdlFiles = sort @followingIdlFiles;
101 } 103 }
102 } 104 }
103 close FH; 105 close FH;
104 106
105 # $additionalIdlFiles is list of IDL files which should not be included in 107 # $additionalIdlFiles is list of IDL files which should not be included in
106 # DerivedSources*.cpp (i.e. they are not described in the supplemental 108 # DerivedSources*.cpp (i.e. they are not described in the supplemental
107 # dependency file) but should generate .h and .cpp files. 109 # dependency file) but should generate .h and .cpp files.
108 if (!$idlFound and $additionalIdlFiles) { 110 if (!$idlFound and $additionalIdlFiles) {
109 my @idlFiles = shellwords($additionalIdlFiles); 111 my @idlFiles = shellwords($additionalIdlFiles);
110 $idlFound = grep { $_ and basename($_) eq basename($targetIdlFile) } @id lFiles; 112 $idlFound = grep { $_ and basename($_) eq basename($targetIdlFile) } @id lFiles;
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 last OUTER; 306 last OUTER;
305 } 307 }
306 } 308 }
307 } 309 }
308 if ($error) { 310 if ($error) {
309 die "IDL ATTRIBUTE CHECKER ERROR: $error 311 die "IDL ATTRIBUTE CHECKER ERROR: $error
310 If you want to add a new IDL attribute, you need to add it to bindings/scripts/I DLAttributes.txt and add explanations to the Blink IDL document (http://chromium .org/blink/webidl). 312 If you want to add a new IDL attribute, you need to add it to bindings/scripts/I DLAttributes.txt and add explanations to the Blink IDL document (http://chromium .org/blink/webidl).
311 "; 313 ";
312 } 314 }
313 } 315 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698