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

Side by Side Diff: pkg/front_end/test/fasta/rasta/static.dart

Issue 2765943002: Improve handling of complicated getters and setters. (Closed)
Patch Set: Update status files. Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 class Foo { 5 class Foo {
6 static const staticConstant = 42; 6 static const staticConstant = 42;
7 static var staticField = 42; 7 static var staticField = 42;
8 static staticFunction() { 8 static staticFunction() {}
9 }
10 9
11 static get staticGetter => null; 10 static get staticGetter => null;
12 static set staticSetter(_) {} 11 static set staticSetter(_) {}
13 } 12 }
14 13
15 use(x) { 14 use(x) {
16 if (x == new DateTime.now().millisecondsSinceEpoch) throw "Shouldn't happen"; 15 if (x == new DateTime.now().millisecondsSinceEpoch) throw "Shouldn't happen";
17 } 16 }
18 17
19 main() { 18 main() {
20 Foo.staticConstant; 19 try {
21 use(Foo.staticConstant); 20 Foo.staticConstant;
22 Foo.staticField; 21 use(Foo.staticConstant);
23 use(Foo.staticField); 22 Foo.staticField;
24 Foo.staticFunction; 23 use(Foo.staticField);
25 use(Foo.staticFunction); 24 Foo.staticFunction;
26 Foo.staticGetter; 25 use(Foo.staticFunction);
27 use(Foo.staticGetter); 26 Foo.staticGetter;
28 Foo.staticSetter; 27 use(Foo.staticGetter);
29 use(Foo.staticSetter); 28 Foo.staticSetter;
29 use(Foo.staticSetter);
30 30
31 Foo.staticConstant++; 31 Foo.staticConstant++;
32 use(Foo.staticConstant++); 32 use(Foo.staticConstant++);
33 Foo.staticField++; 33 Foo.staticField++;
34 use(Foo.staticField++); 34 use(Foo.staticField++);
35 Foo.staticFunction++; 35 Foo.staticFunction++;
36 use(Foo.staticFunction++); 36 use(Foo.staticFunction++);
37 Foo.staticGetter++; 37 Foo.staticGetter++;
38 use(Foo.staticGetter++); 38 use(Foo.staticGetter++);
39 Foo.staticSetter++; 39 Foo.staticSetter++;
40 use(Foo.staticSetter++); 40 use(Foo.staticSetter++);
41 41
42 ++Foo.staticConstant; 42 ++Foo.staticConstant;
43 use(++Foo.staticConstant); 43 use(++Foo.staticConstant);
44 ++Foo.staticField; 44 ++Foo.staticField;
45 use(++Foo.staticField); 45 use(++Foo.staticField);
46 ++Foo.staticFunction; 46 ++Foo.staticFunction;
47 use(++Foo.staticFunction); 47 use(++Foo.staticFunction);
48 ++Foo.staticGetter; 48 ++Foo.staticGetter;
49 use(++Foo.staticGetter); 49 use(++Foo.staticGetter);
50 ++Foo.staticSetter; 50 ++Foo.staticSetter;
51 use(++Foo.staticSetter); 51 use(++Foo.staticSetter);
52 52
53 Foo.staticConstant(); 53 Foo.staticConstant();
54 use(Foo.staticConstant()); 54 use(Foo.staticConstant());
55 Foo.staticField(); 55 Foo.staticField();
56 use(Foo.staticField()); 56 use(Foo.staticField());
57 Foo.staticFunction(); 57 Foo.staticFunction();
58 use(Foo.staticFunction()); 58 use(Foo.staticFunction());
59 Foo.staticGetter(); 59 Foo.staticGetter();
60 use(Foo.staticGetter()); 60 use(Foo.staticGetter());
61 Foo.staticSetter(); 61 Foo.staticSetter();
62 use(Foo.staticSetter()); 62 use(Foo.staticSetter());
63 63
64 Foo.staticConstant = 87; 64 Foo.staticConstant = 87;
65 use(Foo.staticConstant = 87); 65 use(Foo.staticConstant = 87);
66 Foo.staticField = 87; 66 Foo.staticField = 87;
67 use(Foo.staticField = 87); 67 use(Foo.staticField = 87);
68 Foo.staticFunction = 87; 68 Foo.staticFunction = 87;
69 use(Foo.staticFunction = 87); 69 use(Foo.staticFunction = 87);
70 Foo.staticGetter = 87; 70 Foo.staticGetter = 87;
71 use(Foo.staticGetter = 87); 71 use(Foo.staticGetter = 87);
72 Foo.staticSetter = 87; 72 Foo.staticSetter = 87;
73 use(Foo.staticSetter = 87); 73 use(Foo.staticSetter = 87);
74 74
75 Foo.staticConstant ??= 87; 75 Foo.staticConstant ??= 87;
76 use(Foo.staticConstant ??= 87); 76 use(Foo.staticConstant ??= 87);
77 Foo.staticField ??= 87; 77 Foo.staticField ??= 87;
78 use(Foo.staticField ??= 87); 78 use(Foo.staticField ??= 87);
79 Foo.staticFunction ??= 87; 79 Foo.staticFunction ??= 87;
80 use(Foo.staticFunction ??= 87); 80 use(Foo.staticFunction ??= 87);
81 Foo.staticGetter ??= 87; 81 Foo.staticGetter ??= 87;
82 use(Foo.staticGetter ??= 87); 82 use(Foo.staticGetter ??= 87);
83 Foo.staticSetter ??= 87; 83 Foo.staticSetter ??= 87;
84 use(Foo.staticSetter ??= 87); 84 use(Foo.staticSetter ??= 87);
85 } on NoSuchMethodError {
86 // Expected.
87 }
85 } 88 }
OLDNEW
« no previous file with comments | « pkg/front_end/test/fasta/compile.status ('k') | pkg/front_end/test/fasta/rasta/static.dart.direct.expect » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698