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

Side by Side Diff: pkg/front_end/testcases/inference/infer_assign_to_static.dart.direct.expect

Issue 2933643002: Implement type inference for assignments to a static variable. (Closed)
Patch Set: Created 3 years, 6 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
(Empty)
1 library test;
2 import self as self;
3 import "dart:core" as core;
4
5 class A extends core::Object {
6 constructor •() → void
7 : super core::Object::•()
8 ;
9 }
10 class B extends self::A {
11 static field self::B staticVariable = null;
12 constructor •() → void
13 : super self::A::•()
14 ;
15 operator +(self::C v) → self::A
16 return null;
17 operator -(core::int i) → self::B
18 return null;
19 operator *(self::B v) → self::B
20 return null;
21 operator &(self::A v) → self::C
22 return null;
23 }
24 class C extends self::B {
25 constructor •() → void
26 : super self::B::•()
27 ;
28 }
29 static field self::B topLevelVariable;
30 static method f() → dynamic
31 return null;
32 static method test_topLevelVariable() → void {
33 self::topLevelVariable = self::f();
34 self::topLevelVariable.==(null) ? self::topLevelVariable = self::f() : null;
35 self::topLevelVariable = self::topLevelVariable.+(self::f());
36 self::topLevelVariable = self::topLevelVariable.*(self::f());
37 self::topLevelVariable = self::topLevelVariable.&(self::f());
38 self::topLevelVariable = self::topLevelVariable.-(1);
39 self::topLevelVariable = self::topLevelVariable.-(1);
40 dynamic v1 = self::topLevelVariable = self::f();
41 dynamic v2 = let final dynamic #t1 = self::topLevelVariable in #t1.==(null) ? self::topLevelVariable = self::f() : #t1;
42 dynamic v3 = self::topLevelVariable = self::topLevelVariable.+(self::f());
43 dynamic v4 = self::topLevelVariable = self::topLevelVariable.*(self::f());
44 dynamic v5 = self::topLevelVariable = self::topLevelVariable.&(self::f());
45 dynamic v6 = self::topLevelVariable = self::topLevelVariable.-(1);
46 dynamic v7 = let final dynamic #t2 = self::topLevelVariable in let final dynam ic #t3 = self::topLevelVariable = #t2.-(1) in #t2;
47 }
48 static method test_staticVariable() → void {
49 self::B::staticVariable = self::f();
50 self::B::staticVariable.==(null) ? self::B::staticVariable = self::f() : null;
51 self::B::staticVariable = self::B::staticVariable.+(self::f());
52 self::B::staticVariable = self::B::staticVariable.*(self::f());
53 self::B::staticVariable = self::B::staticVariable.&(self::f());
54 self::B::staticVariable = self::B::staticVariable.-(1);
55 self::B::staticVariable = self::B::staticVariable.-(1);
56 dynamic v1 = self::B::staticVariable = self::f();
57 dynamic v2 = let final dynamic #t4 = self::B::staticVariable in #t4.==(null) ? self::B::staticVariable = self::f() : #t4;
58 dynamic v3 = self::B::staticVariable = self::B::staticVariable.+(self::f());
59 dynamic v4 = self::B::staticVariable = self::B::staticVariable.*(self::f());
60 dynamic v5 = self::B::staticVariable = self::B::staticVariable.&(self::f());
61 dynamic v6 = self::B::staticVariable = self::B::staticVariable.-(1);
62 dynamic v7 = let final dynamic #t5 = self::B::staticVariable in let final dyna mic #t6 = self::B::staticVariable = #t5.-(1) in #t5;
63 }
64 static method main() → dynamic {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698