Index: pkg/compiler/lib/src/resolution/class_members.dart |
diff --git a/pkg/compiler/lib/src/resolution/class_members.dart b/pkg/compiler/lib/src/resolution/class_members.dart |
index c33cce5c88766684ee9a06d6e65ce5a716c4fefa..d8ac1031feb4ba779b764794b93247762556101f 100644 |
--- a/pkg/compiler/lib/src/resolution/class_members.dart |
+++ b/pkg/compiler/lib/src/resolution/class_members.dart |
@@ -12,7 +12,8 @@ import '../compiler.dart' show |
Compiler; |
import '../dart_types.dart'; |
import '../diagnostics/diagnostic_listener.dart' show |
- DiagnosticMessage; |
+ DiagnosticMessage, |
+ DiagnosticReporter; |
import '../diagnostics/invariant.dart' show |
invariant; |
import '../diagnostics/messages.dart' show |
@@ -49,6 +50,8 @@ abstract class MembersCreator { |
message: "Members may only be computed on declarations.")); |
} |
+ DiagnosticReporter get reporter => compiler.reporter; |
+ |
Resolution get resolution => compiler.resolution; |
void reportMessage(var marker, MessageKind kind, report()) { |
@@ -260,7 +263,7 @@ abstract class MembersCreator { |
} |
reportMessage( |
interfaceMember.element, MessageKind.ABSTRACT_METHOD, () { |
- compiler.reportWarningMessage( |
+ reporter.reportWarningMessage( |
interfaceMember.element, kind, |
{'class': cls.name, 'name': name.text}); |
}); |
@@ -272,7 +275,7 @@ abstract class MembersCreator { |
Member inherited = interfaceMember.declarations.first; |
reportMessage( |
interfaceMember, MessageKind.UNIMPLEMENTED_METHOD, () { |
- DiagnosticMessage warning = compiler.createMessage( |
+ DiagnosticMessage warning = reporter.createMessage( |
cls, |
interfaceMember.declarations.length == 1 |
? singleKind : multipleKind, |
@@ -282,14 +285,14 @@ abstract class MembersCreator { |
'declarer': inherited.declarer}); |
List<DiagnosticMessage> infos = <DiagnosticMessage>[]; |
for (Member inherited in interfaceMember.declarations) { |
- infos.add(compiler.createMessage( |
+ infos.add(reporter.createMessage( |
inherited.element, |
inherited.isDeclaredByField ? |
implicitlyDeclaredKind : explicitlyDeclaredKind, |
{'class': inherited.declarer.name, |
'name': name.text})); |
} |
- compiler.reportWarning(warning, infos); |
+ reporter.reportWarning(warning, infos); |
}); |
} |
if (interfaceMember.isSetter) { |
@@ -324,7 +327,7 @@ abstract class MembersCreator { |
if (compiler.backend.isBackendLibrary(cls.library)) return; |
reportMessage(compiler.functionClass, MessageKind.UNIMPLEMENTED_METHOD, () { |
- compiler.reportWarningMessage( |
+ reporter.reportWarningMessage( |
cls, |
MessageKind.UNIMPLEMENTED_METHOD_ONE, |
{'class': cls.name, |
@@ -349,14 +352,14 @@ abstract class MembersCreator { |
if (superMember != null && superMember.isStatic) { |
reportMessage(superMember, MessageKind.INSTANCE_STATIC_SAME_NAME, |
() { |
- compiler.reportWarning( |
- compiler.createMessage( |
+ reporter.reportWarning( |
+ reporter.createMessage( |
declared.element, |
MessageKind.INSTANCE_STATIC_SAME_NAME, |
{'memberName': declared.name, |
'className': superclass.name}), |
<DiagnosticMessage>[ |
- compiler.createMessage( |
+ reporter.createMessage( |
superMember.element, |
MessageKind.INSTANCE_STATIC_SAME_NAME_CONT), |
]); |
@@ -403,15 +406,15 @@ abstract class MembersCreator { |
void reportError(MessageKind errorKind, MessageKind infoKind) { |
reportMessage( |
inherited.element, MessageKind.INVALID_OVERRIDE_METHOD, () { |
- compiler.reportError( |
- compiler.createMessage( |
+ reporter.reportError( |
+ reporter.createMessage( |
declared.element, |
errorKind, |
{'name': declared.name.text, |
'class': cls.thisType, |
'inheritedClass': inherited.declarer}), |
<DiagnosticMessage>[ |
- compiler.createMessage( |
+ reporter.createMessage( |
inherited.element, |
infoKind, |
{'name': declared.name.text, |
@@ -439,8 +442,8 @@ abstract class MembersCreator { |
MessageKind warningKind, |
MessageKind infoKind) { |
reportMessage(marker, MessageKind.INVALID_OVERRIDE_METHOD, () { |
- compiler.reportWarning( |
- compiler.createMessage( |
+ reporter.reportWarning( |
+ reporter.createMessage( |
declared.element, |
warningKind, |
{'declaredType': declared.type, |
@@ -449,7 +452,7 @@ abstract class MembersCreator { |
'inheritedType': inherited.type, |
'inheritedClass': inherited.declarer}), |
<DiagnosticMessage>[ |
- compiler.createMessage( |
+ reporter.createMessage( |
inherited.element, |
infoKind, |
{'name': declared.name.text, |
@@ -506,14 +509,14 @@ abstract class MembersCreator { |
MessageKind errorMessage, |
Element contextElement, |
MessageKind contextMessage) { |
- compiler.reportError( |
- compiler.createMessage( |
+ reporter.reportError( |
+ reporter.createMessage( |
errorneousElement, |
errorMessage, |
{'memberName': contextElement.name, |
'className': contextElement.enclosingClass.name}), |
<DiagnosticMessage>[ |
- compiler.createMessage(contextElement, contextMessage), |
+ reporter.createMessage(contextElement, contextMessage), |
]); |
} |
@@ -717,7 +720,7 @@ class InterfaceMembersCreator extends MembersCreator { |
() => new Setlet<Member>()).add(inherited); |
} |
if (someAreGetters && !allAreGetters) { |
- DiagnosticMessage warning = compiler.createMessage( |
+ DiagnosticMessage warning = reporter.createMessage( |
cls, |
MessageKind.INHERIT_GETTER_AND_METHOD, |
{'class': thisType, 'name': name.text }); |
@@ -736,12 +739,12 @@ class InterfaceMembersCreator extends MembersCreator { |
kind = MessageKind.INHERITED_EXPLICIT_GETTER; |
} |
} |
- infos.add(compiler.createMessage( |
+ infos.add(reporter.createMessage( |
inherited.element, |
kind, |
{'class': inherited.declarer, 'name': name.text})); |
} |
- compiler.reportWarning(warning, infos); |
+ reporter.reportWarning(warning, infos); |
interfaceMembers[name] = new ErroneousMember(inheritedMembers); |
} else if (subtypesOfAllInherited.length == 1) { |
// All signatures have the same type. |