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
') | |
48 cpp_impl_handlers_emitter = emitter.Emitter() | 43 cpp_impl_handlers_emitter = emitter.Emitter() |
49 class_name = 'Dart%s' % self._interface.id | 44 class_name = 'Dart%s' % self._interface.id |
50 for operation in self._interface.operations: | 45 for operation in self._interface.operations: |
51 parameters = [] | 46 parameters = [] |
52 arguments = [] | 47 arguments = [] |
53 conversion_includes = [] | 48 conversion_includes = [] |
54 for argument in operation.arguments: | 49 for argument in operation.arguments: |
55 argument_type_info = self._TypeInfo(argument.type.id) | 50 argument_type_info = self._TypeInfo(argument.type.id) |
56 parameters.append('%s %s' % (argument_type_info.parameter_type(), | 51 parameters.append('%s %s' % (argument_type_info.parameter_type(), |
57 argument.id)) | 52 argument.id)) |
(...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
876 LIBRARY_NAME=library_name) | 871 LIBRARY_NAME=library_name) |
877 | 872 |
878 headers = self._library_headers[library_name] | 873 headers = self._library_headers[library_name] |
879 for header_file in headers: | 874 for header_file in headers: |
880 path = os.path.relpath(header_file, output_dir) | 875 path = os.path.relpath(header_file, output_dir) |
881 includes_emitter.Emit('#include "$PATH"\n', PATH=path) | 876 includes_emitter.Emit('#include "$PATH"\n', PATH=path) |
882 body_emitter.Emit( | 877 body_emitter.Emit( |
883 ' if (Dart_NativeFunction func = $CLASS_NAME::resolver(name, argu
mentCount))\n' | 878 ' if (Dart_NativeFunction func = $CLASS_NAME::resolver(name, argu
mentCount))\n' |
884 ' return func;\n', | 879 ' return func;\n', |
885 CLASS_NAME=os.path.splitext(os.path.basename(path))[0]) | 880 CLASS_NAME=os.path.splitext(os.path.basename(path))[0]) |
OLD | NEW |