| Index: pkg/compiler/lib/src/js_backend/backend.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
|
| index 20e7bb7fdf839aa6d1a6b64885a4506485bc8aec..21bcb938c917ebfaaaec2926563f723dcd7114bb 100644
|
| --- a/pkg/compiler/lib/src/js_backend/backend.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/backend.dart
|
| @@ -902,7 +902,7 @@ class JavaScriptBackend extends Backend {
|
| cls.ensureResolved(compiler);
|
| cls.forEachMember((ClassElement classElement, Element member) {
|
| if (member.name == Identifiers.call) {
|
| - compiler.reportError(
|
| + compiler.reportErrorMessage(
|
| member,
|
| MessageKind.CALL_NOT_SUPPORTED_ON_NATIVE_CLASS);
|
| return;
|
| @@ -1514,11 +1514,13 @@ class JavaScriptBackend extends Backend {
|
| if (totalMethodCount != preMirrorsMethodCount) {
|
| int mirrorCount = totalMethodCount - preMirrorsMethodCount;
|
| double percentage = (mirrorCount / totalMethodCount) * 100;
|
| - compiler.reportHint(
|
| + DiagnosticMessage hint = compiler.createMessage(
|
| compiler.mainApp, MessageKind.MIRROR_BLOAT,
|
| {'count': mirrorCount,
|
| 'total': totalMethodCount,
|
| 'percentage': percentage.round()});
|
| +
|
| + List<DiagnosticMessage> infos = <DiagnosticMessage>[];
|
| for (LibraryElement library in compiler.libraryLoader.libraries) {
|
| if (library.isInternalLibrary) continue;
|
| for (ImportElement import in library.imports) {
|
| @@ -1529,10 +1531,11 @@ class JavaScriptBackend extends Backend {
|
| ? MessageKind.MIRROR_IMPORT
|
| : MessageKind.MIRROR_IMPORT_NO_USAGE;
|
| compiler.withCurrentElement(library, () {
|
| - compiler.reportInfo(import, kind);
|
| + infos.add(compiler.createMessage(import, kind));
|
| });
|
| }
|
| }
|
| + compiler.reportHint(hint, infos);
|
| }
|
| return programSize;
|
| }
|
| @@ -2634,7 +2637,8 @@ class JavaScriptBackend extends Backend {
|
| if (cls == forceInlineClass) {
|
| hasForceInline = true;
|
| if (VERBOSE_OPTIMIZER_HINTS) {
|
| - compiler.reportHint(element,
|
| + compiler.reportHintMessage(
|
| + element,
|
| MessageKind.GENERIC,
|
| {'text': "Must inline"});
|
| }
|
| @@ -2642,7 +2646,8 @@ class JavaScriptBackend extends Backend {
|
| } else if (cls == noInlineClass) {
|
| hasNoInline = true;
|
| if (VERBOSE_OPTIMIZER_HINTS) {
|
| - compiler.reportHint(element,
|
| + compiler.reportHintMessage(
|
| + element,
|
| MessageKind.GENERIC,
|
| {'text': "Cannot inline"});
|
| }
|
| @@ -2655,7 +2660,8 @@ class JavaScriptBackend extends Backend {
|
| " or static functions");
|
| }
|
| if (VERBOSE_OPTIMIZER_HINTS) {
|
| - compiler.reportHint(element,
|
| + compiler.reportHintMessage(
|
| + element,
|
| MessageKind.GENERIC,
|
| {'text': "Cannot throw"});
|
| }
|
| @@ -2663,7 +2669,8 @@ class JavaScriptBackend extends Backend {
|
| } else if (cls == noSideEffectsClass) {
|
| hasNoSideEffects = true;
|
| if (VERBOSE_OPTIMIZER_HINTS) {
|
| - compiler.reportHint(element,
|
| + compiler.reportHintMessage(
|
| + element,
|
| MessageKind.GENERIC,
|
| {'text': "Has no side effects"});
|
| }
|
| @@ -2769,7 +2776,7 @@ class JavaScriptBackend extends Backend {
|
| @override
|
| bool enableCodegenWithErrorsIfSupported(Spannable node) {
|
| if (compiler.useCpsIr) {
|
| - compiler.reportHint(
|
| + compiler.reportHintMessage(
|
| node,
|
| MessageKind.GENERIC,
|
| {'text': "Generation of code with compile time errors is currently "
|
|
|