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

Side by Side Diff: pkg/front_end/lib/src/fasta/source/diet_listener.dart

Issue 2832353002: Add support for building patched_sdk and platform.dill for dart2js: (Closed)
Patch Set: fix .gn circularity by removing use of rebase_path Created 3 years, 7 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.diet_listener; 5 library fasta.diet_listener;
6 6
7 import 'package:front_end/src/fasta/kernel/kernel_ast_factory.dart' 7 import 'package:front_end/src/fasta/kernel/kernel_ast_factory.dart'
8 show KernelAstFactory; 8 show KernelAstFactory;
9 9
10 import 'package:front_end/src/fasta/type_inference/type_inference_engine.dart' 10 import 'package:front_end/src/fasta/type_inference/type_inference_engine.dart'
11 show TypeInferenceEngine; 11 show TypeInferenceEngine;
12 12
13 import 'package:kernel/ast.dart' show AsyncMarker; 13 import 'package:kernel/ast.dart' show AsyncMarker;
14 14
15 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy; 15 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy;
16 16
17 import 'package:kernel/core_types.dart' show CoreTypes; 17 import 'package:kernel/core_types.dart' show CoreTypes;
18 18
19 import '../fasta_codes.dart' show FastaMessage, codeExpectedBlockToSkip; 19 import '../fasta_codes.dart' show FastaMessage, codeExpectedBlockToSkip;
20 20
21 import '../parser/parser.dart' show Parser, optional; 21 import '../parser/parser.dart' show Parser, optional;
22 22
23 import '../scanner/token.dart' show BeginGroupToken, Token; 23 import '../scanner/token.dart' show BeginGroupToken, Token;
24 24
25 import '../parser/dart_vm_native.dart' 25 import '../parser/dart_vm_native.dart' show removeNativeClause;
26 show removeNativeClause, skipNativeClause;
27 26
28 import '../util/link.dart' show Link; 27 import '../util/link.dart' show Link;
29 28
30 import '../errors.dart' show Crash, InputError, inputError, internalError; 29 import '../errors.dart' show Crash, InputError, inputError, internalError;
31 30
32 import 'stack_listener.dart' show StackListener; 31 import 'stack_listener.dart' show StackListener;
33 32
34 import '../kernel/body_builder.dart' show BodyBuilder; 33 import '../kernel/body_builder.dart' show BodyBuilder;
35 34
36 import '../builder/builder.dart'; 35 import '../builder/builder.dart';
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 void endNamedMixinApplication(Token beginToken, Token classKeyword, 475 void endNamedMixinApplication(Token beginToken, Token classKeyword,
477 Token equals, Token implementsKeyword, Token endToken) { 476 Token equals, Token implementsKeyword, Token endToken) {
478 debugEvent("NamedMixinApplication"); 477 debugEvent("NamedMixinApplication");
479 pop(); // Name. 478 pop(); // Name.
480 checkEmpty(beginToken.charOffset); 479 checkEmpty(beginToken.charOffset);
481 } 480 }
482 481
483 @override 482 @override
484 Token handleUnrecoverableError(Token token, FastaMessage message) { 483 Token handleUnrecoverableError(Token token, FastaMessage message) {
485 if (isDartLibrary && message.code == codeExpectedBlockToSkip) { 484 if (isDartLibrary && message.code == codeExpectedBlockToSkip) {
486 Token recover = skipNativeClause(token); 485 Token recover = library.loader.target.skipNativeClause(token);
487 if (recover != null) { 486 if (recover != null) return recover;
488 assert(isTargetingDartVm);
489 return recover;
490 }
491 } 487 }
492 return super.handleUnrecoverableError(token, message); 488 return super.handleUnrecoverableError(token, message);
493 } 489 }
494 490
495 @override 491 @override
496 Link<Token> handleMemberName(Link<Token> identifiers) { 492 Link<Token> handleMemberName(Link<Token> identifiers) {
497 if (!isDartLibrary || identifiers.isEmpty) return identifiers; 493 if (!isDartLibrary || identifiers.isEmpty) return identifiers;
498 return removeNativeClause(identifiers); 494 return removeNativeClause(identifiers);
499 } 495 }
500 496
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 } 558 }
563 if (builder == null) { 559 if (builder == null) {
564 return internalError("Builder not found: $name", uri, token.charOffset); 560 return internalError("Builder not found: $name", uri, token.charOffset);
565 } 561 }
566 if (builder.next != null) { 562 if (builder.next != null) {
567 return inputError(uri, token.charOffset, "Duplicated name: $name"); 563 return inputError(uri, token.charOffset, "Duplicated name: $name");
568 } 564 }
569 return builder; 565 return builder;
570 } 566 }
571 567
572 bool get isTargetingDartVm {
573 // TODO(ahe): Find a more reliable way to check if this is the Dart VM.
574 return !coreTypes.containsLibrary("dart:_js_helper");
575 }
576
577 @override 568 @override
578 void debugEvent(String name) { 569 void debugEvent(String name) {
579 // printEvent(name); 570 // printEvent(name);
580 } 571 }
581 } 572 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/parser/dart_vm_native.dart ('k') | pkg/front_end/lib/src/fasta/source/directive_listener.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698