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

Unified Diff: pkg/compiler/lib/src/native/enqueue.dart

Issue 1802883002: Use JS backend in serialization_analysis_test (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Serialize ClassElement.isUnnamedMixinApplication and test added properties. Created 4 years, 9 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/enqueue.dart ('k') | pkg/compiler/lib/src/serialization/element_serialization.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/native/enqueue.dart
diff --git a/pkg/compiler/lib/src/native/enqueue.dart b/pkg/compiler/lib/src/native/enqueue.dart
index 738a304641018ce9b50db7546c5264f547f9a90b..f9c113a3183c6f795db64cea1865232afc9c21ae 100644
--- a/pkg/compiler/lib/src/native/enqueue.dart
+++ b/pkg/compiler/lib/src/native/enqueue.dart
@@ -236,7 +236,18 @@ abstract class NativeEnqueuerBase implements NativeEnqueuer {
* Returns the source string of the class named in the extends clause, or
* `null` if there is no extends clause.
*/
- String findExtendsNameOfClass(BaseClassElementX classElement) {
+ String findExtendsNameOfClass(ClassElement classElement) {
+ if (classElement.isResolved) {
+ ClassElement superClass = classElement.superclass;
+ while (superClass != null) {
+ if (!superClass.isUnnamedMixinApplication) {
+ return superClass.name;
+ }
+ superClass = superClass.superclass;
+ }
+ return null;
+ }
+
// "class B extends A ... {}" --> "A"
// "class B extends foo.A ... {}" --> "A"
// "class B<T> extends foo.A<T,T> with M1, M2 ... {}" --> "A"
@@ -368,7 +379,7 @@ abstract class NativeEnqueuerBase implements NativeEnqueuer {
flushing = false;
}
- processClass(BaseClassElementX classElement, cause) {
+ processClass(ClassElement classElement, cause) {
// TODO(ahe): Fix this assertion to work in incremental compilation.
assert(compiler.hasIncrementalSupport ||
!registeredClasses.contains(classElement));
« no previous file with comments | « pkg/compiler/lib/src/enqueue.dart ('k') | pkg/compiler/lib/src/serialization/element_serialization.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698