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

Side by Side Diff: core/inspector/CodeGeneratorInstrumentation.py

Issue 37053003: Roll IDL to multivm@1467 (Closed) Base URL: https://dart.googlecode.com/svn/third_party/WebCore
Patch Set: Created 7 years, 1 month 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 | « core/html/track/TrackEvent.idl ('k') | core/inspector/InspectorFrontendHost.idl » ('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/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2013 Google Inc. All rights reserved. 2 # Copyright (c) 2013 Google Inc. All rights reserved.
3 # 3 #
4 # Redistribution and use in source and binary forms, with or without 4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are 5 # modification, are permitted provided that the following conditions are
6 # met: 6 # met:
7 # 7 #
8 # * Redistributions of source code must retain the above copyright 8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer. 9 # notice, this list of conditions and the following disclaimer.
10 # * Redistributions in binary form must reproduce the above 10 # * Redistributions in binary form must reproduce the above
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 254
255 for param in self.params: 255 for param in self.params:
256 if "DefaultReturn" in param.options: 256 if "DefaultReturn" in param.options:
257 self.default_return_value = param.name 257 self.default_return_value = param.name
258 258
259 self.params_impl = self.params 259 self.params_impl = self.params
260 if not self.accepts_cookie and not "Inline=Forward" in self.options: 260 if not self.accepts_cookie and not "Inline=Forward" in self.options:
261 if not "Keep" in self.params_impl[0].options: 261 if not "Keep" in self.params_impl[0].options:
262 self.params_impl = self.params_impl[1:] 262 self.params_impl = self.params_impl[1:]
263 self.params_impl = [Parameter("InstrumentingAgents* agents")] + self .params_impl 263 self.params_impl = [Parameter("InstrumentingAgents* agents")] + self .params_impl
264 self.agents_selector_class = re.match("(\w*)", self.params[0].type). group(1)
265 264
266 self.agents = filter(lambda option: not "=" in option, self.options) 265 self.agents = filter(lambda option: not "=" in option, self.options)
267 266
268 def generate_header(self, header_lines): 267 def generate_header(self, header_lines):
269 if "Inline=Custom" in self.options: 268 if "Inline=Custom" in self.options:
270 return 269 return
271 270
272 header_lines.append("%s %sImpl(%s);" % ( 271 header_lines.append("%s %sImpl(%s);" % (
273 self.return_type, self.name, ", ".join(map(Parameter.to_str_class, s elf.params_impl)))) 272 self.return_type, self.name, ", ".join(map(Parameter.to_str_class, s elf.params_impl))))
274 273
275 if "Inline=FastReturn" in self.options or "Inline=Forward" in self.optio ns: 274 if "Inline=FastReturn" in self.options or "Inline=Forward" in self.optio ns:
276 fast_return = "\n FAST_RETURN_IF_NO_FRONTENDS(%s);" % self.defaul t_return_value 275 fast_return = "\n FAST_RETURN_IF_NO_FRONTENDS(%s);" % self.defaul t_return_value
277 else: 276 else:
278 fast_return = "" 277 fast_return = ""
279 278
280 for param in self.params: 279 for param in self.params:
281 if "FastReturn" in param.options: 280 if "FastReturn" in param.options:
282 fast_return += "\n if (!%s)\n return %s;" % (param.nam e, self.default_return_value) 281 fast_return += "\n if (!%s)\n return %s;" % (param.nam e, self.default_return_value)
283 282
284 if self.accepts_cookie: 283 if self.accepts_cookie:
285 condition = "%s.isValid()" % self.params_impl[0].name 284 condition = "%s.isValid()" % self.params_impl[0].name
286 template = template_inline 285 template = template_inline
287 elif "Inline=Forward" in self.options: 286 elif "Inline=Forward" in self.options:
288 condition = "" 287 condition = ""
289 template = template_inline_forward 288 template = template_inline_forward
290 else: 289 else:
291 condition = "InstrumentingAgents* agents = instrumentingAgentsFor%s( %s)" % ( 290 condition = "InstrumentingAgents* agents = instrumentingAgentsFor(%s )" % self.params[0].name
292 self.agents_selector_class, self.params[0].name)
293 291
294 if self.returns_value: 292 if self.returns_value:
295 template = template_inline_returns_value 293 template = template_inline_returns_value
296 else: 294 else:
297 template = template_inline 295 template = template_inline
298 296
299 header_lines.append(template.substitute( 297 header_lines.append(template.substitute(
300 None, 298 None,
301 name=self.name, 299 name=self.name,
302 fast_return=fast_return, 300 fast_return=fast_return,
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 if not output_dirpath: 513 if not output_dirpath:
516 raise Exception("Output directory must be specified") 514 raise Exception("Output directory must be specified")
517 except Exception: 515 except Exception:
518 # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html 516 # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html
519 exc = sys.exc_info()[1] 517 exc = sys.exc_info()[1]
520 sys.stderr.write("Failed to parse command-line arguments: %s\n\n" % exc) 518 sys.stderr.write("Failed to parse command-line arguments: %s\n\n" % exc)
521 sys.stderr.write("Usage: <script> --output_dir <output_dir> InspectorInstrum entation.idl\n") 519 sys.stderr.write("Usage: <script> --output_dir <output_dir> InspectorInstrum entation.idl\n")
522 exit(1) 520 exit(1)
523 521
524 generate(input_path, output_dirpath) 522 generate(input_path, output_dirpath)
OLDNEW
« no previous file with comments | « core/html/track/TrackEvent.idl ('k') | core/inspector/InspectorFrontendHost.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698