Index: pkg/compiler/lib/src/js_emitter/new_emitter/emitter.dart |
diff --git a/pkg/compiler/lib/src/js_emitter/new_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/new_emitter/emitter.dart |
index 1e2dae36dd30550a0a21543043df06ae8b3db5d6..44cfc17730e65cb7a7a56a798ca907b8acde5107 100644 |
--- a/pkg/compiler/lib/src/js_emitter/new_emitter/emitter.dart |
+++ b/pkg/compiler/lib/src/js_emitter/new_emitter/emitter.dart |
@@ -5,7 +5,9 @@ |
library dart2js.new_js_emitter.emitter; |
import 'package:_internal/compiler/js_lib/shared/embedded_names.dart' show |
- JsBuiltin; |
+ JsBuiltin, |
+ METADATA, |
+ TYPES; |
import '../program_builder.dart' show ProgramBuilder; |
import '../model.dart'; |
@@ -168,6 +170,15 @@ class Emitter implements emitterTask.Emitter { |
String isPrefix = namer.operatorIsPrefix; |
return js.js.expressionTemplateFor("('$isPrefix' + #) in #.prototype"); |
+ case JsBuiltin.getMetadata: |
+ String metadataAccess = |
+ _emitter.generateEmbeddedGlobalAccessString(METADATA); |
+ return js.js.expressionTemplateFor("$metadataAccess[#]"); |
+ |
+ case JsBuiltin.getType: |
+ String typesAccess = _emitter.generateEmbeddedGlobalAccessString(TYPES); |
+ return js.js.expressionTemplateFor("$typesAccess[#]"); |
+ |
default: |
_compiler.internalError(NO_LOCATION_SPANNABLE, |
"Unhandled Builtin: $builtin"); |