OLD | NEW |
(Empty) | |
| 1 library; |
| 2 import self as self; |
| 3 import "dart:core" as core; |
| 4 |
| 5 class A extends core::Object { |
| 6 field dynamic a = null; |
| 7 field dynamic b = null; |
| 8 field dynamic c = null; |
| 9 field dynamic d = null; |
| 10 final field dynamic f = null; |
| 11 constructor •() → void |
| 12 : super core::Object::•() |
| 13 ; |
| 14 get e() → dynamic |
| 15 return null; |
| 16 set g(dynamic _) → void {} |
| 17 get h() → dynamic |
| 18 return null; |
| 19 set h(dynamic _) → void {} |
| 20 get i() → dynamic |
| 21 return null; |
| 22 operator [](dynamic _) → dynamic |
| 23 return null; |
| 24 operator []=(dynamic a, dynamic b) → dynamic {} |
| 25 operator ~() → dynamic |
| 26 return 117; |
| 27 operator unary-() → dynamic |
| 28 return 117; |
| 29 operator ==(dynamic other) → core::bool |
| 30 return true; |
| 31 method m() → void {} |
| 32 method n() → void {} |
| 33 set n(dynamic _) → void {} |
| 34 } |
| 35 class B extends self::A { |
| 36 final field dynamic d = null; |
| 37 constructor •() → void |
| 38 : super self::A::•() |
| 39 ; |
| 40 get b() → dynamic |
| 41 return null; |
| 42 set c(dynamic x) → void {} |
| 43 set i(dynamic x) → void {} |
| 44 } |
| 45 class C extends self::B { |
| 46 constructor •() → void |
| 47 : super self::B::•() |
| 48 ; |
| 49 method test() → dynamic { |
| 50 super.{self::A::~}(); |
| 51 self::use(super.{self::A::~}()); |
| 52 super.{self::A::unary-}(); |
| 53 self::use(super.{self::A::unary-}()); |
| 54 const core::_ConstantExpressionError::•()._throw(new core::_CompileTimeError
::•("pkg/front_end/testcases/rasta/super.dart:43:6: Error: Can't use `super` as
an expression.\n +super;\n ^")); |
| 55 self::use(const core::_ConstantExpressionError::•()._throw(new core::_Compil
eTimeError::•("pkg/front_end/testcases/rasta/super.dart:44:10: Error: Can't use
`super` as an expression.\n use(+super);\n ^"))); |
| 56 super.{self::A::==}(87); |
| 57 self::use(super.{self::A::==}(87)); |
| 58 !super.{self::A::==}(87); |
| 59 self::use(!super.{self::A::==}(87)); |
| 60 super.{self::A::a}; |
| 61 self::use(super.{self::A::a}); |
| 62 super.{self::B::b}; |
| 63 self::use(super.{self::B::b}); |
| 64 super.{self::A::c}; |
| 65 self::use(super.{self::A::c}); |
| 66 super.{self::B::d}; |
| 67 self::use(super.{self::B::d}); |
| 68 super.{self::A::e}; |
| 69 self::use(super.{self::A::e}); |
| 70 super.{self::A::f}; |
| 71 self::use(super.{self::A::f}); |
| 72 super.g; |
| 73 self::use(super.g); |
| 74 super.{self::A::h}; |
| 75 self::use(super.{self::A::h}); |
| 76 super.{self::A::i}; |
| 77 self::use(super.{self::A::i}); |
| 78 super.{self::A::[]}(87); |
| 79 self::use(super.{self::A::[]}(87)); |
| 80 super.{self::A::m}; |
| 81 self::use(super.{self::A::m}); |
| 82 super.{self::A::n}; |
| 83 self::use(super.{self::A::n}); |
| 84 super.{self::A::a} = super.{self::A::a}.+(1); |
| 85 self::use(let final dynamic #t1 = super.{self::A::a} in let final dynamic #t
2 = super.{self::A::a} = #t1.+(1) in #t1); |
| 86 super.{self::A::b} = super.{self::B::b}.+(1); |
| 87 self::use(let final dynamic #t3 = super.{self::B::b} in let final dynamic #t
4 = super.{self::A::b} = #t3.+(1) in #t3); |
| 88 super.{self::B::c} = super.{self::A::c}.+(1); |
| 89 self::use(let final dynamic #t5 = super.{self::A::c} in let final dynamic #t
6 = super.{self::B::c} = #t5.+(1) in #t5); |
| 90 super.{self::A::d} = super.{self::B::d}.+(1); |
| 91 self::use(let final dynamic #t7 = super.{self::B::d} in let final dynamic #t
8 = super.{self::A::d} = #t7.+(1) in #t7); |
| 92 super.e = super.{self::A::e}.+(1); |
| 93 self::use(let final dynamic #t9 = super.{self::A::e} in let final dynamic #t
10 = super.e = #t9.+(1) in #t9); |
| 94 super.f = super.{self::A::f}.+(1); |
| 95 self::use(let final dynamic #t11 = super.{self::A::f} in let final dynamic #
t12 = super.f = #t11.+(1) in #t11); |
| 96 super.{self::A::g} = super.g.+(1); |
| 97 self::use(let final dynamic #t13 = super.g in let final dynamic #t14 = super
.{self::A::g} = #t13.+(1) in #t13); |
| 98 super.{self::A::h} = super.{self::A::h}.+(1); |
| 99 self::use(let final dynamic #t15 = super.{self::A::h} in let final dynamic #
t16 = super.{self::A::h} = #t15.+(1) in #t15); |
| 100 super.{self::B::i} = super.{self::A::i}.+(1); |
| 101 self::use(let final dynamic #t17 = super.{self::A::i} in let final dynamic #
t18 = super.{self::B::i} = #t17.+(1) in #t17); |
| 102 let final dynamic #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]
}(#t19).+(1)); |
| 103 self::use(let final dynamic #t20 = 87 in let final dynamic #t21 = super.{sel
f::A::[]}(#t20) in let final dynamic #t22 = super.{self::A::[]=}(#t20, #t21.+(1)
) in #t21); |
| 104 super.m = super.{self::A::m}.+(1); |
| 105 self::use(let final dynamic #t23 = super.{self::A::m} in let final dynamic #
t24 = super.m = #t23.+(1) in #t23); |
| 106 super.{self::A::n} = super.{self::A::n}.+(1); |
| 107 self::use(let final dynamic #t25 = super.{self::A::n} in let final dynamic #
t26 = super.{self::A::n} = #t25.+(1) in #t25); |
| 108 super.{self::A::a} = super.{self::A::a}.+(1); |
| 109 self::use(super.{self::A::a} = super.{self::A::a}.+(1)); |
| 110 super.{self::A::b} = super.{self::B::b}.+(1); |
| 111 self::use(super.{self::A::b} = super.{self::B::b}.+(1)); |
| 112 super.{self::B::c} = super.{self::A::c}.+(1); |
| 113 self::use(super.{self::B::c} = super.{self::A::c}.+(1)); |
| 114 super.{self::A::d} = super.{self::B::d}.+(1); |
| 115 self::use(super.{self::A::d} = super.{self::B::d}.+(1)); |
| 116 super.e = super.{self::A::e}.+(1); |
| 117 self::use(super.e = super.{self::A::e}.+(1)); |
| 118 super.f = super.{self::A::f}.+(1); |
| 119 self::use(super.f = super.{self::A::f}.+(1)); |
| 120 super.{self::A::g} = super.g.+(1); |
| 121 self::use(super.{self::A::g} = super.g.+(1)); |
| 122 super.{self::A::h} = super.{self::A::h}.+(1); |
| 123 self::use(super.{self::A::h} = super.{self::A::h}.+(1)); |
| 124 super.{self::B::i} = super.{self::A::i}.+(1); |
| 125 self::use(super.{self::B::i} = super.{self::A::i}.+(1)); |
| 126 let final dynamic #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(
#t27).+(1) in let final dynamic #t29 = super.{self::A::[]=}(#t27, #t28) in #t28; |
| 127 self::use(let final dynamic #t30 = 87 in let final dynamic #t31 = super.{sel
f::A::[]}(#t30).+(1) in let final dynamic #t32 = super.{self::A::[]=}(#t30, #t31
) in #t31); |
| 128 super.m = super.{self::A::m}.+(1); |
| 129 self::use(super.m = super.{self::A::m}.+(1)); |
| 130 super.{self::A::n} = super.{self::A::n}.+(1); |
| 131 self::use(super.{self::A::n} = super.{self::A::n}.+(1)); |
| 132 super.{self::A::a}.call(); |
| 133 self::use(super.{self::A::a}.call()); |
| 134 super.{self::B::b}.call(); |
| 135 self::use(super.{self::B::b}.call()); |
| 136 super.{self::A::c}.call(); |
| 137 self::use(super.{self::A::c}.call()); |
| 138 super.{self::B::d}.call(); |
| 139 self::use(super.{self::B::d}.call()); |
| 140 super.{self::A::e}.call(); |
| 141 self::use(super.{self::A::e}.call()); |
| 142 super.{self::A::f}.call(); |
| 143 self::use(super.{self::A::f}.call()); |
| 144 super.g(); |
| 145 self::use(super.g()); |
| 146 super.{self::A::h}.call(); |
| 147 self::use(super.{self::A::h}.call()); |
| 148 super.{self::A::i}.call(); |
| 149 self::use(super.{self::A::i}.call()); |
| 150 super.{self::A::[]}(87).call(); |
| 151 self::use(super.{self::A::[]}(87).call()); |
| 152 super.{self::A::m}(); |
| 153 self::use(super.{self::A::m}()); |
| 154 super.{self::A::m}(87); |
| 155 self::use(super.{self::A::m}(87)); |
| 156 super.{self::A::n}(87); |
| 157 self::use(super.{self::A::n}(87)); |
| 158 super.{self::A::a} = 42; |
| 159 self::use(super.{self::A::a} = 42); |
| 160 super.{self::A::b} = 42; |
| 161 self::use(super.{self::A::b} = 42); |
| 162 super.{self::B::c} = 42; |
| 163 self::use(super.{self::B::c} = 42); |
| 164 super.{self::A::d} = 42; |
| 165 self::use(super.{self::A::d} = 42); |
| 166 super.e = 42; |
| 167 self::use(super.e = 42); |
| 168 super.f = 42; |
| 169 self::use(super.f = 42); |
| 170 super.{self::A::g} = 42; |
| 171 self::use(super.{self::A::g} = 42); |
| 172 super.{self::A::h} = 42; |
| 173 self::use(super.{self::A::h} = 42); |
| 174 super.{self::B::i} = 42; |
| 175 self::use(super.{self::B::i} = 42); |
| 176 super.{self::A::[]=}(87, 42); |
| 177 self::use(let final dynamic #t33 = 87 in let final dynamic #t34 = 42 in let
final dynamic #t35 = super.{self::A::[]=}(#t33, #t34) in #t34); |
| 178 super.m = 42; |
| 179 self::use(super.m = 42); |
| 180 super.{self::A::n} = 42; |
| 181 self::use(super.{self::A::n} = 42); |
| 182 super.{self::A::a}.==(null) ? super.{self::A::a} = 42 : null; |
| 183 self::use(let final dynamic #t36 = super.{self::A::a} in #t36.==(null) ? sup
er.{self::A::a} = 42 : #t36); |
| 184 super.{self::B::b}.==(null) ? super.{self::A::b} = 42 : null; |
| 185 self::use(let final dynamic #t37 = super.{self::B::b} in #t37.==(null) ? sup
er.{self::A::b} = 42 : #t37); |
| 186 super.{self::A::c}.==(null) ? super.{self::B::c} = 42 : null; |
| 187 self::use(let final dynamic #t38 = super.{self::A::c} in #t38.==(null) ? sup
er.{self::B::c} = 42 : #t38); |
| 188 super.{self::B::d}.==(null) ? super.{self::A::d} = 42 : null; |
| 189 self::use(let final dynamic #t39 = super.{self::B::d} in #t39.==(null) ? sup
er.{self::A::d} = 42 : #t39); |
| 190 super.{self::A::e}.==(null) ? super.e = 42 : null; |
| 191 self::use(let final dynamic #t40 = super.{self::A::e} in #t40.==(null) ? sup
er.e = 42 : #t40); |
| 192 super.{self::A::f}.==(null) ? super.f = 42 : null; |
| 193 self::use(let final dynamic #t41 = super.{self::A::f} in #t41.==(null) ? sup
er.f = 42 : #t41); |
| 194 super.g.==(null) ? super.{self::A::g} = 42 : null; |
| 195 self::use(let final dynamic #t42 = super.g in #t42.==(null) ? super.{self::A
::g} = 42 : #t42); |
| 196 super.{self::A::h}.==(null) ? super.{self::A::h} = 42 : null; |
| 197 self::use(let final dynamic #t43 = super.{self::A::h} in #t43.==(null) ? sup
er.{self::A::h} = 42 : #t43); |
| 198 super.{self::A::i}.==(null) ? super.{self::B::i} = 42 : null; |
| 199 self::use(let final dynamic #t44 = super.{self::A::i} in #t44.==(null) ? sup
er.{self::B::i} = 42 : #t44); |
| 200 let final dynamic #t45 = 87 in super.{self::A::[]}(#t45).==(null) ? let fina
l dynamic #t46 = 42 in let final dynamic #t47 = super.{self::A::[]=}(#t45, #t46)
in #t46 : null; |
| 201 self::use(let final dynamic #t48 = 87 in let final dynamic #t49 = super.{sel
f::A::[]}(#t48) in #t49.==(null) ? let final dynamic #t50 = 42 in let final dyna
mic #t51 = super.{self::A::[]=}(#t48, #t50) in #t50 : #t49); |
| 202 super.{self::A::m}.==(null) ? super.m = 42 : null; |
| 203 self::use(let final dynamic #t52 = super.{self::A::m} in #t52.==(null) ? sup
er.m = 42 : #t52); |
| 204 super.{self::A::n}.==(null) ? super.{self::A::n} = 42 : null; |
| 205 self::use(let final dynamic #t53 = super.{self::A::n} in #t53.==(null) ? sup
er.{self::A::n} = 42 : #t53); |
| 206 super.{self::A::a} = super.{self::A::a}.+(42); |
| 207 self::use(super.{self::A::a} = super.{self::A::a}.+(42)); |
| 208 super.{self::A::b} = super.{self::B::b}.+(42); |
| 209 self::use(super.{self::A::b} = super.{self::B::b}.+(42)); |
| 210 super.{self::B::c} = super.{self::A::c}.+(42); |
| 211 self::use(super.{self::B::c} = super.{self::A::c}.+(42)); |
| 212 super.{self::A::d} = super.{self::B::d}.+(42); |
| 213 self::use(super.{self::A::d} = super.{self::B::d}.+(42)); |
| 214 super.e = super.{self::A::e}.+(42); |
| 215 self::use(super.e = super.{self::A::e}.+(42)); |
| 216 super.f = super.{self::A::f}.+(42); |
| 217 self::use(super.f = super.{self::A::f}.+(42)); |
| 218 super.{self::A::g} = super.g.+(42); |
| 219 self::use(super.{self::A::g} = super.g.+(42)); |
| 220 super.{self::A::h} = super.{self::A::h}.+(42); |
| 221 self::use(super.{self::A::h} = super.{self::A::h}.+(42)); |
| 222 super.{self::B::i} = super.{self::A::i}.+(42); |
| 223 self::use(super.{self::B::i} = super.{self::A::i}.+(42)); |
| 224 let final dynamic #t54 = 87 in super.{self::A::[]=}(#t54, super.{self::A::[]
}(#t54).+(42)); |
| 225 self::use(let final dynamic #t55 = 87 in let final dynamic #t56 = super.{sel
f::A::[]}(#t55).+(42) in let final dynamic #t57 = super.{self::A::[]=}(#t55, #t5
6) in #t56); |
| 226 super.m = super.{self::A::m}.+(42); |
| 227 self::use(super.m = super.{self::A::m}.+(42)); |
| 228 super.{self::A::n} = super.{self::A::n}.+(42); |
| 229 self::use(super.{self::A::n} = super.{self::A::n}.+(42)); |
| 230 super.{self::A::a} = super.{self::A::a}.-(42); |
| 231 self::use(super.{self::A::a} = super.{self::A::a}.-(42)); |
| 232 super.{self::A::b} = super.{self::B::b}.-(42); |
| 233 self::use(super.{self::A::b} = super.{self::B::b}.-(42)); |
| 234 super.{self::B::c} = super.{self::A::c}.-(42); |
| 235 self::use(super.{self::B::c} = super.{self::A::c}.-(42)); |
| 236 super.{self::A::d} = super.{self::B::d}.-(42); |
| 237 self::use(super.{self::A::d} = super.{self::B::d}.-(42)); |
| 238 super.e = super.{self::A::e}.-(42); |
| 239 self::use(super.e = super.{self::A::e}.-(42)); |
| 240 super.f = super.{self::A::f}.-(42); |
| 241 self::use(super.f = super.{self::A::f}.-(42)); |
| 242 super.{self::A::g} = super.g.-(42); |
| 243 self::use(super.{self::A::g} = super.g.-(42)); |
| 244 super.{self::A::h} = super.{self::A::h}.-(42); |
| 245 self::use(super.{self::A::h} = super.{self::A::h}.-(42)); |
| 246 super.{self::B::i} = super.{self::A::i}.-(42); |
| 247 self::use(super.{self::B::i} = super.{self::A::i}.-(42)); |
| 248 let final dynamic #t58 = 87 in super.{self::A::[]=}(#t58, super.{self::A::[]
}(#t58).-(42)); |
| 249 self::use(let final dynamic #t59 = 87 in let final dynamic #t60 = super.{sel
f::A::[]}(#t59).-(42) in let final dynamic #t61 = super.{self::A::[]=}(#t59, #t6
0) in #t60); |
| 250 super.m = super.{self::A::m}.-(42); |
| 251 self::use(super.m = super.{self::A::m}.-(42)); |
| 252 super.{self::A::n} = super.{self::A::n}.-(42); |
| 253 self::use(super.{self::A::n} = super.{self::A::n}.-(42)); |
| 254 } |
| 255 } |
| 256 const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/rasta/sup
er.dart:43:5: Error: '+' is not a prefix operator. \n +super;\n ^", "pkg/f
ront_end/testcases/rasta/super.dart:44:9: Error: '+' is not a prefix operator. \
n use(+super);\n ^"]/* from null */; |
| 257 static method use(dynamic x) → dynamic { |
| 258 if(x.==(new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch})) |
| 259 throw "Shouldn't happen"; |
| 260 } |
| 261 static method main() → dynamic { |
| 262 new self::C::•().{self::C::test}(); |
| 263 } |
OLD | NEW |