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

Side by Side Diff: Source/bindings/scripts/generate_bindings.pl

Issue 169273002: Remove support for [LegacyImplementedInBaseClass] IDL extended attribute (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 6 years, 10 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
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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 if ($interface->name eq $targetInterfaceName) { 108 if ($interface->name eq $targetInterfaceName) {
109 $targetDataNode = $interface; 109 $targetDataNode = $interface;
110 last; 110 last;
111 } 111 }
112 } 112 }
113 die "Not found an interface ${targetInterfaceName} in ${targetInterf aceName}.idl." unless defined $targetDataNode; 113 die "Not found an interface ${targetInterfaceName} in ${targetInterf aceName}.idl." unless defined $targetDataNode;
114 114
115 # Support for attributes of partial interfaces. 115 # Support for attributes of partial interfaces.
116 foreach my $attribute (@{$interface->attributes}) { 116 foreach my $attribute (@{$interface->attributes}) {
117 # Record that this attribute is implemented by $interfaceName. 117 # Record that this attribute is implemented by $interfaceName.
118 $attribute->extendedAttributes->{"ImplementedBy"} = $interfaceNa me unless $interface->extendedAttributes->{"LegacyImplementedInBaseClass"}; 118 $attribute->extendedAttributes->{"ImplementedBy"} = $interfaceNa me;
119 119
120 # Add interface-wide extended attributes to each attribute. 120 # Add interface-wide extended attributes to each attribute.
121 applyInterfaceExtendedAttributes($interface, $attribute->extende dAttributes); 121 applyInterfaceExtendedAttributes($interface, $attribute->extende dAttributes);
122 122
123 push(@{$targetDataNode->attributes}, $attribute); 123 push(@{$targetDataNode->attributes}, $attribute);
124 } 124 }
125 125
126 # Support for methods of partial interfaces. 126 # Support for methods of partial interfaces.
127 foreach my $function (@{$interface->functions}) { 127 foreach my $function (@{$interface->functions}) {
128 # Record that this method is implemented by $interfaceName. 128 # Record that this method is implemented by $interfaceName.
129 $function->extendedAttributes->{"ImplementedBy"} = $interfaceNam e unless $interface->extendedAttributes->{"LegacyImplementedInBaseClass"}; 129 $function->extendedAttributes->{"ImplementedBy"} = $interfaceNam e;
130 130
131 # Add interface-wide extended attributes to each method. 131 # Add interface-wide extended attributes to each method.
132 applyInterfaceExtendedAttributes($interface, $function->extended Attributes); 132 applyInterfaceExtendedAttributes($interface, $function->extended Attributes);
133 133
134 push(@{$targetDataNode->functions}, $function); 134 push(@{$targetDataNode->functions}, $function);
135 } 135 }
136 136
137 # Support for constants of partial interfaces. 137 # Support for constants of partial interfaces.
138 foreach my $constant (@{$interface->constants}) { 138 foreach my $constant (@{$interface->constants}) {
139 # Record that this constant is implemented by $interfaceName. 139 # Record that this constant is implemented by $interfaceName.
140 $constant->extendedAttributes->{"ImplementedBy"} = $interfaceNam e unless $interface->extendedAttributes->{"LegacyImplementedInBaseClass"}; 140 $constant->extendedAttributes->{"ImplementedBy"} = $interfaceNam e;
141 141
142 # Add interface-wide extended attributes to each constant. 142 # Add interface-wide extended attributes to each constant.
143 applyInterfaceExtendedAttributes($interface, $constant->extended Attributes); 143 applyInterfaceExtendedAttributes($interface, $constant->extended Attributes);
144 144
145 push(@{$targetDataNode->constants}, $constant); 145 push(@{$targetDataNode->constants}, $constant);
146 } 146 }
147 } else { 147 } else {
148 die "$idlFile is not a dependency of $targetIdlFile. There maybe a b ug in the dependency computer (compute_dependencies.py).\n"; 148 die "$idlFile is not a dependency of $targetIdlFile. There maybe a b ug in the dependency computer (compute_dependencies.py).\n";
149 } 149 }
150 } 150 }
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 } 258 }
259 if ($error) { 259 if ($error) {
260 die "IDL ATTRIBUTE CHECKER ERROR: $error 260 die "IDL ATTRIBUTE CHECKER ERROR: $error
261 If you want to add a new IDL extended attribute, please add it to: 261 If you want to add a new IDL extended attribute, please add it to:
262 bindings/IDLExtendedAttributes.txt 262 bindings/IDLExtendedAttributes.txt
263 and add an explanation to the Blink IDL documentation at: 263 and add an explanation to the Blink IDL documentation at:
264 http://www.chromium.org/blink/webidl/blink-idl-extended-attributes 264 http://www.chromium.org/blink/webidl/blink-idl-extended-attributes
265 "; 265 ";
266 } 266 }
267 } 267 }
OLDNEW
« no previous file with comments | « Source/bindings/scripts/compute_dependencies.py ('k') | Source/bindings/scripts/unstable/interface_dependency_resolver.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698