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

Side by Side Diff: pkg/front_end/testcases/inference/infer_assign_to_static.dart.strong.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<T extends core::Object>() → self::f::T
31 return null;
32 static method test_topLevelVariable() → void {
33 self::topLevelVariable = self::f<self::B>();
34 self::topLevelVariable.{core::Object::==}(null) ? self::topLevelVariable = sel f::f<self::B>() : null;
35 self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<dynamic>( ));
36 self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<dynamic>( ));
37 self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<dynamic>( ));
38 self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
39 self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
40 self::B v1 = self::topLevelVariable = self::f<self::B>();
41 self::B v2 = let final dynamic #t1 = self::topLevelVariable in #t1.{core::Obje ct::==}(null) ? self::topLevelVariable = self::f<self::B>() : #t1;
42 self::A v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self ::f<dynamic>());
43 self::B v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self ::f<dynamic>());
44 self::C v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self ::f<dynamic>());
45 self::B v6 = self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
46 self::B v7 = let final dynamic #t2 = self::topLevelVariable in let final dynam ic #t3 = self::topLevelVariable = #t2.{self::B::-}(1) in #t2;
47 }
48 static method test_staticVariable() → void {
49 self::B::staticVariable = self::f<self::B>();
50 self::B::staticVariable.{core::Object::==}(null) ? self::B::staticVariable = s elf::f<self::B>() : null;
51 self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<dynamic >());
52 self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<dynamic >());
53 self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<dynamic >());
54 self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
55 self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
56 self::B v1 = self::B::staticVariable = self::f<self::B>();
57 self::B v2 = let final dynamic #t4 = self::B::staticVariable in #t4.{core::Obj ect::==}(null) ? self::B::staticVariable = self::f<self::B>() : #t4;
58 self::A v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(se lf::f<dynamic>());
59 self::B v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(se lf::f<dynamic>());
60 self::C v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(se lf::f<dynamic>());
61 self::B v6 = self::B::staticVariable = self::B::staticVariable.{self::B::-}(1) ;
62 self::B v7 = let final dynamic #t5 = self::B::staticVariable in let final dyna mic #t6 = self::B::staticVariable = #t5.{self::B::-}(1) in #t5;
63 }
64 static method main() → dynamic {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698