| Index: pkg/front_end/lib/src/fasta/source/diet_listener.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/source/diet_listener.dart b/pkg/front_end/lib/src/fasta/source/diet_listener.dart
|
| index 695b5fe2e36dfd2a79775e8e16b7196c8a52d55d..36b7c6ce224ee725fb4dad5facfd5a1bd001090b 100644
|
| --- a/pkg/front_end/lib/src/fasta/source/diet_listener.dart
|
| +++ b/pkg/front_end/lib/src/fasta/source/diet_listener.dart
|
| @@ -22,7 +22,8 @@ import '../parser/parser.dart' show Parser, optional;
|
|
|
| import '../scanner/token.dart' show BeginGroupToken, Token;
|
|
|
| -import '../parser/dart_vm_native.dart' show removeNativeClause;
|
| +import '../parser/dart_vm_native.dart'
|
| + show removeNativeClause, skipNativeClause;
|
|
|
| import '../util/link.dart' show Link;
|
|
|
| @@ -482,8 +483,11 @@ class DietListener extends StackListener {
|
| @override
|
| Token handleUnrecoverableError(Token token, FastaMessage message) {
|
| if (isDartLibrary && message.code == codeExpectedBlockToSkip) {
|
| - Token recover = library.loader.target.skipNativeClause(token);
|
| - if (recover != null) return recover;
|
| + Token recover = skipNativeClause(token);
|
| + if (recover != null) {
|
| + assert(isTargetingDartVm);
|
| + return recover;
|
| + }
|
| }
|
| return super.handleUnrecoverableError(token, message);
|
| }
|
| @@ -565,6 +569,11 @@ class DietListener extends StackListener {
|
| return builder;
|
| }
|
|
|
| + bool get isTargetingDartVm {
|
| + // TODO(ahe): Find a more reliable way to check if this is the Dart VM.
|
| + return !coreTypes.containsLibrary("dart:_js_helper");
|
| + }
|
| +
|
| @override
|
| void debugEvent(String name) {
|
| // printEvent(name);
|
|
|