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

Side by Side Diff: tools/dom/scripts/idlnode.py

Issue 16234006: Chrome roll 202464->204370. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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 | « tools/dom/scripts/htmlrenamer.py ('k') | tools/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) 2011, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2011, 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 import os 6 import os
7 import sys 7 import sys
8 8
9 9
10 class IDLNode(object): 10 class IDLNode(object):
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 def __init__(self, ast, doc_js_interface_name): 475 def __init__(self, ast, doc_js_interface_name):
476 IDLMember.__init__(self, ast, doc_js_interface_name) 476 IDLMember.__init__(self, ast, doc_js_interface_name)
477 self.type = self._convert_first(ast, 'ReturnType', IDLType) 477 self.type = self._convert_first(ast, 'ReturnType', IDLType)
478 self.arguments = self._convert_all(ast, 'Argument', IDLArgument) 478 self.arguments = self._convert_all(ast, 'Argument', IDLArgument)
479 self.specials = self._find_all(ast, 'Special') 479 self.specials = self._find_all(ast, 'Special')
480 self.is_stringifier = self._has(ast, 'Stringifier') 480 self.is_stringifier = self._has(ast, 'Stringifier')
481 # Special case: there are getters of the form 481 # Special case: there are getters of the form
482 # getter <ReturnType>(args). For now force the name to be __getter__, 482 # getter <ReturnType>(args). For now force the name to be __getter__,
483 # but it should be operator[] later. 483 # but it should be operator[] later.
484 if self.id is None: 484 if self.id is None:
485 if len(self.specials) != 1: 485 if self.specials == ['getter']:
486 self.id = '__getter__'
487 elif self.specials == ['setter']:
488 self.id = '__setter__'
489 # Special case: if it's a setter, ignore 'declared' return type
490 self.type = IDLType([('VoidType', None)])
491 elif self.specials == ['deleter']:
492 self.id = '__delete__'
493 else:
486 raise Exception('Cannot handle %s: operation has no id' % ast) 494 raise Exception('Cannot handle %s: operation has no id' % ast)
487 self.id = '__%s__' % self.specials[0] 495
488 def _extra_repr(self): 496 def _extra_repr(self):
489 return [self.arguments] 497 return [self.arguments]
490 498
491 499
492 class IDLAttribute(IDLMember): 500 class IDLAttribute(IDLMember):
493 """IDLNode specialization for 'attribute type name' declarations.""" 501 """IDLNode specialization for 'attribute type name' declarations."""
494 def __init__(self, ast, doc_js_interface_name): 502 def __init__(self, ast, doc_js_interface_name):
495 IDLMember.__init__(self, ast, doc_js_interface_name) 503 IDLMember.__init__(self, ast, doc_js_interface_name)
496 self.is_read_only = self._has(ast, 'ReadOnly') 504 self.is_read_only = self._has(ast, 'ReadOnly')
497 # There are various ways to define exceptions for attributes: 505 # There are various ways to define exceptions for attributes:
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 """IDLDictNode specialization for one annotation.""" 557 """IDLDictNode specialization for one annotation."""
550 def __init__(self, ast=None): 558 def __init__(self, ast=None):
551 IDLDictNode.__init__(self, ast) 559 IDLDictNode.__init__(self, ast)
552 self.id = None 560 self.id = None
553 if not ast: 561 if not ast:
554 return 562 return
555 for arg in self._find_all(ast, 'AnnotationArg'): 563 for arg in self._find_all(ast, 'AnnotationArg'):
556 name = self._find_first(arg, 'Id') 564 name = self._find_first(arg, 'Id')
557 value = self._find_first(arg, 'AnnotationArgValue') 565 value = self._find_first(arg, 'AnnotationArgValue')
558 self[name] = value 566 self[name] = value
OLDNEW
« no previous file with comments | « tools/dom/scripts/htmlrenamer.py ('k') | tools/dom/scripts/systemnative.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698