Index: dart/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart |
diff --git a/dart/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart b/dart/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart |
index ac0cec4a9c57c8e5310de019a359053ff8e0893b..7988e2ea69ca0b9dcc78e77f1d91a5fc505bec41 100644 |
--- a/dart/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart |
+++ b/dart/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart |
@@ -39,6 +39,10 @@ class CodeEmitterTask extends CompilerTask { |
final Map<String, String> mangledGlobalFieldNames = <String, String>{}; |
final Set<String> recordedMangledNames = new Set<String>(); |
+ /// Records if a type variable is read dynamically for type tests. |
+ final Set<TypeVariableElement> readTypeVariables = |
+ new Set<TypeVariableElement>(); |
+ |
// TODO(ngeoffray): remove this field. |
Set<ClassElement> instantiatedClasses; |
@@ -1590,4 +1594,8 @@ if (typeof $printHelperName === "function") { |
bool get areAnyElementsDeferred { |
return compiler.deferredLoadTask.areAnyElementsDeferred; |
} |
+ |
+ void registerReadTypeVariable(TypeVariableElement element) { |
+ readTypeVariables.add(element); |
+ } |
} |