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 logging | 10 import logging |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 self._cpp_declarations_emitter.Emit( | 301 self._cpp_declarations_emitter.Emit( |
302 '\n' | 302 '\n' |
303 'void $CPP_CALLBACK(Dart_NativeArguments);\n', | 303 'void $CPP_CALLBACK(Dart_NativeArguments);\n', |
304 CPP_CALLBACK=constructor_callback_cpp_name) | 304 CPP_CALLBACK=constructor_callback_cpp_name) |
305 | 305 |
306 return True | 306 return True |
307 | 307 |
308 def IsConstructorArgumentOptional(self, argument): | 308 def IsConstructorArgumentOptional(self, argument): |
309 return IsOptional(argument) | 309 return IsOptional(argument) |
310 | 310 |
| 311 def MakeFactoryCall(self, factory, method, arguments, constructor_info): |
| 312 return emitter.Format( |
| 313 '$FACTORY.$METHOD($ARGUMENTS)', |
| 314 FACTORY=factory, |
| 315 METHOD=method, |
| 316 ARGUMENTS=arguments) |
| 317 |
311 def EmitStaticFactoryOverload(self, constructor_info, name, arguments): | 318 def EmitStaticFactoryOverload(self, constructor_info, name, arguments): |
312 constructor_callback_cpp_name = name + 'constructorCallback' | 319 constructor_callback_cpp_name = name + 'constructorCallback' |
313 self._EmitConstructorInfrastructure( | 320 self._EmitConstructorInfrastructure( |
314 constructor_info, name, 'constructorCallback', name, arguments, | 321 constructor_info, name, 'constructorCallback', name, arguments, |
315 emit_to_native=True, | 322 emit_to_native=True, |
316 is_custom=False) | 323 is_custom=False) |
317 | 324 |
318 ext_attrs = self._interface.ext_attrs | 325 ext_attrs = self._interface.ext_attrs |
319 | 326 |
320 create_function = 'create' | 327 create_function = 'create' |
(...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1248 | 1255 |
1249 def _IsCustom(op_or_attr): | 1256 def _IsCustom(op_or_attr): |
1250 assert(isinstance(op_or_attr, IDLMember)) | 1257 assert(isinstance(op_or_attr, IDLMember)) |
1251 return 'Custom' in op_or_attr.ext_attrs or 'DartCustom' in op_or_attr.ext_attr
s | 1258 return 'Custom' in op_or_attr.ext_attrs or 'DartCustom' in op_or_attr.ext_attr
s |
1252 | 1259 |
1253 def _IsCustomValue(op_or_attr, value): | 1260 def _IsCustomValue(op_or_attr, value): |
1254 if _IsCustom(op_or_attr): | 1261 if _IsCustom(op_or_attr): |
1255 return op_or_attr.ext_attrs.get('Custom') == value \ | 1262 return op_or_attr.ext_attrs.get('Custom') == value \ |
1256 or op_or_attr.ext_attrs.get('DartCustom') == value | 1263 or op_or_attr.ext_attrs.get('DartCustom') == value |
1257 return False | 1264 return False |
OLD | NEW |