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

Side by Side Diff: lib/dom/scripts/systeminterface.py

Issue 10107010: Map IDBAny and IDBKey to Dynamic (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 8 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 | « lib/dom/scripts/systemhtml.py ('k') | lib/dom/scripts/systemnative.py » ('j') | 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/python 1 #!/usr/bin/python
2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 # for details. All rights reserved. Use of this source code is governed by a 3 # for details. All rights reserved. Use of this source code is governed by a
4 # BSD-style license that can be found in the LICENSE file. 4 # BSD-style license that can be found in the LICENSE file.
5 5
6 """This module providesfunctionality for systems to generate 6 """This module providesfunctionality for systems to generate
7 Dart interfaces from the IDL database.""" 7 Dart interfaces from the IDL database."""
8 8
9 import os 9 import os
10 import systembase 10 import systembase
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 BASE=self._super_interface) 168 BASE=self._super_interface)
169 for const in sorted(self._interface.constants, ConstantOutputOrder): 169 for const in sorted(self._interface.constants, ConstantOutputOrder):
170 self._EmitConstant(consts_emitter, const) 170 self._EmitConstant(consts_emitter, const)
171 171
172 def AddConstant(self, constant): 172 def AddConstant(self, constant):
173 if (not self._super_interface or 173 if (not self._super_interface or
174 self._interface.id is self._super_interface): 174 self._interface.id is self._super_interface):
175 self._EmitConstant(self._members_emitter, constant) 175 self._EmitConstant(self._members_emitter, constant)
176 176
177 def _EmitConstant(self, emitter, constant): 177 def _EmitConstant(self, emitter, constant):
178 emitter.Emit('\n static final $TYPE $NAME = $VALUE;\n', 178 emitter.Emit('\n static final $TYPE$NAME = $VALUE;\n',
179 NAME=constant.id, 179 NAME=constant.id,
180 TYPE=DartType(constant.type.id), 180 TYPE=TypeOrNothing(DartType(constant.type.id),
181 constant.type.id),
181 VALUE=constant.value) 182 VALUE=constant.value)
182 183
183 def AddAttribute(self, getter, setter): 184 def AddAttribute(self, getter, setter):
184 if getter and setter and getter.type.id == setter.type.id: 185 if getter and setter and getter.type.id == setter.type.id:
185 self._members_emitter.Emit('\n $TYPE $NAME;\n', 186 self._members_emitter.Emit('\n $TYPE $NAME;\n',
186 NAME=DartDomNameOfAttribute(getter), 187 NAME=DartDomNameOfAttribute(getter),
187 TYPE=DartType(getter.type.id)); 188 TYPE=TypeOrVar(DartType(getter.type.id),
189 getter.type.id))
188 return 190 return
189 if getter and not setter: 191 if getter and not setter:
190 self._members_emitter.Emit('\n final $TYPE $NAME;\n', 192 self._members_emitter.Emit('\n final $TYPE$NAME;\n',
191 NAME=DartDomNameOfAttribute(getter), 193 NAME=DartDomNameOfAttribute(getter),
192 TYPE=DartType(getter.type.id)); 194 TYPE=TypeOrNothing(DartType(getter.type.id),
195 getter.type.id))
193 return 196 return
194 raise Exception('Unexpected getter/setter combination %s %s' % 197 raise Exception('Unexpected getter/setter combination %s %s' %
195 (getter, setter)) 198 (getter, setter))
196 199
197 def AddIndexer(self, element_type): 200 def AddIndexer(self, element_type):
198 # Interface inherits all operations from List<element_type>. 201 # Interface inherits all operations from List<element_type>.
199 pass 202 pass
200 203
201 def AddOperation(self, info): 204 def AddOperation(self, info):
202 """ 205 """
203 Arguments: 206 Arguments:
204 operations - contains the overloads, one or more operations with the same 207 operations - contains the overloads, one or more operations with the same
205 name. 208 name.
206 """ 209 """
207 self._members_emitter.Emit('\n' 210 self._members_emitter.Emit('\n'
208 ' $TYPE $NAME($PARAMS);\n', 211 ' $TYPE $NAME($PARAMS);\n',
209 TYPE=info.type_name, 212 TYPE=info.type_name,
210 NAME=info.name, 213 NAME=info.name,
211 PARAMS=info.ParametersInterfaceDeclaration()) 214 PARAMS=info.ParametersInterfaceDeclaration())
212 215
213 # Interfaces get secondary members directly via the superinterfaces. 216 # Interfaces get secondary members directly via the superinterfaces.
214 def AddSecondaryAttribute(self, interface, getter, setter): 217 def AddSecondaryAttribute(self, interface, getter, setter):
215 pass 218 pass
216 219
217 def AddSecondaryOperation(self, interface, attr): 220 def AddSecondaryOperation(self, interface, attr):
218 pass 221 pass
OLDNEW
« no previous file with comments | « lib/dom/scripts/systemhtml.py ('k') | lib/dom/scripts/systemnative.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698