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

Unified Diff: pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart

Issue 2984643002: Add Class/MemberDefinition to handle synthesized classes/members (Closed)
Patch Set: Updated cf. comment 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/kernel/env.dart ('k') | pkg/compiler/lib/src/ssa/builder_kernel.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
diff --git a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
index 6802220b33442ced27b5f152a150d57d94d6e228..c75d0ff1ee32ee02e70eab49983d1b2dfc039e81 100644
--- a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
@@ -94,7 +94,6 @@ class KernelSsaBuilder implements SsaBuilder {
KernelSsaGraphBuilder builder = new KernelSsaGraphBuilder(
work.element,
work.element.enclosingClass,
- _elementMap.getMemberNode(work.element),
_compiler,
_elementMap,
new KernelToTypeInferenceMapImpl(closedWorld),
@@ -204,10 +203,8 @@ class KernelSorter implements Sorter {
return utils.compareLibrariesUris(a.canonicalUri, b.canonicalUri);
}
- int _compareNodes(
- Entity entity1, ir.TreeNode node1, Entity entity2, ir.TreeNode node2) {
- ir.Location location1 = node1.location;
- ir.Location location2 = node2.location;
+ int _compareLocations(Entity entity1, ir.Location location1, Entity entity2,
+ ir.Location location2) {
int r = utils.compareSourceUris(
Uri.parse(location1.file), Uri.parse(location2.file));
if (r != 0) return r;
@@ -223,22 +220,26 @@ class KernelSorter implements Sorter {
@override
Iterable<MemberEntity> sortMembers(Iterable<MemberEntity> members) {
return members.toList()
- ..sort((MemberEntity a, MemberEntity b) {
- int r = _compareLibraries(a.library, b.library);
+ ..sort((MemberEntity member1, MemberEntity member2) {
+ int r = _compareLibraries(member1.library, member2.library);
if (r != 0) return r;
- return _compareNodes(
- a, elementMap.getMemberNode(a), b, elementMap.getMemberNode(b));
+ MemberDefinition definition1 = elementMap.getMemberDefinition(member1);
+ MemberDefinition definition2 = elementMap.getMemberDefinition(member2);
+ return _compareLocations(
+ member1, definition1.location, member2, definition2.location);
});
}
@override
Iterable<ClassEntity> sortClasses(Iterable<ClassEntity> classes) {
return classes.toList()
- ..sort((ClassEntity a, ClassEntity b) {
- int r = _compareLibraries(a.library, b.library);
+ ..sort((ClassEntity cls1, ClassEntity cls2) {
+ int r = _compareLibraries(cls1.library, cls2.library);
if (r != 0) return r;
- return _compareNodes(
- a, elementMap.getClassNode(a), b, elementMap.getClassNode(b));
+ ClassDefinition definition1 = elementMap.getClassDefinition(cls1);
+ ClassDefinition definition2 = elementMap.getClassDefinition(cls2);
+ return _compareLocations(
+ cls1, definition1.location, cls2, definition2.location);
});
}
« no previous file with comments | « pkg/compiler/lib/src/kernel/env.dart ('k') | pkg/compiler/lib/src/ssa/builder_kernel.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698