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

Side by Side Diff: dart/tests/language/super_operator_index5_test.dart

Issue 14066019: Change memberName and namedArguments in Invocation to use Symbol. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 // Test for unresolved super[]=. 5 // Test for unresolved super[]=.
6 6
7 import "package:expect/expect.dart"; 7 import "package:expect/expect.dart";
8 8
9 class A { 9 class A {
10 var indexField = new List(2); 10 var indexField = new List(2);
11 operator[](index) => indexField[index]; 11 operator[](index) => indexField[index];
12 12
13 noSuchMethod(Invocation im) { 13 noSuchMethod(Invocation im) {
14 if (im.memberName == '[]=') { 14 if (im.memberName == const Symbol('[]=')) {
15 Expect.equals(2, im.positionalArguments.length); 15 Expect.equals(2, im.positionalArguments.length);
16 indexField[im.positionalArguments[0]] = im.positionalArguments[1]; 16 indexField[im.positionalArguments[0]] = im.positionalArguments[1];
17 } else { 17 } else {
18 Expect.fail('Should not reach here'); 18 Expect.fail('Should not reach here');
19 } 19 }
20 } 20 }
21 } 21 }
22 22
23 class B extends A { 23 class B extends A {
24 test() { 24 test() {
25 Expect.equals(42, super[0] = 42); 25 Expect.equals(42, super[0] = 42);
26 Expect.equals(42, super[0]); 26 Expect.equals(42, super[0]);
27 Expect.equals(43, super[0] += 1); 27 Expect.equals(43, super[0] += 1);
28 Expect.equals(43, super[0]); 28 Expect.equals(43, super[0]);
29 Expect.equals(43, super[0]++); 29 Expect.equals(43, super[0]++);
30 Expect.equals(44, super[0]); 30 Expect.equals(44, super[0]);
31 31
32 Expect.equals(2, super[0] = 2); 32 Expect.equals(2, super[0] = 2);
33 Expect.equals(2, super[0]); 33 Expect.equals(2, super[0]);
34 Expect.equals(3, super[0] += 1); 34 Expect.equals(3, super[0] += 1);
35 Expect.equals(3, super[0]); 35 Expect.equals(3, super[0]);
36 Expect.equals(3, super[0]++); 36 Expect.equals(3, super[0]++);
37 Expect.equals(4, super[0]); 37 Expect.equals(4, super[0]);
38 } 38 }
39 } 39 }
40 40
41 main() { 41 main() {
42 new B().test(); 42 new B().test();
43 } 43 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698