Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: pkg/front_end/lib/src/fasta/kernel/body_builder.dart

Issue 2832353002: Add support for building patched_sdk and platform.dill for dart2js: (Closed)
Patch Set: rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library fasta.body_builder; 5 library fasta.body_builder;
6 6
7 import '../fasta_codes.dart' 7 import '../fasta_codes.dart'
8 show FastaMessage, codeExpectedButGot, codeExpectedFunctionBody; 8 show FastaMessage, codeExpectedButGot, codeExpectedFunctionBody;
9 9
10 import '../parser/parser.dart' show FormalParameterType, optional; 10 import '../parser/parser.dart' show FormalParameterType, optional;
(...skipping 16 matching lines...) Expand all
27 import 'package:kernel/clone.dart' show CloneVisitor; 27 import 'package:kernel/clone.dart' show CloneVisitor;
28 28
29 import 'package:kernel/transformations/flags.dart' show TransformerFlag; 29 import 'package:kernel/transformations/flags.dart' show TransformerFlag;
30 30
31 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy; 31 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy;
32 32
33 import 'package:kernel/core_types.dart' show CoreTypes; 33 import 'package:kernel/core_types.dart' show CoreTypes;
34 34
35 import 'frontend_accessors.dart' show buildIsNull, makeBinary, makeLet; 35 import 'frontend_accessors.dart' show buildIsNull, makeBinary, makeLet;
36 36
37 import '../parser/dart_vm_native.dart' show skipNativeClause; 37 import '../parser/dart2js_native.dart' show skipDart2jsNativeClause;
38
39 import '../parser/dart_vm_native.dart' show skipVmNativeClause;
38 40
39 import '../scanner/token.dart' 41 import '../scanner/token.dart'
40 show BeginGroupToken, Token, isBinaryOperator, isMinusOperator; 42 show BeginGroupToken, Token, isBinaryOperator, isMinusOperator;
41 43
42 import '../errors.dart' show formatUnexpected, internalError; 44 import '../errors.dart' show formatUnexpected, internalError;
43 45
44 import '../source/scope_listener.dart' 46 import '../source/scope_listener.dart'
45 show JumpTargetKind, NullValue, ScopeListener; 47 show JumpTargetKind, NullValue, ScopeListener;
46 48
47 import '../scope.dart' show ProblemBuilder; 49 import '../scope.dart' show ProblemBuilder;
(...skipping 2438 matching lines...) Expand 10 before | Expand all | Expand 10 after
2486 @override 2488 @override
2487 void handleRecoverableError(Token token, FastaMessage message) { 2489 void handleRecoverableError(Token token, FastaMessage message) {
2488 bool silent = hasParserError; 2490 bool silent = hasParserError;
2489 super.handleRecoverableError(token, message); 2491 super.handleRecoverableError(token, message);
2490 addCompileTimeError(message.charOffset, message.message, silent: silent); 2492 addCompileTimeError(message.charOffset, message.message, silent: silent);
2491 } 2493 }
2492 2494
2493 @override 2495 @override
2494 Token handleUnrecoverableError(Token token, FastaMessage message) { 2496 Token handleUnrecoverableError(Token token, FastaMessage message) {
2495 if (isDartLibrary && message.code == codeExpectedFunctionBody) { 2497 if (isDartLibrary && message.code == codeExpectedFunctionBody) {
2496 Token recover = skipNativeClause(token); 2498 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
2497 if (recover != null) return recover; 2499 Token recover = skipDart2jsNativeClause(token);
2500 if (recover != null) return recover;
2501 } else {
2502 Token recover = skipVmNativeClause(token);
2503 if (recover != null) return recover;
2504 }
2498 } else if (message.code == codeExpectedButGot) { 2505 } else if (message.code == codeExpectedButGot) {
2499 String expected = message.arguments["string"]; 2506 String expected = message.arguments["string"];
2500 const List<String> trailing = const <String>[")", "}", ";", ","]; 2507 const List<String> trailing = const <String>[")", "}", ";", ","];
2501 if (trailing.contains(token.stringValue) && trailing.contains(expected)) { 2508 if (trailing.contains(token.stringValue) && trailing.contains(expected)) {
2502 handleRecoverableError(token, message); 2509 handleRecoverableError(token, message);
2503 return newSyntheticToken(token); 2510 return newSyntheticToken(token);
2504 } 2511 }
2505 } 2512 }
2506 return super.handleUnrecoverableError(token, message); 2513 return super.handleUnrecoverableError(token, message);
2507 } 2514 }
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
3094 } else if (node is PrefixBuilder) { 3101 } else if (node is PrefixBuilder) {
3095 return node.name; 3102 return node.name;
3096 } else if (node is ThisAccessor) { 3103 } else if (node is ThisAccessor) {
3097 return node.isSuper ? "super" : "this"; 3104 return node.isSuper ? "super" : "this";
3098 } else if (node is FastaAccessor) { 3105 } else if (node is FastaAccessor) {
3099 return node.plainNameForRead; 3106 return node.plainNameForRead;
3100 } else { 3107 } else {
3101 return internalError("Unhandled: ${node.runtimeType}"); 3108 return internalError("Unhandled: ${node.runtimeType}");
3102 } 3109 }
3103 } 3110 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698