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

Side by Side Diff: test/kernel/regression/super_mixin.dart.txt

Issue 2116793002: Work around for private names in mixin applications. (Closed) Base URL: git@github.com:dart-lang/rasta.git@master
Patch Set: Rebased on CL 2201763003. Created 4 years, 4 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 library; 1 library;
2 import self as self; 2 import self as self;
3 import "dart:core" as core; 3 import "dart:core" as core;
4 import "./mixin_library.dart" as mix; 4 import "./mixin_library.dart" as mix;
5 5
6 class Super<S extends core::Object> extends core::Object { 6 class Super<S extends core::Object> extends core::Object {
7 constructor •() → self::Super<self::Super::S> 7 constructor •() → self::Super<self::Super::S>
8 : super core::Object::•(); 8 : super core::Object::•();
9 method foo() → dynamic 9 method foo() → dynamic
10 return 40; 10 return 40;
(...skipping 16 matching lines...) Expand all
27 constructor •() → self::Super<dynamic> 27 constructor •() → self::Super<dynamic>
28 : super self::Super+Mixin#0::•(); 28 : super self::Super+Mixin#0::•();
29 } 29 }
30 abstract class Super+Mixin#0<T extends core::Object> extends self::Super<dynam ic> implements mix::Mixin<dynamic> { 30 abstract class Super+Mixin#0<T extends core::Object> extends self::Super<dynam ic> implements mix::Mixin<dynamic> {
31 field self::Super+Mixin#0::T t; 31 field self::Super+Mixin#0::T t;
32 field dynamic z; 32 field dynamic z;
33 field dynamic y; 33 field dynamic y;
34 field dynamic x; 34 field dynamic x;
35 constructor •() → self::Super<dynamic> 35 constructor •() → self::Super<dynamic>
36 : self::Super+Mixin#0::x = mix::f(), super self::Super::•(); 36 : self::Super+Mixin#0::x = mix::f(), super self::Super::•();
37 method publicMethod() → dynamic
38 return this._privateMethod@test.mixin_library();
39 method _privateMethod@test.mixin_library() → dynamic
40 return 49;
37 method l() → dynamic 41 method l() → dynamic
38 return mix::_private(); 42 return mix::_private@test.mixin_library();
39 method h() → dynamic 43 method h() → dynamic
40 return mix::V(); 44 return mix::V();
41 method g(self::Super+Mixin#0::T a) → self::Super+Mixin#0::T 45 method g(self::Super+Mixin#0::T a) → self::Super+Mixin#0::T
42 return null; 46 return null;
43 method foo() → dynamic 47 method foo() → dynamic
44 return super.self::Super::foo().+(mix::f()); 48 return super.self::Super::foo().+(mix::f());
45 } 49 }
46 abstract class Super+Mixin#1<T extends core::Object, V extends core::Object> extends self::Super<self::Super+Mixin#1::V> implements mix::Mixin<self::Super+M ixin#1::V> { 50 abstract class Super+Mixin#1<T extends core::Object, V extends core::Object> extends self::Super<self::Super+Mixin#1::V> implements mix::Mixin<self::Super+M ixin#1::V> {
47 field self::Super+Mixin#1::T t; 51 field self::Super+Mixin#1::T t;
48 field dynamic z; 52 field dynamic z;
49 field dynamic y; 53 field dynamic y;
50 field dynamic x; 54 field dynamic x;
51 constructor •() → self::Super<self::Super+Mixin#1::V> 55 constructor •() → self::Super<self::Super+Mixin#1::V>
52 : self::Super+Mixin#1::x = mix::f(), super self::Super::•(); 56 : self::Super+Mixin#1::x = mix::f(), super self::Super::•();
57 method publicMethod() → dynamic
58 return this._privateMethod@test.mixin_library();
59 method _privateMethod@test.mixin_library() → dynamic
60 return 49;
53 method l() → dynamic 61 method l() → dynamic
54 return mix::_private(); 62 return mix::_private@test.mixin_library();
55 method h() → dynamic 63 method h() → dynamic
56 return mix::V(); 64 return mix::V();
57 method g(self::Super+Mixin#1::T a) → self::Super+Mixin#1::T 65 method g(self::Super+Mixin#1::T a) → self::Super+Mixin#1::T
58 return null; 66 return null;
59 method foo() → dynamic 67 method foo() → dynamic
60 return super.self::Super::foo().+(mix::f()); 68 return super.self::Super::foo().+(mix::f());
61 } 69 }
62 abstract class Super+Mixin#2<T extends core::Object> extends self::Super<dynam ic> implements mix::Mixin<dynamic> { 70 abstract class Super+Mixin#2<T extends core::Object> extends self::Super<dynam ic> implements mix::Mixin<dynamic> {
63 field self::Super+Mixin#2::T t; 71 field self::Super+Mixin#2::T t;
64 field dynamic z; 72 field dynamic z;
65 field dynamic y; 73 field dynamic y;
66 field dynamic x; 74 field dynamic x;
67 constructor •() → self::Super<dynamic> 75 constructor •() → self::Super<dynamic>
68 : self::Super+Mixin#2::x = mix::f(), super self::Super::•(); 76 : self::Super+Mixin#2::x = mix::f(), super self::Super::•();
77 method publicMethod() → dynamic
78 return this._privateMethod@test.mixin_library();
79 method _privateMethod@test.mixin_library() → dynamic
80 return 49;
69 method l() → dynamic 81 method l() → dynamic
70 return mix::_private(); 82 return mix::_private@test.mixin_library();
71 method h() → dynamic 83 method h() → dynamic
72 return mix::V(); 84 return mix::V();
73 method g(self::Super+Mixin#2::T a) → self::Super+Mixin#2::T 85 method g(self::Super+Mixin#2::T a) → self::Super+Mixin#2::T
74 return null; 86 return null;
75 method foo() → dynamic 87 method foo() → dynamic
76 return super.self::Super::foo().+(mix::f()); 88 return super.self::Super::foo().+(mix::f());
77 } 89 }
78 abstract class Super+Mixin#3<T extends core::Object, V extends core::Object> extends self::Super<self::Super+Mixin#3::V> implements mix::Mixin<self::Super+M ixin#3::V> { 90 abstract class Super+Mixin#3<T extends core::Object, V extends core::Object> extends self::Super<self::Super+Mixin#3::V> implements mix::Mixin<self::Super+M ixin#3::V> {
79 field self::Super+Mixin#3::T t; 91 field self::Super+Mixin#3::T t;
80 field dynamic z; 92 field dynamic z;
81 field dynamic y; 93 field dynamic y;
82 field dynamic x; 94 field dynamic x;
83 constructor •() → self::Super<self::Super+Mixin#3::V> 95 constructor •() → self::Super<self::Super+Mixin#3::V>
84 : self::Super+Mixin#3::x = mix::f(), super self::Super::•(); 96 : self::Super+Mixin#3::x = mix::f(), super self::Super::•();
97 method publicMethod() → dynamic
98 return this._privateMethod@test.mixin_library();
99 method _privateMethod@test.mixin_library() → dynamic
100 return 49;
85 method l() → dynamic 101 method l() → dynamic
86 return mix::_private(); 102 return mix::_private@test.mixin_library();
87 method h() → dynamic 103 method h() → dynamic
88 return mix::V(); 104 return mix::V();
89 method g(self::Super+Mixin#3::T a) → self::Super+Mixin#3::T 105 method g(self::Super+Mixin#3::T a) → self::Super+Mixin#3::T
90 return null; 106 return null;
91 method foo() → dynamic 107 method foo() → dynamic
92 return super.self::Super::foo().+(mix::f()); 108 return super.self::Super::foo().+(mix::f());
93 } 109 }
94 static method main() → dynamic { 110 static method main() → dynamic {
95 core::print(new self::C::•<dynamic>().foo()); 111 core::print(new self::C::•<dynamic>().foo());
96 core::print(new self::C2::•<dynamic>().foo()); 112 core::print(new self::C2::•<dynamic>().foo());
97 } 113 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698