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

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

Issue 589253002: Revert "Chrome 38 script changes from integration branch" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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/dartmetadata.py ('k') | tools/dom/scripts/generator.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 copy 6 import copy
7 import database 7 import database
8 import idlparser 8 import idlparser
9 import logging 9 import logging
10 import monitored
11 import multiprocessing 10 import multiprocessing
12 import os 11 import os
13 import os.path 12 import os.path
14 import re 13 import re
15 import sys 14 import sys
16 import tempfile 15 import tempfile
17 import time 16 import time
18 import traceback 17 import traceback
19 18
20 import idl_validator 19 import idl_validator
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 """DatabaseBuilder is used for importing and merging interfaces into 189 """DatabaseBuilder is used for importing and merging interfaces into
191 the Database""" 190 the Database"""
192 self._database = database 191 self._database = database
193 self._imported_interfaces = [] 192 self._imported_interfaces = []
194 self._impl_stmts = [] 193 self._impl_stmts = []
195 self.conditionals_met = set() 194 self.conditionals_met = set()
196 195
197 # Spin up the new IDL parser. 196 # Spin up the new IDL parser.
198 self.build = Build(None) 197 self.build = Build(None)
199 198
200 # Global typedef to mapping.
201 self.global_type_defs = monitored.Dict('databasebuilder.global_type_defs', {
202 'Transferable' : 'MessagePort',
203 })
204
205 # TODO(terry): Consider keeping richer type information (e.g.,
206 # IdlArrayOrSequenceType from the Blink parser) instead of just
207 # a type name.
208 def _resolve_type_defs(self, idl_file): 199 def _resolve_type_defs(self, idl_file):
200 type_def_map = {}
201 # build map
202 for type_def in idl_file.typeDefs:
203 if type_def.type.id != type_def.id: # sanity check
204 type_def_map[type_def.id] = type_def.type.id
205 # use the map
209 for type_node in idl_file.all(IDLType): 206 for type_node in idl_file.all(IDLType):
210 type_name = type_node.id 207 while type_node.id in type_def_map:
211 for typedef in self.global_type_defs: 208 type_node.id = type_def_map[type_node.id]
212 seq_name_typedef = 'sequence<%s>' % typedef
213 if type_name == typedef:
214 type_node.id = self.global_type_defs[typedef]
215 elif type_name == seq_name_typedef:
216 type_node.id = 'sequence<%s>' % self.global_type_defs[typedef]
217 209
218 def _strip_ext_attributes(self, idl_file): 210 def _strip_ext_attributes(self, idl_file):
219 """Strips unuseful extended attributes.""" 211 """Strips unuseful extended attributes."""
220 for ext_attrs in idl_file.all(IDLExtAttrs): 212 for ext_attrs in idl_file.all(IDLExtAttrs):
221 # TODO: Decide which attributes are uninteresting. 213 # TODO: Decide which attributes are uninteresting.
222 pass 214 pass
223 215
224 def _rename_types(self, idl_file, import_options): 216 def _rename_types(self, idl_file, import_options):
225 """Rename interface and type names with names provided in the 217 """Rename interface and type names with names provided in the
226 options. Also clears scopes from scoped names""" 218 options. Also clears scopes from scoped names"""
(...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 # TODO(antonm): Ideally we'd like to have pristine copy of WebKit IDLs and fetch 797 # TODO(antonm): Ideally we'd like to have pristine copy of WebKit IDLs and fetch
806 # this information directly from it. Unfortunately right now database is massaged 798 # this information directly from it. Unfortunately right now database is massaged
807 # a lot so it's difficult to maintain necessary information on Window itse lf. 799 # a lot so it's difficult to maintain necessary information on Window itse lf.
808 interface = self._database.GetInterface(type) 800 interface = self._database.GetInterface(type)
809 if 'V8EnabledPerContext' in attr.ext_attrs: 801 if 'V8EnabledPerContext' in attr.ext_attrs:
810 interface.ext_attrs['synthesizedV8EnabledPerContext'] = \ 802 interface.ext_attrs['synthesizedV8EnabledPerContext'] = \
811 attr.ext_attrs['V8EnabledPerContext'] 803 attr.ext_attrs['V8EnabledPerContext']
812 if 'V8EnabledAtRuntime' in attr.ext_attrs: 804 if 'V8EnabledAtRuntime' in attr.ext_attrs:
813 interface.ext_attrs['synthesizedV8EnabledAtRuntime'] = \ 805 interface.ext_attrs['synthesizedV8EnabledAtRuntime'] = \
814 attr.ext_attrs['V8EnabledAtRuntime'] or attr.id 806 attr.ext_attrs['V8EnabledAtRuntime'] or attr.id
OLDNEW
« no previous file with comments | « tools/dom/scripts/dartmetadata.py ('k') | tools/dom/scripts/generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698