| Index: pkg/fasta/lib/src/source/unhandled_listener.dart
|
| diff --git a/pkg/fasta/lib/src/source/unhandled_listener.dart b/pkg/fasta/lib/src/source/unhandled_listener.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ec4430511d21872b7251f0967849f9211d4c5e74
|
| --- /dev/null
|
| +++ b/pkg/fasta/lib/src/source/unhandled_listener.dart
|
| @@ -0,0 +1,73 @@
|
| +// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library fasta.unhandled_listener;
|
| +
|
| +import 'package:dart_scanner/src/token.dart' show
|
| + Token;
|
| +
|
| +import 'stack_listener.dart' show
|
| + NullValue,
|
| + StackListener;
|
| +
|
| +export 'stack_listener.dart' show
|
| + NullValue;
|
| +
|
| +// TODO(ahe): Get rid of this.
|
| +enum Unhandled {
|
| + ConditionalUri,
|
| + ConditionalUris,
|
| + DottedName,
|
| + Hide,
|
| + Initializers,
|
| + Interpolation,
|
| + Metadata,
|
| + Show,
|
| + TypeVariables,
|
| +}
|
| +
|
| +// TODO(ahe): Get rid of this class when all listeners are complete.
|
| +abstract class UnhandledListener extends StackListener {
|
| + void endMetadataStar(int count, bool forParameter) {
|
| + debugEvent("MetadataStar");
|
| + push(popList(count) ?? NullValue.Metadata);
|
| + }
|
| +
|
| + void endConditionalUri(Token ifKeyword, Token equalitySign) {
|
| + debugEvent("ConditionalUri");
|
| + pop(); // URI.
|
| + popIfNotNull(equalitySign); // String.
|
| + pop(); // DottedName.
|
| + push(Unhandled.ConditionalUri);
|
| + }
|
| +
|
| + void endConditionalUris(int count) {
|
| + debugEvent("ConditionalUris");
|
| + popList(count);
|
| + push(Unhandled.ConditionalUris);
|
| + }
|
| +
|
| + void endHide(Token hideKeyword) {
|
| + debugEvent("Hide");
|
| + pop();
|
| + push(Unhandled.Hide);
|
| + }
|
| +
|
| + void endShow(Token showKeyword) {
|
| + debugEvent("Show");
|
| + pop();
|
| + push(Unhandled.Show);
|
| + }
|
| +
|
| + void endCombinators(int count) {
|
| + debugEvent("Combinators");
|
| + push(popList(count) ?? NullValue.Combinators);
|
| + }
|
| +
|
| + void endDottedName(int count, Token firstIdentifier) {
|
| + debugEvent("DottedName");
|
| + popList(count);
|
| + push(Unhandled.DottedName);
|
| + }
|
| +}
|
|
|