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

Side by Side Diff: pkg/compiler/lib/src/resolution/resolution_strategy.dart

Issue 2981633002: Introduce TypedefEntity (Closed)
Patch Set: Created 3 years, 5 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 dart2js.resolution_strategy; 5 library dart2js.resolution_strategy;
6 6
7 import 'package:front_end/src/fasta/scanner.dart' show Token; 7 import 'package:front_end/src/fasta/scanner.dart' show Token;
8 8
9 import '../common.dart'; 9 import '../common.dart';
10 import '../common_elements.dart'; 10 import '../common_elements.dart';
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 metadata.ensureResolved(_compiler.resolution); 671 metadata.ensureResolved(_compiler.resolution);
672 assert(metadata.constant != null, 672 assert(metadata.constant != null,
673 failedAt(metadata, "Unevaluated metadata constant.")); 673 failedAt(metadata, "Unevaluated metadata constant."));
674 ConstantValue value = 674 ConstantValue value =
675 _compiler.constants.getConstantValue(metadata.constant); 675 _compiler.constants.getConstantValue(metadata.constant);
676 values.add(value); 676 values.add(value);
677 } 677 }
678 }); 678 });
679 return values; 679 return values;
680 } 680 }
681
682 @override
683 ResolutionFunctionType getTypedefAlias(covariant TypedefElement typedef) {
684 return typedef.alias;
685 }
681 } 686 }
682 687
683 /// AST-based logic for processing annotations. These annotations are processed 688 /// AST-based logic for processing annotations. These annotations are processed
684 /// very early in the compilation pipeline, typically this is before resolution 689 /// very early in the compilation pipeline, typically this is before resolution
685 /// is complete. Because of that this processor does a lightweight parse of the 690 /// is complete. Because of that this processor does a lightweight parse of the
686 /// annotation (which is restricted to a limited subset of the annotation 691 /// annotation (which is restricted to a limited subset of the annotation
687 /// syntax), and, once resolution completes, it validates that the parsed 692 /// syntax), and, once resolution completes, it validates that the parsed
688 /// annotations correspond to the correct element. 693 /// annotations correspond to the correct element.
689 class _ElementAnnotationProcessor implements AnnotationProcessor { 694 class _ElementAnnotationProcessor implements AnnotationProcessor {
690 final Compiler _compiler; 695 final Compiler _compiler;
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 @override 886 @override
882 WorkItem createWorkItem(MemberElement element) { 887 WorkItem createWorkItem(MemberElement element) {
883 assert(element.isDeclaration, failedAt(element)); 888 assert(element.isDeclaration, failedAt(element));
884 if (element.isMalformed) return null; 889 if (element.isMalformed) return null;
885 890
886 assert(element is AnalyzableElement, 891 assert(element is AnalyzableElement,
887 failedAt(element, 'Element $element is not analyzable.')); 892 failedAt(element, 'Element $element is not analyzable.'));
888 return _resolution.createWorkItem(element); 893 return _resolution.createWorkItem(element);
889 } 894 }
890 } 895 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698