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

Unified Diff: dart/sdk/lib/_internal/compiler/implementation/resolution/members.dart

Issue 11416004: Reject deprecated language features. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: abstract class in resolver test Created 8 years, 1 month 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: dart/sdk/lib/_internal/compiler/implementation/resolution/members.dart
diff --git a/dart/sdk/lib/_internal/compiler/implementation/resolution/members.dart b/dart/sdk/lib/_internal/compiler/implementation/resolution/members.dart
index 224fee1c556b7913c0861e08e9a7514d356b5a15..8dc19bf6318bef8b7f743503d89c58171ce28e74 100644
--- a/dart/sdk/lib/_internal/compiler/implementation/resolution/members.dart
+++ b/dart/sdk/lib/_internal/compiler/implementation/resolution/members.dart
@@ -1048,12 +1048,14 @@ class TypeResolver {
if (send != null) {
typeName = send.selector;
}
- if (identical(typeName.source.stringValue, 'void')) {
+ String stringValue = typeName.source.stringValue;
+ if (identical(stringValue, 'void')) {
return compiler.types.voidType.element;
- } else if (
- // TODO(aprelev@gmail.com): Remove deprecated Dynamic keyword support.
- identical(typeName.source.stringValue, 'Dynamic')
- || identical(typeName.source.stringValue, 'dynamic')) {
+ } else if (identical(stringValue, 'Dynamic')) {
+ // TODO(aprelev@gmail.com): Remove deprecated Dynamic keyword support.
+ compiler.onDeprecatedFeature(typeName, 'Dynamic');
+ return compiler.dynamicClass;
+ } else if (identical(stringValue, 'dynamic')) {
return compiler.dynamicClass;
} else if (send != null) {
Element e = scope.lookup(send.receiver.asIdentifier().source);
@@ -2926,13 +2928,17 @@ class SignatureResolver extends CommonResolverVisitor<Element> {
}
} else {
if (element.isGetter()) {
- if (!element.getLibrary().isPlatformLibrary) {
- // TODO(ahe): Remove the isPlatformLibrary check.
- if (!identical(formalParameters.getEndToken().next.stringValue, 'native')) {
- // TODO(ahe): Remove the check for native keyword.
+ if (!identical(formalParameters.getEndToken().next.stringValue,
+ // TODO(ahe): Remove the check for native keyword.
+ 'native')) {
+ if (compiler.rejectDeprecatedFeatures &&
+ // TODO(ahe): Remove isPlatformLibrary check.
+ !element.getLibrary().isPlatformLibrary) {
compiler.reportMessage(compiler.spanFromNode(formalParameters),
MessageKind.EXTRA_FORMALS.error([]),
- Diagnostic.WARNING);
+ Diagnostic.ERROR);
+ } else {
+ compiler.onDeprecatedFeature(formalParameters, 'getter parameters');
}
}
}

Powered by Google App Engine
This is Rietveld 408576698