Index: pkg/compiler/lib/src/js_emitter/metadata_collector.dart |
diff --git a/pkg/compiler/lib/src/js_emitter/metadata_collector.dart b/pkg/compiler/lib/src/js_emitter/metadata_collector.dart |
index af554558ebedc39e5efd908eae704929202b8ddb..e0a9b03bec7de32797f526f4af0fef9661fd6c5f 100644 |
--- a/pkg/compiler/lib/src/js_emitter/metadata_collector.dart |
+++ b/pkg/compiler/lib/src/js_emitter/metadata_collector.dart |
@@ -145,6 +145,7 @@ class MetadataCollector implements jsAst.TokenFinalizer { |
JavaScriptBackend get _backend => _compiler.backend; |
TypeVariableHandler get _typeVariableHandler => _backend.typeVariableHandler; |
+ DiagnosticReporter get reporter => _compiler.reporter; |
bool _mustEmitMetadataFor(Element element) { |
return _backend.mustRetainMetadata && |
@@ -159,13 +160,13 @@ class MetadataCollector implements jsAst.TokenFinalizer { |
/// mirrors_patch to implement DeclarationMirror.metadata. |
jsAst.Fun buildMetadataFunction(Element element) { |
if (!_mustEmitMetadataFor(element)) return null; |
- return _compiler.withCurrentElement(element, () { |
+ return reporter.withCurrentElement(element, () { |
List<jsAst.Expression> metadata = <jsAst.Expression>[]; |
for (MetadataAnnotation annotation in element.metadata) { |
ConstantValue constant = |
_backend.constants.getConstantValueForMetadata(annotation); |
if (constant == null) { |
- _compiler.internalError(annotation, 'Annotation value is null.'); |
+ reporter.internalError(annotation, 'Annotation value is null.'); |
} else { |
metadata.add(_emitter.constantReference(constant)); |
} |
@@ -195,7 +196,7 @@ class MetadataCollector implements jsAst.TokenFinalizer { |
ConstantValue constant = |
_backend.constants.getConstantValueForMetadata(annotation); |
if (constant == null) { |
- _compiler.internalError(annotation, 'Annotation value is null.'); |
+ reporter.internalError(annotation, 'Annotation value is null.'); |
return null; |
} |
return _addGlobalMetadata(_emitter.constantReference(constant)); |
@@ -255,7 +256,7 @@ class MetadataCollector implements jsAst.TokenFinalizer { |
if (representation is jsAst.LiteralString) { |
// We don't want the representation to be a string, since we use |
// strings as indicator for non-initialized types in the lazy emitter. |
- _compiler.internalError( |
+ reporter.internalError( |
NO_LOCATION_SPANNABLE, 'reified types should not be strings.'); |
} |
@@ -281,7 +282,7 @@ class MetadataCollector implements jsAst.TokenFinalizer { |
} |
List<jsAst.DeferredNumber> computeMetadata(FunctionElement element) { |
- return _compiler.withCurrentElement(element, () { |
+ return reporter.withCurrentElement(element, () { |
if (!_mustEmitMetadataFor(element)) return const <jsAst.DeferredNumber>[]; |
List<jsAst.DeferredNumber> metadata = <jsAst.DeferredNumber>[]; |
for (MetadataAnnotation annotation in element.metadata) { |