Index: pkg/front_end/lib/src/fasta/source/outline_builder.dart |
diff --git a/pkg/front_end/lib/src/fasta/source/outline_builder.dart b/pkg/front_end/lib/src/fasta/source/outline_builder.dart |
index 12ef5d5bea8ff34e7e9b2cc88bcc67d35f83f5da..179cb32aee953f2cb9d840efb6f3003932f9a078 100644 |
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart |
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart |
@@ -28,8 +28,10 @@ import 'source_library_builder.dart' show SourceLibraryBuilder; |
import 'unhandled_listener.dart' show NullValue, Unhandled, UnhandledListener; |
+import '../parser/dart2js_native.dart' show skipDart2jsNativeClause; |
+ |
import '../parser/dart_vm_native.dart' |
- show removeNativeClause, skipNativeClause; |
+ show removeNativeClause, skipVmNativeClause; |
import '../operator.dart' |
show |
@@ -808,10 +810,15 @@ class OutlineBuilder extends UnhandledListener { |
@override |
Token handleUnrecoverableError(Token token, FastaMessage message) { |
if (isDartLibrary && message.code == codeExpectedBlockToSkip) { |
- Token recover = skipNativeClause(token); |
- if (recover != null) { |
- nativeMethodName = unescapeString(token.next.lexeme); |
- return recover; |
+ if (library.loader.target.forDart2js) { |
+ Token recover = skipDart2jsNativeClause(token); |
+ if (recover != null) return recover; |
+ } else if (library.loader.target.forVm) { |
+ Token recover = skipVmNativeClause(token); |
+ if (recover != null) { |
+ nativeMethodName = unescapeString(token.next.lexeme); |
+ return recover; |
+ } |
} |
} |
return super.handleUnrecoverableError(token, message); |