| Index: dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart b/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| index e426b8e27ea376e875f045363b428ae456be485f..783be1ce0aab47f07f517ba3a52a39943d80c74d 100644
|
| --- a/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| +++ b/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| @@ -605,6 +605,8 @@ class ParserError {
|
| toString() => reason;
|
| }
|
|
|
| +typedef int IdGenerator();
|
| +
|
| /**
|
| * A parser event listener designed to work with [PartialParser]. It
|
| * builds elements representing the top-level declarations found in
|
| @@ -612,7 +614,7 @@ class ParserError {
|
| * [compilationUnitElement].
|
| */
|
| class ElementListener extends Listener {
|
| - Function idGenerator;
|
| + final IdGenerator idGenerator;
|
| final DiagnosticListener listener;
|
| final CompilationUnitElement compilationUnitElement;
|
| final StringValidator stringValidator;
|
| @@ -623,10 +625,9 @@ class ElementListener extends Listener {
|
| Link<MetadataAnnotation> metadata = const Link<MetadataAnnotation>();
|
|
|
| ElementListener(DiagnosticListener listener,
|
| - CompilationUnitElement this.compilationUnitElement,
|
| - int idGenerator())
|
| + this.compilationUnitElement,
|
| + this.idGenerator)
|
| : this.listener = listener,
|
| - this.idGenerator = idGenerator,
|
| stringValidator = new StringValidator(listener),
|
| interpolationScope = const Link<StringQuoting>();
|
|
|
| @@ -791,6 +792,7 @@ class ElementListener extends Listener {
|
| pushElement(new PartialClassElement(
|
| name.source, interfaceKeyword, endToken, compilationUnitElement, id));
|
| rejectBuiltInIdentifier(name);
|
| + listener.onDeprecatedFeature(interfaceKeyword, 'interface declarations');
|
| }
|
|
|
| void endFunctionTypeAlias(Token typedefKeyword, Token endToken) {
|
| @@ -1005,8 +1007,9 @@ class ElementListener extends Listener {
|
| metadata = metadata.prepend(annotation);
|
| }
|
|
|
| + // TODO(ahe): Remove this method.
|
| void addScriptTag(ScriptTag tag) {
|
| - // TODO(ahe): Remove this method.
|
| + listener.onDeprecatedFeature(tag, '# tags');
|
| addLibraryTag(tag.toLibraryTag());
|
| }
|
|
|
| @@ -1338,6 +1341,9 @@ class NodeListener extends ElementListener {
|
| NodeList arguments = new NodeList.singleton(argument);
|
| pushNode(new Send(receiver, new Operator(token), arguments));
|
| }
|
| + if (identical(tokenString, '===') || identical(tokenString, '!==')) {
|
| + listener.onDeprecatedFeature(token, tokenString);
|
| + }
|
| }
|
|
|
| void beginCascade(Token token) {
|
|
|