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

Unified Diff: pkg/compiler/lib/src/resolution/signatures.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/signatures.dart
diff --git a/pkg/compiler/lib/src/resolution/signatures.dart b/pkg/compiler/lib/src/resolution/signatures.dart
index fa9c87e68e48fcf15d528f0df506b98ca5c7af1a..6745bf52a8a08c103cb568a3591a7bbf7d86da4f 100644
--- a/pkg/compiler/lib/src/resolution/signatures.dart
+++ b/pkg/compiler/lib/src/resolution/signatures.dart
@@ -7,6 +7,8 @@ library dart2js.resolution.signatures;
import '../compiler.dart' show
Compiler;
import '../dart_types.dart';
+import '../diagnostics/diagnostic_listener.dart' show
+ DiagnosticReporter;
import '../diagnostics/invariant.dart' show
invariant;
import '../diagnostics/messages.dart' show
@@ -66,7 +68,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
// This must be a list of optional arguments.
String value = node.beginToken.stringValue;
if ((!identical(value, '[')) && (!identical(value, '{'))) {
- compiler.internalError(node, "expected optional parameters");
+ reporter.internalError(node, "expected optional parameters");
}
optionalParametersAreNamed = (identical(value, '{'));
isOptionalParameter = true;
@@ -78,26 +80,26 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
FormalElementX visitVariableDefinitions(VariableDefinitions node) {
Link<Node> definitions = node.definitions.nodes;
if (definitions.isEmpty) {
- compiler.internalError(node, 'no parameter definition');
+ reporter.internalError(node, 'no parameter definition');
return null;
}
if (!definitions.tail.isEmpty) {
- compiler.internalError(definitions.tail.head, 'extra definition');
+ reporter.internalError(definitions.tail.head, 'extra definition');
return null;
}
Node definition = definitions.head;
if (definition is NodeList) {
- compiler.internalError(node, 'optional parameters are not implemented');
+ reporter.internalError(node, 'optional parameters are not implemented');
}
if (node.modifiers.isConst) {
- compiler.reportErrorMessage(node, MessageKind.FORMAL_DECLARED_CONST);
+ reporter.reportErrorMessage(node, MessageKind.FORMAL_DECLARED_CONST);
}
if (node.modifiers.isStatic) {
- compiler.reportErrorMessage(node, MessageKind.FORMAL_DECLARED_STATIC);
+ reporter.reportErrorMessage(node, MessageKind.FORMAL_DECLARED_STATIC);
}
if (currentDefinitions != null) {
- compiler.internalError(node, 'function type parameters not supported');
+ reporter.internalError(node, 'function type parameters not supported');
}
currentDefinitions = node;
FormalElementX element = definition.accept(this);
@@ -113,7 +115,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
if (isOptionalParameter &&
optionalParametersAreNamed &&
Name.isPrivateName(node.source)) {
- compiler.reportErrorMessage(node, MessageKind.PRIVATE_NAMED_PARAMETER);
+ reporter.reportErrorMessage(node, MessageKind.PRIVATE_NAMED_PARAMETER);
}
}
@@ -172,7 +174,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
functionExpression.name.asIdentifier() != null) {
return functionExpression.name.asIdentifier();
} else {
- compiler.internalError(node,
+ reporter.internalError(node,
'internal error: unimplemented receiver on parameter send');
return null;
}
@@ -205,12 +207,12 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
InitializingFormalElementX element;
Identifier receiver = node.receiver.asIdentifier();
if (receiver == null || !receiver.isThis()) {
- compiler.reportErrorMessage(node, MessageKind.INVALID_PARAMETER);
+ reporter.reportErrorMessage(node, MessageKind.INVALID_PARAMETER);
return new ErroneousInitializingFormalElementX(
getParameterName(node), enclosingElement);
} else {
if (!enclosingElement.isGenerativeConstructor) {
- compiler.reportErrorMessage(
+ reporter.reportErrorMessage(
node, MessageKind.INITIALIZING_FORMAL_NOT_ALLOWED);
return new ErroneousInitializingFormalElementX(
getParameterName(node), enclosingElement);
@@ -221,12 +223,12 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
enclosingElement.enclosingClass.lookupLocalMember(name.source);
if (fieldElement == null ||
!identical(fieldElement.kind, ElementKind.FIELD)) {
- compiler.reportErrorMessage(
+ reporter.reportErrorMessage(
node, MessageKind.NOT_A_FIELD, {'fieldName': name});
fieldElement = new ErroneousFieldElementX(
name, enclosingElement.enclosingClass);
} else if (!fieldElement.isInstanceMember) {
- compiler.reportErrorMessage(
+ reporter.reportErrorMessage(
node, MessageKind.NOT_INSTANCE_FIELD, {'fieldName': name});
fieldElement = new ErroneousFieldElementX(
name, enclosingElement.enclosingClass);
@@ -250,7 +252,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
}
Node defaultValue = node.arguments.head;
if (!defaultValuesAllowed) {
- compiler.reportErrorMessage(defaultValue, defaultValuesError);
+ reporter.reportErrorMessage(defaultValue, defaultValuesError);
}
return element;
}
@@ -259,12 +261,12 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
// This is a function typed parameter.
Modifiers modifiers = currentDefinitions.modifiers;
if (modifiers.isFinal) {
- compiler.reportErrorMessage(
+ reporter.reportErrorMessage(
modifiers,
MessageKind.FINAL_FUNCTION_TYPE_PARAMETER);
}
if (modifiers.isVar) {
- compiler.reportErrorMessage(
+ reporter.reportErrorMessage(
modifiers, MessageKind.VAR_FUNCTION_TYPE_PARAMETER);
}
@@ -281,7 +283,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
// If parameter is null, the current node should be the last,
// and a list of optional named parameters.
if (!link.tail.isEmpty || (link.head is !NodeList)) {
- compiler.internalError(link.head, "expected optional parameters");
+ reporter.internalError(link.head, "expected optional parameters");
}
}
}
@@ -305,6 +307,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
{MessageKind defaultValuesError,
bool createRealParameters: false,
bool isFunctionExpression: false}) {
+ DiagnosticReporter reporter = compiler.reporter;
SignatureResolver visitor = new SignatureResolver(compiler, element,
registry, defaultValuesError: defaultValuesError,
@@ -320,7 +323,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
// parse. So we suppress the message about missing formals.
assert(invariant(element, compiler.compilationFailed));
} else {
- compiler.reportErrorMessage(element, MessageKind.MISSING_FORMALS);
+ reporter.reportErrorMessage(element, MessageKind.MISSING_FORMALS);
}
}
} else {
@@ -328,7 +331,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
if (!identical(formalParameters.endToken.next.stringValue,
// TODO(ahe): Remove the check for native keyword.
'native')) {
- compiler.reportErrorMessage(
+ reporter.reportErrorMessage(
formalParameters,
MessageKind.EXTRA_FORMALS);
}
@@ -374,7 +377,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
visitor.optionalParameterCount != 0)) {
// If there are no formal parameters, we already reported an error above.
if (formalParameters != null) {
- compiler.reportErrorMessage(
+ reporter.reportErrorMessage(
formalParameters,
MessageKind.ILLEGAL_SETTER_FORMALS);
}
@@ -433,7 +436,7 @@ class SignatureResolver extends MappingVisitor<FormalElementX> {
DartType resolveTypeAnnotation(TypeAnnotation annotation) {
DartType type = resolveReturnType(annotation);
if (type.isVoid) {
- compiler.reportErrorMessage(annotation, MessageKind.VOID_NOT_ALLOWED);
+ reporter.reportErrorMessage(annotation, MessageKind.VOID_NOT_ALLOWED);
}
return type;
}
« no previous file with comments | « pkg/compiler/lib/src/resolution/resolution_common.dart ('k') | pkg/compiler/lib/src/resolution/type_resolver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698