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 the systems to generate | 6 """This module provides shared functionality for the systems to generate |
7 native binding from the IDL database.""" | 7 native binding from the IDL database.""" |
8 | 8 |
9 import emitter | 9 import emitter |
10 import os | 10 import os |
(...skipping 1177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1188 """ | 1188 """ |
1189 Arguments: | 1189 Arguments: |
1190 info: An OperationInfo object. | 1190 info: An OperationInfo object. |
1191 """ | 1191 """ |
1192 return_type = self.SecureOutputType(info.type_name, False, False if dart_js_
interop else True) | 1192 return_type = self.SecureOutputType(info.type_name, False, False if dart_js_
interop else True) |
1193 | 1193 |
1194 formals = info.ParametersAsDeclaration(self._DartType) | 1194 formals = info.ParametersAsDeclaration(self._DartType) |
1195 | 1195 |
1196 parameters = info.ParametersAsListOfVariables(None, | 1196 parameters = info.ParametersAsListOfVariables(None, |
1197 self._type_registry if self._d
art_use_blink else None, | 1197 self._type_registry if self._d
art_use_blink else None, |
1198 dart_js_interop) | 1198 dart_js_interop, |
| 1199 self) |
1199 dart_declaration = '%s%s %s(%s)' % ( | 1200 dart_declaration = '%s%s %s(%s)' % ( |
1200 'static ' if info.IsStatic() else '', | 1201 'static ' if info.IsStatic() else '', |
1201 return_type, | 1202 return_type, |
1202 html_name, | 1203 html_name, |
1203 formals) | 1204 formals) |
1204 | 1205 |
1205 operation = info.operations[0] | 1206 operation = info.operations[0] |
1206 | 1207 |
1207 is_custom = _IsCustom(operation) | 1208 is_custom = _IsCustom(operation) |
1208 has_optional_arguments = any(IsOptional(argument) for argument in operation.
arguments) | 1209 has_optional_arguments = any(IsOptional(argument) for argument in operation.
arguments) |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1251 else: | 1252 else: |
1252 self._GenerateDispatcher(info, info.operations, dart_declaration, html_nam
e) | 1253 self._GenerateDispatcher(info, info.operations, dart_declaration, html_nam
e) |
1253 | 1254 |
1254 def _GenerateDispatcher(self, info, operations, dart_declaration, html_name): | 1255 def _GenerateDispatcher(self, info, operations, dart_declaration, html_name): |
1255 | 1256 |
1256 def GenerateCall( | 1257 def GenerateCall( |
1257 stmts_emitter, call_emitter, version, operation, argument_count): | 1258 stmts_emitter, call_emitter, version, operation, argument_count): |
1258 native_suffix = 'Callback' | 1259 native_suffix = 'Callback' |
1259 actuals = info.ParametersAsListOfVariables(argument_count, | 1260 actuals = info.ParametersAsListOfVariables(argument_count, |
1260 self._type_registry if self._da
rt_use_blink else None, | 1261 self._type_registry if self._da
rt_use_blink else None, |
1261 self._dart_js_interop) | 1262 self._dart_js_interop, |
| 1263 self) |
1262 actuals_s = ", ".join(actuals) | 1264 actuals_s = ", ".join(actuals) |
1263 formals=actuals | 1265 formals=actuals |
1264 return_type = self.SecureOutputType(operation.type.id) | 1266 return_type = self.SecureOutputType(operation.type.id) |
1265 | 1267 |
1266 return_wrap_jso = False | 1268 return_wrap_jso = False |
1267 if self._dart_use_blink: | 1269 if self._dart_use_blink: |
1268 return_wrap_jso = wrap_return_type_blink(return_type, info.type_name,
self._type_registry) | 1270 return_wrap_jso = wrap_return_type_blink(return_type, info.type_name,
self._type_registry) |
1269 | 1271 |
1270 native_suffix = 'Callback' | 1272 native_suffix = 'Callback' |
1271 is_custom = _IsCustom(operation) | 1273 is_custom = _IsCustom(operation) |
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2032 | 2034 |
2033 def _IsCustom(op_or_attr): | 2035 def _IsCustom(op_or_attr): |
2034 assert(isinstance(op_or_attr, IDLMember)) | 2036 assert(isinstance(op_or_attr, IDLMember)) |
2035 return 'Custom' in op_or_attr.ext_attrs or 'DartCustom' in op_or_attr.ext_attr
s | 2037 return 'Custom' in op_or_attr.ext_attrs or 'DartCustom' in op_or_attr.ext_attr
s |
2036 | 2038 |
2037 def _IsCustomValue(op_or_attr, value): | 2039 def _IsCustomValue(op_or_attr, value): |
2038 if _IsCustom(op_or_attr): | 2040 if _IsCustom(op_or_attr): |
2039 return op_or_attr.ext_attrs.get('Custom') == value \ | 2041 return op_or_attr.ext_attrs.get('Custom') == value \ |
2040 or op_or_attr.ext_attrs.get('DartCustom') == value | 2042 or op_or_attr.ext_attrs.get('DartCustom') == value |
2041 return False | 2043 return False |
OLD | NEW |