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 22 matching lines...) Expand all Loading... |
33 | 33 |
34 def CustomJSMembers(self): | 34 def CustomJSMembers(self): |
35 return {} | 35 return {} |
36 | 36 |
37 def GenerateCallback(self, info): | 37 def GenerateCallback(self, info): |
38 if IsPureInterface(self._interface.id): | 38 if IsPureInterface(self._interface.id): |
39 return | 39 return |
40 | 40 |
41 cpp_impl_includes = set() | 41 cpp_impl_includes = set() |
42 cpp_header_handlers_emitter = emitter.Emitter() | 42 cpp_header_handlers_emitter = emitter.Emitter() |
| 43 # TODO(antonm): FIX IT |
| 44 if self._interface.id == 'MutationCallback': |
| 45 cpp_header_handlers_emitter.Emit( |
| 46 '\n' |
| 47 ' virtual ScriptExecutionContext* scriptExecutionContext() const;\n
') |
43 cpp_impl_handlers_emitter = emitter.Emitter() | 48 cpp_impl_handlers_emitter = emitter.Emitter() |
44 class_name = 'Dart%s' % self._interface.id | 49 class_name = 'Dart%s' % self._interface.id |
45 for operation in self._interface.operations: | 50 for operation in self._interface.operations: |
46 parameters = [] | 51 parameters = [] |
47 arguments = [] | 52 arguments = [] |
48 conversion_includes = [] | 53 conversion_includes = [] |
49 for argument in operation.arguments: | 54 for argument in operation.arguments: |
50 argument_type_info = self._TypeInfo(argument.type.id) | 55 argument_type_info = self._TypeInfo(argument.type.id) |
51 parameters.append('%s %s' % (argument_type_info.parameter_type(), | 56 parameters.append('%s %s' % (argument_type_info.parameter_type(), |
52 argument.id)) | 57 argument.id)) |
(...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
871 LIBRARY_NAME=library_name) | 876 LIBRARY_NAME=library_name) |
872 | 877 |
873 headers = self._library_headers[library_name] | 878 headers = self._library_headers[library_name] |
874 for header_file in headers: | 879 for header_file in headers: |
875 path = os.path.relpath(header_file, output_dir) | 880 path = os.path.relpath(header_file, output_dir) |
876 includes_emitter.Emit('#include "$PATH"\n', PATH=path) | 881 includes_emitter.Emit('#include "$PATH"\n', PATH=path) |
877 body_emitter.Emit( | 882 body_emitter.Emit( |
878 ' if (Dart_NativeFunction func = $CLASS_NAME::resolver(name, argu
mentCount))\n' | 883 ' if (Dart_NativeFunction func = $CLASS_NAME::resolver(name, argu
mentCount))\n' |
879 ' return func;\n', | 884 ' return func;\n', |
880 CLASS_NAME=os.path.splitext(os.path.basename(path))[0]) | 885 CLASS_NAME=os.path.splitext(os.path.basename(path))[0]) |
OLD | NEW |