Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Unified Diff: pkg/compiler/lib/src/resolution/class_members.dart

Issue 1383483006: Extract DiagnosticReporter implementation from Compiler. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fixes after rebase. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.
« no previous file with comments | « pkg/compiler/lib/src/resolution/class_hierarchy.dart ('k') | pkg/compiler/lib/src/resolution/constructors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698