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

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

Issue 10698108: Stop passing HtmlSystemShared around and move html renaming to IDLTypeInfo. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: . Created 8 years, 5 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/generator.py ('k') | lib/dom/scripts/systemfrog.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 provides base functionality for systems to generate 6 """This module provides base functionality for systems to generate
7 Dart APIs from the IDL database.""" 7 Dart APIs from the IDL database."""
8 8
9 import os 9 import os
10 from generator import * 10 from generator import *
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 # Helper methods used by several systems. 49 # Helper methods used by several systems.
50 50
51 def _ProcessCallback(self, interface, info, file_path): 51 def _ProcessCallback(self, interface, info, file_path):
52 """Generates a typedef for the callback interface.""" 52 """Generates a typedef for the callback interface."""
53 self._dart_interface_file_paths.append(file_path) 53 self._dart_interface_file_paths.append(file_path)
54 code = self._emitters.FileEmitter(file_path) 54 code = self._emitters.FileEmitter(file_path)
55 55
56 code.Emit(self._templates.Load('callback.darttemplate')) 56 code.Emit(self._templates.Load('callback.darttemplate'))
57 code.Emit('typedef $TYPE $NAME($PARAMS);\n', 57 code.Emit('typedef $TYPE $NAME($PARAMS);\n',
58 NAME=interface.id, 58 NAME=interface.id,
59 TYPE=info.type_name, 59 TYPE=DartType(info.type_name),
60 PARAMS=info.ParametersImplementationDeclaration()) 60 PARAMS=info.ParametersImplementationDeclaration(DartType))
61 61
62 62
63 def _GenerateLibFile(self, lib_template, lib_file_path, file_paths, 63 def _GenerateLibFile(self, lib_template, lib_file_path, file_paths,
64 **template_args): 64 **template_args):
65 """Generates a lib file from a template and a list of files. 65 """Generates a lib file from a template and a list of files.
66 66
67 Additional keyword arguments are passed to the template. 67 Additional keyword arguments are passed to the template.
68 Typically called from self.GenerateLibraries. 68 Typically called from self.GenerateLibraries.
69 """ 69 """
70 # Load template. 70 # Load template.
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 215
216 result = [] 216 result = []
217 if interface.parents: 217 if interface.parents:
218 parent = interface.parents[0] 218 parent = interface.parents[0]
219 if IsPureInterface(parent.type.id): 219 if IsPureInterface(parent.type.id):
220 walk(interface.parents) 220 walk(interface.parents)
221 else: 221 else:
222 walk(interface.parents[1:]) 222 walk(interface.parents[1:])
223 return result 223 return result
224 224
225 def _DartType(self, type_name):
226 return self._system._type_registry.DartType(type_name)
227
228
225 class GeneratorContext(object): 229 class GeneratorContext(object):
226 def __init__(self, templates, database, emitters, type_registry, output_dir): 230 def __init__(self, templates, database, emitters, type_registry, output_dir):
227 self.templates = templates 231 self.templates = templates
228 self.database = database 232 self.database = database
229 self.emitters = emitters 233 self.emitters = emitters
230 self.type_registry = type_registry 234 self.type_registry = type_registry
231 self.output_dir = output_dir 235 self.output_dir = output_dir
232 236
233 237
234 def IsReadOnly(attribute): 238 def IsReadOnly(attribute):
235 return attribute.is_read_only or 'Replaceable' in attribute.ext_attrs 239 return attribute.is_read_only or 'Replaceable' in attribute.ext_attrs
OLDNEW
« no previous file with comments | « lib/dom/scripts/generator.py ('k') | lib/dom/scripts/systemfrog.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698