OLD | NEW |
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 shared functionality for systems to generate | 6 """This module provides shared functionality for systems to generate |
7 Dart APIs from the IDL database.""" | 7 Dart APIs from the IDL database.""" |
8 | 8 |
9 import re | 9 import re |
10 | 10 |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 | 221 |
222 def MatchSourceFilter(filter, thing): | 222 def MatchSourceFilter(filter, thing): |
223 if not filter: | 223 if not filter: |
224 return True | 224 return True |
225 else: | 225 else: |
226 return any(token in thing.annotations for token in filter) | 226 return any(token in thing.annotations for token in filter) |
227 | 227 |
228 def DartType(idl_type_name): | 228 def DartType(idl_type_name): |
229 match = re.match(r'sequence<(\w*)>$', idl_type_name) | 229 match = re.match(r'sequence<(\w*)>$', idl_type_name) |
230 if match: | 230 if match: |
231 return 'List<%s>' % GetIDLTypeInfoByName(match.group(1)).dart_type() | 231 return 'List<%s>' % GetIDLTypeInfo(match.group(1)).dart_type() |
232 return GetIDLTypeInfoByName(idl_type_name).dart_type() | 232 return GetIDLTypeInfo(idl_type_name).dart_type() |
233 | 233 |
234 # Given a list of overloaded arguments, render a dart argument. | 234 # Given a list of overloaded arguments, render a dart argument. |
235 def _DartArg(args, interface): | 235 def _DartArg(args, interface): |
236 # Given a list of overloaded arguments, choose a suitable name. | 236 # Given a list of overloaded arguments, choose a suitable name. |
237 def OverloadedName(args): | 237 def OverloadedName(args): |
238 return '_OR_'.join(sorted(set(arg.id for arg in args))) | 238 return '_OR_'.join(sorted(set(arg.id for arg in args))) |
239 | 239 |
240 # Given a list of overloaded arguments, choose a suitable type. | 240 # Given a list of overloaded arguments, choose a suitable type. |
241 def OverloadedType(args): | 241 def OverloadedType(args): |
242 typeIds = sorted(set(DartType(arg.type.id) for arg in args)) | 242 typeIds = sorted(set(DartType(arg.type.id) for arg in args)) |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
619 'SVGPathSegList': SVGTearOffIDLTypeInfo('SVGPathSegList', native_type='SVGPa
thSegListPropertyTearOff', ref_counted=False), | 619 'SVGPathSegList': SVGTearOffIDLTypeInfo('SVGPathSegList', native_type='SVGPa
thSegListPropertyTearOff', ref_counted=False), |
620 'SVGPoint': SVGTearOffIDLTypeInfo('SVGPoint', native_type='SVGPropertyTearOf
f<FloatPoint>'), | 620 'SVGPoint': SVGTearOffIDLTypeInfo('SVGPoint', native_type='SVGPropertyTearOf
f<FloatPoint>'), |
621 'SVGPointList': SVGTearOffIDLTypeInfo('SVGPointList', ref_counted=False), | 621 'SVGPointList': SVGTearOffIDLTypeInfo('SVGPointList', ref_counted=False), |
622 'SVGPreserveAspectRatio': SVGTearOffIDLTypeInfo('SVGPreserveAspectRatio'), | 622 'SVGPreserveAspectRatio': SVGTearOffIDLTypeInfo('SVGPreserveAspectRatio'), |
623 'SVGRect': SVGTearOffIDLTypeInfo('SVGRect', native_type='SVGPropertyTearOff<
FloatRect>'), | 623 'SVGRect': SVGTearOffIDLTypeInfo('SVGRect', native_type='SVGPropertyTearOff<
FloatRect>'), |
624 'SVGStringList': SVGTearOffIDLTypeInfo('SVGStringList', native_type='SVGStat
icListPropertyTearOff<SVGStringList>', ref_counted=False), | 624 'SVGStringList': SVGTearOffIDLTypeInfo('SVGStringList', native_type='SVGStat
icListPropertyTearOff<SVGStringList>', ref_counted=False), |
625 'SVGTransform': SVGTearOffIDLTypeInfo('SVGTransform'), | 625 'SVGTransform': SVGTearOffIDLTypeInfo('SVGTransform'), |
626 'SVGTransformList': SVGTearOffIDLTypeInfo('SVGTransformList', native_type='S
VGTransformListPropertyTearOff', ref_counted=False) | 626 'SVGTransformList': SVGTearOffIDLTypeInfo('SVGTransformList', native_type='S
VGTransformListPropertyTearOff', ref_counted=False) |
627 } | 627 } |
628 | 628 |
629 def GetIDLTypeInfo(idl_type): | 629 def GetIDLTypeInfo(idl_type_name): |
630 return GetIDLTypeInfoByName(idl_type.id) | |
631 | |
632 def GetIDLTypeInfoByName(idl_type_name): | |
633 return _idl_type_registry.get(idl_type_name, IDLTypeInfo(idl_type_name)) | 630 return _idl_type_registry.get(idl_type_name, IDLTypeInfo(idl_type_name)) |
OLD | NEW |