| Index: dart/sdk/lib/_internal/compiler/implementation/patch_parser.dart
|
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/patch_parser.dart b/dart/sdk/lib/_internal/compiler/implementation/patch_parser.dart
|
| index b356d78ff3b76243f9158f2133844f091c67ff42..31f25766ec3eb922f159e6cb928cff82ca88691c 100644
|
| --- a/dart/sdk/lib/_internal/compiler/implementation/patch_parser.dart
|
| +++ b/dart/sdk/lib/_internal/compiler/implementation/patch_parser.dart
|
| @@ -394,20 +394,15 @@ void patchElement(leg.DiagnosticListener listener,
|
| Element origin,
|
| Element patch) {
|
| if (origin == null) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_NON_EXISTING.error({'name': patch.name}),
|
| - api.Diagnostic.ERROR);
|
| + listener.reportError(
|
| + patch, leg.MessageKind.PATCH_NON_EXISTING, {'name': patch.name});
|
| return;
|
| }
|
| if (!(origin.isClass() ||
|
| origin.isConstructor() ||
|
| origin.isFunction() ||
|
| origin.isAbstractField())) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(origin),
|
| - leg.MessageKind.PATCH_NONPATCHABLE.error(),
|
| - api.Diagnostic.ERROR);
|
| + listener.reportError(origin, leg.MessageKind.PATCH_NONPATCHABLE);
|
| return;
|
| }
|
| if (patch.isClass()) {
|
| @@ -421,10 +416,7 @@ void patchElement(leg.DiagnosticListener listener,
|
| } else if(patch.isFunction()) {
|
| tryPatchFunction(listener, origin, patch);
|
| } else {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_NONPATCHABLE.error(),
|
| - api.Diagnostic.ERROR);
|
| + listener.reportError(patch, leg.MessageKind.PATCH_NONPATCHABLE);
|
| }
|
| }
|
|
|
| @@ -432,14 +424,10 @@ void tryPatchClass(leg.DiagnosticListener listener,
|
| Element origin,
|
| ClassElement patch) {
|
| if (!origin.isClass()) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(origin),
|
| - leg.MessageKind.PATCH_NON_CLASS.error({'className': patch.name}),
|
| - api.Diagnostic.ERROR);
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_POINT_TO_CLASS.error({'className': patch.name}),
|
| - api.Diagnostic.INFO);
|
| + listener.reportError(
|
| + origin, leg.MessageKind.PATCH_NON_CLASS, {'className': patch.name});
|
| + listener.reportInfo(
|
| + patch, leg.MessageKind.PATCH_POINT_TO_CLASS, {'className': patch.name});
|
| return;
|
| }
|
| patchClass(listener, origin, patch);
|
| @@ -461,26 +449,20 @@ void tryPatchGetter(leg.DiagnosticListener listener,
|
| Element origin,
|
| FunctionElement patch) {
|
| if (!origin.isAbstractField()) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(origin),
|
| - leg.MessageKind.PATCH_NON_GETTER.error({'name': origin.name}),
|
| - api.Diagnostic.ERROR);
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_POINT_TO_GETTER.error({'getterName': patch.name}),
|
| - api.Diagnostic.INFO);
|
| + listener.reportError(
|
| + origin, leg.MessageKind.PATCH_NON_GETTER, {'name': origin.name});
|
| + listener.reportInfo(
|
| + patch,
|
| + leg.MessageKind.PATCH_POINT_TO_GETTER, {'getterName': patch.name});
|
| return;
|
| }
|
| AbstractFieldElement originField = origin;
|
| if (originField.getter == null) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(origin),
|
| - leg.MessageKind.PATCH_NO_GETTER.error({'getterName': patch.name}),
|
| - api.Diagnostic.ERROR);
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_POINT_TO_GETTER.error({'getterName': patch.name}),
|
| - api.Diagnostic.INFO);
|
| + listener.reportError(
|
| + origin, leg.MessageKind.PATCH_NO_GETTER, {'getterName': patch.name});
|
| + listener.reportInfo(
|
| + patch,
|
| + leg.MessageKind.PATCH_POINT_TO_GETTER, {'getterName': patch.name});
|
| return;
|
| }
|
| patchFunction(listener, originField.getter, patch);
|
| @@ -490,26 +472,20 @@ void tryPatchSetter(leg.DiagnosticListener listener,
|
| Element origin,
|
| FunctionElement patch) {
|
| if (!origin.isAbstractField()) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(origin),
|
| - leg.MessageKind.PATCH_NON_SETTER.error({'name': origin.name}),
|
| - api.Diagnostic.ERROR);
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_POINT_TO_SETTER.error({'setterName': patch.name}),
|
| - api.Diagnostic.INFO);
|
| + listener.reportError(
|
| + origin, leg.MessageKind.PATCH_NON_SETTER, {'name': origin.name});
|
| + listener.reportInfo(
|
| + patch,
|
| + leg.MessageKind.PATCH_POINT_TO_SETTER, {'setterName': patch.name});
|
| return;
|
| }
|
| AbstractFieldElement originField = origin;
|
| if (originField.setter == null) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(origin),
|
| - leg.MessageKind.PATCH_NO_SETTER.error({'setterName': patch.name}),
|
| - api.Diagnostic.ERROR);
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_POINT_TO_SETTER.error({'setterName': patch.name}),
|
| - api.Diagnostic.INFO);
|
| + listener.reportError(
|
| + origin, leg.MessageKind.PATCH_NO_SETTER, {'setterName': patch.name});
|
| + listener.reportInfo(
|
| + patch,
|
| + leg.MessageKind.PATCH_POINT_TO_SETTER, {'setterName': patch.name});
|
| return;
|
| }
|
| patchFunction(listener, originField.setter, patch);
|
| @@ -519,16 +495,13 @@ void tryPatchConstructor(leg.DiagnosticListener listener,
|
| Element origin,
|
| FunctionElement patch) {
|
| if (!origin.isConstructor()) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(origin),
|
| - leg.MessageKind.PATCH_NON_CONSTRUCTOR.error(
|
| - {'constructorName': patch.name}),
|
| - api.Diagnostic.ERROR);
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_POINT_TO_CONSTRUCTOR.error(
|
| - {'constructorName': patch.name}),
|
| - api.Diagnostic.INFO);
|
| + listener.reportError(
|
| + origin,
|
| + leg.MessageKind.PATCH_NON_CONSTRUCTOR, {'constructorName': patch.name});
|
| + listener.reportInfo(
|
| + patch,
|
| + leg.MessageKind.PATCH_POINT_TO_CONSTRUCTOR,
|
| + {'constructorName': patch.name});
|
| return;
|
| }
|
| patchFunction(listener, origin, patch);
|
| @@ -538,15 +511,12 @@ void tryPatchFunction(leg.DiagnosticListener listener,
|
| Element origin,
|
| FunctionElement patch) {
|
| if (!origin.isFunction()) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(origin),
|
| - leg.MessageKind.PATCH_NON_FUNCTION.error({'functionName': patch.name}),
|
| - api.Diagnostic.ERROR);
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_POINT_TO_FUNCTION.error(
|
| - {'functionName': patch.name}),
|
| - api.Diagnostic.INFO);
|
| + listener.reportError(
|
| + origin,
|
| + leg.MessageKind.PATCH_NON_FUNCTION, {'functionName': patch.name});
|
| + listener.reportInfo(
|
| + patch,
|
| + leg.MessageKind.PATCH_POINT_TO_FUNCTION, {'functionName': patch.name});
|
| return;
|
| }
|
| patchFunction(listener, origin, patch);
|
| @@ -556,15 +526,10 @@ void patchFunction(leg.DiagnosticListener listener,
|
| FunctionElement origin,
|
| FunctionElement patch) {
|
| if (!origin.modifiers.isExternal()) {
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(origin),
|
| - leg.MessageKind.PATCH_NON_EXTERNAL.error(),
|
| - api.Diagnostic.ERROR);
|
| - listener.reportMessage(
|
| - listener.spanFromSpannable(patch),
|
| - leg.MessageKind.PATCH_POINT_TO_FUNCTION.error(
|
| - {'functionName': patch.name}),
|
| - api.Diagnostic.INFO);
|
| + listener.reportError(origin, leg.MessageKind.PATCH_NON_EXTERNAL);
|
| + listener.reportInfo(
|
| + patch,
|
| + leg.MessageKind.PATCH_POINT_TO_FUNCTION, {'functionName': patch.name});
|
| return;
|
| }
|
| if (origin.isPatched) {
|
|
|