Index: pkg/compiler/lib/src/js_backend/codegen/codegen.dart |
diff --git a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart |
index c133788a1f9a2fa81d5a5ebb791b7f7702173bc7..6379605fcfafc158db3b7d58e526114ac8585bb8 100644 |
--- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart |
+++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart |
@@ -383,7 +383,14 @@ class CodeGenerator extends tree_ir.StatementVisitor |
return buildStaticHelperInvocation( |
glue.getCheckSubtype(), |
- [value, isT, typeArgumentArray, asT]); |
+ <js.Expression>[value, isT, typeArgumentArray, asT]); |
+ } else if (type is TypeVariableType) { |
+ glue.registerIsCheck(type, registry); |
+ // The only type argument is the type held in the type variable. |
+ js.Expression typeValue = typeArguments.single; |
+ return buildStaticHelperInvocation( |
+ glue.getCheckSubtypeOfRuntime(), |
+ <js.Expression>[value, typeValue]); |
} |
return giveup(node, 'type check unimplemented for $type.'); |
} |