Index: dart/tools/dom/scripts/htmldartgenerator.py |
=================================================================== |
--- dart/tools/dom/scripts/htmldartgenerator.py (revision 37971) |
+++ dart/tools/dom/scripts/htmldartgenerator.py (working copy) |
@@ -358,8 +358,9 @@ |
for i in reversed(range(0, argument_count)): |
argument = signatures[signature_index][i] |
parameter_name = parameter_names[i] |
- test_type = self._DartType(argument.type.id) |
+ test_type = self._NarrowToImplementationType(argument.type.id) |
+ |
if test_type in ['dynamic', 'Object']: |
checks.append('%s != null' % parameter_name) |
elif not can_omit_type_check(test_type, i): |
@@ -755,6 +756,12 @@ |
if type_name in _secure_base_types: |
return _secure_base_types[type_name] |
+ def _NarrowToImplementationType(self, type_name): |
+ return self._type_registry.TypeInfo(type_name).narrow_dart_type() |
+ |
+ def _NarrowInputType(self, type_name): |
+ return self._NarrowToImplementationType(type_name) |
+ |
def _DartType(self, type_name): |
return self._type_registry.DartType(type_name) |