Chromium Code Reviews| Index: client/dom/scripts/systemnative.py |
| diff --git a/client/dom/scripts/systemnative.py b/client/dom/scripts/systemnative.py |
| index b43ea930d01d53dbf32e8e91d61ea312de49eea1..9227d1bd5feafa26e766a46ebbdc775d0ca11e9b 100644 |
| --- a/client/dom/scripts/systemnative.py |
| +++ b/client/dom/scripts/systemnative.py |
| @@ -12,15 +12,6 @@ import systemwrapping |
| from generator import * |
| from systembase import * |
| - |
| -_cpp_keywords = set(['default', 'operator']) |
| - |
| -def CppSafeName(name): |
| - """Returns version of name safe for use in cpp code, i.e. not a keyword.""" |
| - if name in _cpp_keywords: |
| - return '_' + name |
| - return name |
| - |
| class NativeImplementationSystem(System): |
| def __init__(self, templates, database, emitters, auxiliary_dir, output_dir): |
| @@ -289,10 +280,8 @@ class NativeImplementationGenerator(systemwrapping.WrappingInterfaceGenerator): |
| # Process constructor arguments. |
| for (i, arg) in enumerate(constructor_info.idl_args): |
| - cpp_arg_name = CppSafeName(arg.id) |
|
podivilov
2012/03/13 12:48:13
c++ keywords are never used as parameter names in
|
| - self._GenerateParameterAdapter( |
| - parameter_definitions_emitter, arg, cpp_arg_name, i - 1) |
| - arguments.append(cpp_arg_name) |
| + self._GenerateParameterAdapter(parameter_definitions_emitter, arg, i - 1) |
| + arguments.append(arg.id) |
| function_expression = '%s::%s' % (self._interface_type_info.native_type(), create_function) |
| invocation = self._GenerateWebCoreInvocation(function_expression, arguments, |
| @@ -402,13 +391,14 @@ class NativeImplementationGenerator(systemwrapping.WrappingInterfaceGenerator): |
| webcore_function_name = 'getURLAttribute' |
| arguments.append(self._GenerateWebCoreReflectionAttributeName(attr)) |
| else: |
| - webcore_function_name = CppSafeName(attr.id) |
| - if attr.id == 'target' and attr.type.id == 'SVGAnimatedString': |
| + if attr.id == 'operator': |
|
podivilov
2012/03/13 12:48:13
operator -> _operator rename is rather just a spec
|
| + webcore_function_name = '_operator' |
| + elif attr.id == 'target' and attr.type.id == 'SVGAnimatedString': |
| webcore_function_name = 'svgTarget' |
| else: |
| webcore_function_name = re.sub(r'^(HTML|URL|JS|XML|XSLT|\w)', |
| lambda s: s.group(1).lower(), |
| - webcore_function_name) |
| + attr.id) |
| webcore_function_name = re.sub(r'^(create|exclusive)', |
| lambda s: 'is' + s.group(1).capitalize(), |
| webcore_function_name) |
| @@ -443,12 +433,11 @@ class NativeImplementationGenerator(systemwrapping.WrappingInterfaceGenerator): |
| if attr.type.id.startswith('SVGAnimated'): |
| webcore_function_name += 'Animated' |
| - cpp_arg_name = CppSafeName(attr.id) |
| - arguments.append(cpp_arg_name) |
| + arguments.append('value') |
| parameter_definitions_emitter = emitter.Emitter() |
| self._GenerateParameterAdapter( |
| - parameter_definitions_emitter, attr, cpp_arg_name, 0) |
| + parameter_definitions_emitter, attr, 0, adapter_name='value') |
| parameter_definitions = parameter_definitions_emitter.Fragments() |
| function_expression = self._GenerateWebCoreFunctionExpression(webcore_function_name, attr) |
| @@ -591,10 +580,8 @@ class NativeImplementationGenerator(systemwrapping.WrappingInterfaceGenerator): |
| # FIXME: we are skipping last argument here because it was added in |
| # supplemental dart.idl. Cleanup dart.idl and remove this check. |
| break |
| - cpp_arg_name = CppSafeName(argument.id) |
|
podivilov
2012/03/13 12:48:13
ditto.
|
| - self._GenerateParameterAdapter( |
| - parameter_definitions_emitter, argument, cpp_arg_name, i) |
| - arguments.append(cpp_arg_name) |
| + self._GenerateParameterAdapter(parameter_definitions_emitter, argument, i) |
| + arguments.append(argument.id) |
| if operation.id in ['addEventListener', 'removeEventListener']: |
| # addEventListener's and removeEventListener's last argument is marked |
| @@ -658,7 +645,8 @@ class NativeImplementationGenerator(systemwrapping.WrappingInterfaceGenerator): |
| CALLBACK_NAME=callback_name, |
| BODY=body) |
| - def _GenerateParameterAdapter(self, emitter, idl_node, name, index): |
| + def _GenerateParameterAdapter(self, emitter, idl_node, index, |
| + adapter_name=None): |
| """idl_node is IDLArgument or IDLAttribute.""" |
| type_info = GetIDLTypeInfo(idl_node.type.id) |
| (adapter_type, include_name) = type_info.parameter_adapter_info() |
| @@ -676,7 +664,7 @@ class NativeImplementationGenerator(systemwrapping.WrappingInterfaceGenerator): |
| ' goto fail;\n' |
| ' }\n', |
| ADAPTER_TYPE=adapter_type, |
| - NAME=name, |
| + NAME=adapter_name or idl_node.id, |
| INDEX=index + 1, |
| FLAGS=flags) |