Chromium Code Reviews| 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 750a3d838cf13b243400c8b381329a63b0dad209..f0f69848121e59ee479b7a8476e0c09e0f230449 100644 |
| --- a/pkg/front_end/lib/src/fasta/source/diet_listener.dart |
| +++ b/pkg/front_end/lib/src/fasta/source/diet_listener.dart |
| @@ -22,8 +22,10 @@ import '../parser/parser.dart' show Parser, optional; |
| import '../scanner/token.dart' show BeginGroupToken, Token; |
| +import '../parser/dart2js_native.dart' show skipDart2jsNativeClause; |
| + |
| import '../parser/dart_vm_native.dart' |
| - show removeNativeClause, skipNativeClause; |
| + show removeNativeClause, skipVmNativeClause; |
| import '../util/link.dart' show Link; |
| @@ -482,11 +484,13 @@ class DietListener extends StackListener { |
| @override |
| Token handleUnrecoverableError(Token token, FastaMessage message) { |
| if (isDartLibrary && message.code == codeExpectedBlockToSkip) { |
| - Token recover = skipNativeClause(token); |
| - if (recover != null) { |
| - assert(isTargetingDartVm); |
| - return recover; |
| + Token recover; |
| + if (library.loader.target.forDart2js) { |
|
ahe
2017/04/27 13:34:34
Could be in a subclass?
Siggi Cherem (dart-lang)
2017/04/28 21:37:20
Moved this into the target instead.
|
| + recover = skipDart2jsNativeClause(token); |
| + } else if (library.loader.target.forVm) { |
| + recover = skipVmNativeClause(token); |
| } |
| + if (recover != null) return recover; |
| } |
| return super.handleUnrecoverableError(token, message); |
| } |
| @@ -568,11 +572,6 @@ 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); |