Chromium Code Reviews| Index: sdk/lib/html/scripts/systemhtml.py |
| diff --git a/sdk/lib/html/scripts/systemhtml.py b/sdk/lib/html/scripts/systemhtml.py |
| index 90729a9f82a41d5724aa514398e3abb42d4f5ef6..b2892e51ffcbdc64feb265d421bc8be07580bd6a 100644 |
| --- a/sdk/lib/html/scripts/systemhtml.py |
| +++ b/sdk/lib/html/scripts/systemhtml.py |
| @@ -309,7 +309,7 @@ class HtmlDartInterfaceGenerator(object): |
| merged_interface = self._interface_type_info.merged_interface() |
| if merged_interface: |
| - self._backend.AddMembers(self._database.GetInterface(merged_interface), |
| + self._backend.AddMembers(self._database.GetInterface(merged_interface), |
| not self._backend.ImplementsMergedMembers()) |
| self._backend.AddMembers(self._interface) |
| @@ -637,7 +637,6 @@ class Dart2JSBackend(HtmlDartGenerator): |
| def _AddOperationWithConversions(self, info, html_name): |
| # Assert all operations have same return type. |
| assert len(set([op.type.id for op in info.operations])) == 1 |
| - info = info.CopyAndWidenDefaultParameters() |
| output_conversion = self._OutputConversion(info.type_name, |
| info.declared_name) |
| if output_conversion: |
| @@ -677,7 +676,7 @@ class Dart2JSBackend(HtmlDartGenerator): |
| (stmts_emitter, call_emitter) = body.Emit( |
| ' if ($CHECKS) {\n$!STMTS$!CALL }\n', |
| INDENT=' ', |
| - CHECKS=' &&\n '.join(checks)) |
| + CHECKS=' && '.join(checks)) |
|
sra1
2012/11/09 21:34:41
Can you put this back?
blois
2012/11/09 23:20:41
Done :)
|
| else: |
| (stmts_emitter, call_emitter) = body.Emit('$!A$!B', INDENT=' '); |
| @@ -707,12 +706,6 @@ class Dart2JSBackend(HtmlDartGenerator): |
| # Verified by argument checking on entry to the dispatcher. |
| verified_type = InputType(info.param_infos[position].type_id) |
| - # The native method does not need an argument type if we know the type. |
| - # But we do need the native methods to have correct function types, so |
| - # be conservative. |
| - if param_type == verified_type: |
| - if param_type in ['String', 'num', 'int', 'double', 'bool', 'Object']: |
| - param_type = 'dynamic' |
|
sra1
2012/11/09 21:34:41
What is the effect of removing this on code size i
blois
2012/11/09 23:20:41
Done.
|
| target_parameters.append( |
| '%s%s' % (TypeOrNothing(param_type), param_name)) |
| @@ -746,8 +739,8 @@ class Dart2JSBackend(HtmlDartGenerator): |
| if test_type in ['dynamic', 'Object']: |
| checks.append('?%s' % parameter_name) |
| elif test_type != parameter_types[i]: |
| - checks.append('(%s is %s || %s == null)' % ( |
| - parameter_name, test_type, parameter_name)) |
| + checks.append('(?%s && %s is %s)' % (parameter_name, parameter_name, test_type)) |
|
sra1
2012/11/09 21:34:41
This was not a null-means-missing check.
If you ex
|
| + |
| checks.extend(['!?%s' % name for name in parameter_names[argument_count:]]) |
| # There can be multiple presence checks. We need them all since a later |
| # optional argument could have been passed by name, leaving 'holes'. |