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

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

Issue 605083004: Merge 38 changes to bleeding edge (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 2 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/systemhtml.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 import idl_definitions 9 import idl_definitions
10 from idl_types import IdlType, IdlUnionType 10 from idl_types import IdlType, IdlUnionType, IdlArrayOrSequenceType
11 11
12 from compute_interfaces_info_overall import interfaces_info 12 from compute_interfaces_info_overall import interfaces_info
13 13
14 14
15 new_asts = {} 15 new_asts = {}
16 16
17 17
18 _operation_suffix_map = { 18 _operation_suffix_map = {
19 '__getter__': "Getter", 19 '__getter__': "Getter",
20 '__setter__': "Setter", 20 '__setter__': "Setter",
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 elif isinstance(ast, tuple): 540 elif isinstance(ast, tuple):
541 (label, value) = ast 541 (label, value) = ast
542 if label == 'ScopedName': 542 if label == 'ScopedName':
543 self.id = value 543 self.id = value
544 else: 544 else:
545 self.id = self._label_to_type(label, ast) 545 self.id = self._label_to_type(label, ast)
546 elif isinstance(ast, str): 546 elif isinstance(ast, str):
547 self.id = ast 547 self.id = ast
548 # New blink handling. 548 # New blink handling.
549 elif ast.__module__ == "idl_types": 549 elif ast.__module__ == "idl_types":
550 if isinstance(ast, IdlType): 550 if isinstance(ast, IdlType) or isinstance(ast, IdlArrayOrSequenceType):
551 type_name = str(ast) 551 type_name = str(ast)
552 552
553 # TODO(terry): For now don't handle unrestricted types see 553 # TODO(terry): For now don't handle unrestricted types see
554 # https://code.google.com/p/chromium/issues/detail?id=35429 8 554 # https://code.google.com/p/chromium/issues/detail?id=35429 8
555 type_name = type_name.replace('unrestricted ', '', 1); 555 type_name = type_name.replace('unrestricted ', '', 1);
556 556
557 # TODO(terry): Handled ScalarValueString as a DOMString. 557 # TODO(terry): Handled ScalarValueString as a DOMString.
558 type_name = type_name.replace('ScalarValueString', 'DOMString', 1) 558 type_name = type_name.replace('ScalarValueString', 'DOMString', 1)
559 559
560 self.id = type_name 560 self.id = type_name
561 else: 561 else:
562 # IdlUnionType 562 # IdlUnionType
563 assert ast.is_union_type 563 if ast.is_union_type:
564 print 'WARNING type %s is union mapped to \'any\'' % self.id
564 # TODO(terry): For union types use any otherwise type is unionType is 565 # TODO(terry): For union types use any otherwise type is unionType is
565 # not found and is removed during merging. 566 # not found and is removed during merging.
566 self.id = 'any' 567 self.id = 'any'
567 # TODO(terry): Any union type e.g. 'type1 or type2 or type2', 568 # TODO(terry): Any union type e.g. 'type1 or type2 or type2',
568 # 'typedef (Type1 or Type2) UnionType' 569 # 'typedef (Type1 or Type2) UnionType'
569 # Is a problem we need to extend IDLType and IDLTypeDef to handle more 570 # Is a problem we need to extend IDLType and IDLTypeDef to handle more
570 # than one type. 571 # than one type.
571 # 572 #
572 # Also for typedef's e.g., 573 # Also for typedef's e.g.,
573 # typedef (Type1 or Type2) UnionType 574 # typedef (Type1 or Type2) UnionType
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 """IDLDictNode specialization for one annotation.""" 811 """IDLDictNode specialization for one annotation."""
811 def __init__(self, ast=None): 812 def __init__(self, ast=None):
812 IDLDictNode.__init__(self, ast) 813 IDLDictNode.__init__(self, ast)
813 self.id = None 814 self.id = None
814 if not ast: 815 if not ast:
815 return 816 return
816 for arg in self._find_all(ast, 'AnnotationArg'): 817 for arg in self._find_all(ast, 'AnnotationArg'):
817 name = self._find_first(arg, 'Id') 818 name = self._find_first(arg, 'Id')
818 value = self._find_first(arg, 'AnnotationArgValue') 819 value = self._find_first(arg, 'AnnotationArgValue')
819 self[name] = value 820 self[name] = value
OLDNEW
« no previous file with comments | « tools/dom/scripts/htmlrenamer.py ('k') | tools/dom/scripts/systemhtml.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698