Index: pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
index 34fd49fe5cac6f483360547f31bb67e1092e835b..7fada005de1a4bab3e0a32c74812e471aef5d8ad 100644 |
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
@@ -34,7 +34,9 @@ import 'package:kernel/core_types.dart' show CoreTypes; |
import 'frontend_accessors.dart' show buildIsNull, makeBinary, makeLet; |
-import '../parser/dart_vm_native.dart' show skipNativeClause; |
+import '../parser/dart2js_native.dart' show skipDart2jsNativeClause; |
+ |
+import '../parser/dart_vm_native.dart' show skipVmNativeClause; |
import '../scanner/token.dart' |
show BeginGroupToken, Token, isBinaryOperator, isMinusOperator; |
@@ -2493,8 +2495,13 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper { |
@override |
Token handleUnrecoverableError(Token token, FastaMessage message) { |
if (isDartLibrary && message.code == codeExpectedFunctionBody) { |
- Token recover = skipNativeClause(token); |
- if (recover != null) return recover; |
+ if (library.loader.target.forDart2js) { |
ahe
2017/04/27 13:34:34
Can we move this to a subclass of BodyBuilder?
Siggi Cherem (dart-lang)
2017/04/28 21:37:20
this moved to the target, which is easier to overr
|
+ Token recover = skipDart2jsNativeClause(token); |
+ if (recover != null) return recover; |
+ } else { |
+ Token recover = skipVmNativeClause(token); |
+ if (recover != null) return recover; |
+ } |
} else if (message.code == codeExpectedButGot) { |
String expected = message.arguments["string"]; |
const List<String> trailing = const <String>[")", "}", ";", ","]; |