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

Unified Diff: pkg/analyzer/test/src/task/strong/checker_test.dart

Issue 2738223002: Reland "Turn the DOWN_CAST_COMPOSITE strong mode error into a hint, which will" (Closed)
Patch Set: 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/error/codes.dart ('k') | pkg/analyzer/test/src/task/strong/inferred_type_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/src/task/strong/checker_test.dart
diff --git a/pkg/analyzer/test/src/task/strong/checker_test.dart b/pkg/analyzer/test/src/task/strong/checker_test.dart
index 2972ff98f099b96383f69c7048c980d7d0c86077..e831248476124217afcc0f8bd3e431792bec2c5d 100644
--- a/pkg/analyzer/test/src/task/strong/checker_test.dart
+++ b/pkg/analyzer/test/src/task/strong/checker_test.dart
@@ -1079,23 +1079,23 @@ void main() {
}
{
Left f;
- f = /*warning:DOWN_CAST_COMPOSITE*/top;
+ f = /*info:DOWN_CAST_COMPOSITE*/top;
f = left;
f = /*error:INVALID_ASSIGNMENT*/right;
f = bot;
}
{
Right f;
- f = /*warning:DOWN_CAST_COMPOSITE*/top;
+ f = /*info:DOWN_CAST_COMPOSITE*/top;
f = /*error:INVALID_ASSIGNMENT*/left;
f = right;
f = bot;
}
{
Bottom f;
- f = /*warning:DOWN_CAST_COMPOSITE*/top;
- f = /*warning:DOWN_CAST_COMPOSITE*/left;
- f = /*warning:DOWN_CAST_COMPOSITE*/right;
+ f = /*info:DOWN_CAST_COMPOSITE*/top;
+ f = /*info:DOWN_CAST_COMPOSITE*/left;
+ f = /*info:DOWN_CAST_COMPOSITE*/right;
f = bot;
}
}
@@ -1169,14 +1169,14 @@ void main() {
f = aa;
f = aTop;
f = /*error:INVALID_ASSIGNMENT*/botA;
- f = /*warning:DOWN_CAST_COMPOSITE*/botTop;
+ f = /*info:DOWN_CAST_COMPOSITE*/botTop;
apply/*<ATop>*/(
topA,
topTop,
aa,
aTop,
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
apply/*<ATop>*/(
(dynamic x) => new A(),
@@ -1184,7 +1184,7 @@ void main() {
(A x) => x,
(A x) => null,
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
}
{
@@ -1194,14 +1194,14 @@ void main() {
f = aa;
f = /*error:INVALID_ASSIGNMENT*/aTop;
f = botA;
- f = /*warning:DOWN_CAST_COMPOSITE*/botTop;
+ f = /*info:DOWN_CAST_COMPOSITE*/botTop;
apply/*<BotA>*/(
topA,
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/topTop,
aa,
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/aTop,
botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
apply/*<BotA>*/(
(dynamic x) => new A(),
@@ -1209,7 +1209,7 @@ void main() {
(A x) => x,
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/(A x) => (/*info:UNNECESSARY_CAST*/x as Object),
botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
}
{
@@ -1218,23 +1218,23 @@ void main() {
f = /*error:INVALID_ASSIGNMENT*/topTop;
f = aa;
f = /*error:INVALID_CAST_FUNCTION*/aTop; // known function
- f = /*warning:DOWN_CAST_COMPOSITE*/botA;
- f = /*warning:DOWN_CAST_COMPOSITE*/botTop;
+ f = /*info:DOWN_CAST_COMPOSITE*/botA;
+ f = /*info:DOWN_CAST_COMPOSITE*/botTop;
apply/*<AA>*/(
topA,
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/topTop,
aa,
/*error:INVALID_CAST_FUNCTION*/aTop, // known function
- /*warning:DOWN_CAST_COMPOSITE*/botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botA,
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
apply/*<AA>*/(
(dynamic x) => new A(),
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/(dynamic x) => (x as Object),
(A x) => x,
/*error:INVALID_CAST_FUNCTION_EXPR*/(A x) => (/*info:UNNECESSARY_CAST*/x as Object), // known function
- /*warning:DOWN_CAST_COMPOSITE*/botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botA,
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
}
{
@@ -1244,14 +1244,14 @@ void main() {
f = /*error:INVALID_ASSIGNMENT*/aa;
f = /*error:INVALID_CAST_FUNCTION*/aTop; // known function
f = /*error:INVALID_ASSIGNMENT*/botA;
- f = /*warning:DOWN_CAST_COMPOSITE*/botTop;
+ f = /*info:DOWN_CAST_COMPOSITE*/botTop;
apply/*<TopTop>*/(
topA,
topTop,
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/aa,
/*error:INVALID_CAST_FUNCTION*/aTop, // known function
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
apply/*<TopTop>*/(
(dynamic x) => new A(),
@@ -1259,7 +1259,7 @@ void main() {
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/(A x) => x,
/*error:INVALID_CAST_FUNCTION_EXPR*/(A x) => (/*info:UNNECESSARY_CAST*/x as Object), // known function
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
}
{
@@ -1268,23 +1268,23 @@ void main() {
f = /*error:INVALID_CAST_FUNCTION*/topTop; // known function
f = /*error:INVALID_CAST_FUNCTION*/aa; // known function
f = /*error:INVALID_CAST_FUNCTION*/aTop; // known function
- f = /*warning:DOWN_CAST_COMPOSITE*/botA;
- f = /*warning:DOWN_CAST_COMPOSITE*/botTop;
+ f = /*info:DOWN_CAST_COMPOSITE*/botA;
+ f = /*info:DOWN_CAST_COMPOSITE*/botTop;
apply/*<TopA>*/(
topA,
/*error:INVALID_CAST_FUNCTION*/topTop, // known function
/*error:INVALID_CAST_FUNCTION*/aa, // known function
/*error:INVALID_CAST_FUNCTION*/aTop, // known function
- /*warning:DOWN_CAST_COMPOSITE*/botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botA,
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
apply/*<TopA>*/(
(dynamic x) => new A(),
/*error:INVALID_CAST_FUNCTION_EXPR*/(dynamic x) => (x as Object), // known function
/*error:INVALID_CAST_FUNCTION_EXPR*/(A x) => x, // known function
/*error:INVALID_CAST_FUNCTION_EXPR*/(A x) => (/*info:UNNECESSARY_CAST*/x as Object), // known function
- /*warning:DOWN_CAST_COMPOSITE*/botA,
- /*warning:DOWN_CAST_COMPOSITE*/botTop
+ /*info:DOWN_CAST_COMPOSITE*/botA,
+ /*info:DOWN_CAST_COMPOSITE*/botTop
);
}
}
@@ -1423,19 +1423,19 @@ void main() {
top = top;
top = left;
- left = /*warning:DOWN_CAST_COMPOSITE*/top;
+ left = /*info:DOWN_CAST_COMPOSITE*/top;
left = left;
left = /*error:INVALID_ASSIGNMENT*/right;
left = bot;
- right = /*warning:DOWN_CAST_COMPOSITE*/top;
+ right = /*info:DOWN_CAST_COMPOSITE*/top;
right = /*error:INVALID_ASSIGNMENT*/left;
right = right;
right = bot;
- bot = /*warning:DOWN_CAST_COMPOSITE*/top;
- bot = /*warning:DOWN_CAST_COMPOSITE*/left;
- bot = /*warning:DOWN_CAST_COMPOSITE*/right;
+ bot = /*info:DOWN_CAST_COMPOSITE*/top;
+ bot = /*info:DOWN_CAST_COMPOSITE*/left;
+ bot = /*info:DOWN_CAST_COMPOSITE*/right;
bot = bot;
}
}
@@ -1455,7 +1455,7 @@ typedef B AToB(A x); // Bot of the base lattice
BToA top(AToB f) => f;
AToB left(AToB f) => f;
BToA right(BToA f) => f;
-AToB bot_(BToA f) => /*warning:DOWN_CAST_COMPOSITE*/f;
+AToB bot_(BToA f) => /*info:DOWN_CAST_COMPOSITE*/f;
AToB bot(BToA f) => f as AToB;
void main() {
@@ -1504,7 +1504,7 @@ typedef B AToB(A x); // Bot of the base lattice
Function2<B, A> top(AToB f) => f;
Function2<A, B> left(AToB f) => f;
Function2<B, A> right(BToA f) => f;
-Function2<A, B> bot_(BToA f) => /*warning:DOWN_CAST_COMPOSITE*/f;
+Function2<A, B> bot_(BToA f) => /*info:DOWN_CAST_COMPOSITE*/f;
Function2<A, B> bot(BToA f) => f as Function2<A, B>;
void main() {
@@ -1553,7 +1553,7 @@ typedef B AToB(A x); // Bot of the base lattice
BToA top(Function2<A, B> f) => f;
AToB left(Function2<A, B> f) => f;
BToA right(Function2<B, A> f) => f;
-AToB bot_(Function2<B, A> f) => /*warning:DOWN_CAST_COMPOSITE*/f;
+AToB bot_(Function2<B, A> f) => /*info:DOWN_CAST_COMPOSITE*/f;
AToB bot(Function2<B, A> f) => f as AToB;
void main() {
@@ -1608,21 +1608,21 @@ void main() {
top = top;
top = left;
- left = /*warning:DOWN_CAST_COMPOSITE*/top;
+ left = /*info:DOWN_CAST_COMPOSITE*/top;
left = left;
left =
/*error:INVALID_ASSIGNMENT*/right;
left = bot;
- right = /*warning:DOWN_CAST_COMPOSITE*/top;
+ right = /*info:DOWN_CAST_COMPOSITE*/top;
right =
/*error:INVALID_ASSIGNMENT*/left;
right = right;
right = bot;
- bot = /*warning:DOWN_CAST_COMPOSITE*/top;
- bot = /*warning:DOWN_CAST_COMPOSITE*/left;
- bot = /*warning:DOWN_CAST_COMPOSITE*/right;
+ bot = /*info:DOWN_CAST_COMPOSITE*/top;
+ bot = /*info:DOWN_CAST_COMPOSITE*/left;
+ bot = /*info:DOWN_CAST_COMPOSITE*/right;
bot = bot;
}
}
@@ -1654,23 +1654,23 @@ void main() {
}
{
Function2<B, B> f;
- f = /*warning:DOWN_CAST_COMPOSITE*/c.top;
+ f = /*info:DOWN_CAST_COMPOSITE*/c.top;
f = c.left;
f = /*error:INVALID_ASSIGNMENT*/c.right;
f = c.bot;
}
{
Function2<A, A> f;
- f = /*warning:DOWN_CAST_COMPOSITE*/c.top;
+ f = /*info:DOWN_CAST_COMPOSITE*/c.top;
f = /*error:INVALID_ASSIGNMENT*/c.left;
f = c.right;
f = c.bot;
}
{
Function2<A, B> f;
- f = /*warning:DOWN_CAST_COMPOSITE*/c.top;
- f = /*warning:DOWN_CAST_COMPOSITE*/c.left;
- f = /*warning:DOWN_CAST_COMPOSITE*/c.right;
+ f = /*info:DOWN_CAST_COMPOSITE*/c.top;
+ f = /*info:DOWN_CAST_COMPOSITE*/c.left;
+ f = /*info:DOWN_CAST_COMPOSITE*/c.right;
f = c.bot;
}
}
@@ -1712,23 +1712,23 @@ void main() {
}
{
Left f;
- f = /*warning:DOWN_CAST_COMPOSITE*/top;
+ f = /*info:DOWN_CAST_COMPOSITE*/top;
f = left;
f = /*error:INVALID_ASSIGNMENT*/right;
f = bot;
}
{
Right f;
- f = /*warning:DOWN_CAST_COMPOSITE*/top;
+ f = /*info:DOWN_CAST_COMPOSITE*/top;
f = /*error:INVALID_ASSIGNMENT*/left;
f = right;
f = bot;
}
{
Bot f;
- f = /*warning:DOWN_CAST_COMPOSITE*/top;
- f = /*warning:DOWN_CAST_COMPOSITE*/left;
- f = /*warning:DOWN_CAST_COMPOSITE*/right;
+ f = /*info:DOWN_CAST_COMPOSITE*/top;
+ f = /*info:DOWN_CAST_COMPOSITE*/left;
+ f = /*info:DOWN_CAST_COMPOSITE*/right;
f = bot;
}
}
@@ -1770,7 +1770,7 @@ void main() {
r = /*error:INVALID_ASSIGNMENT*/nn;
r = /*error:INVALID_ASSIGNMENT*/nnn;
- o = /*warning:DOWN_CAST_COMPOSITE*/r;
+ o = /*info:DOWN_CAST_COMPOSITE*/r;
o = o;
o = /*error:INVALID_ASSIGNMENT*/n;
o = /*error:INVALID_ASSIGNMENT*/rr;
@@ -1800,17 +1800,17 @@ void main() {
rr = /*error:INVALID_ASSIGNMENT*/nn;
rr = /*error:INVALID_ASSIGNMENT*/nnn;
- ro = /*warning:DOWN_CAST_COMPOSITE*/r;
+ ro = /*info:DOWN_CAST_COMPOSITE*/r;
ro = /*error:INVALID_ASSIGNMENT*/o;
ro = /*error:INVALID_ASSIGNMENT*/n;
- ro = /*warning:DOWN_CAST_COMPOSITE*/rr;
+ ro = /*info:DOWN_CAST_COMPOSITE*/rr;
ro = ro;
ro = /*error:INVALID_ASSIGNMENT*/rn;
ro = oo;
ro = /*error:INVALID_ASSIGNMENT*/nn;
ro = /*error:INVALID_ASSIGNMENT*/nnn;
- rn = /*warning:DOWN_CAST_COMPOSITE*/r;
+ rn = /*info:DOWN_CAST_COMPOSITE*/r;
rn = /*error:INVALID_ASSIGNMENT*/o;
rn = /*error:INVALID_ASSIGNMENT*/n;
rn = /*error:INVALID_ASSIGNMENT*/rr;
@@ -1820,11 +1820,11 @@ void main() {
rn = /*error:INVALID_ASSIGNMENT*/nn;
rn = /*error:INVALID_ASSIGNMENT*/nnn;
- oo = /*warning:DOWN_CAST_COMPOSITE*/r;
- oo = /*warning:DOWN_CAST_COMPOSITE*/o;
+ oo = /*info:DOWN_CAST_COMPOSITE*/r;
+ oo = /*info:DOWN_CAST_COMPOSITE*/o;
oo = /*error:INVALID_ASSIGNMENT*/n;
- oo = /*warning:DOWN_CAST_COMPOSITE*/rr;
- oo = /*warning:DOWN_CAST_COMPOSITE*/ro;
+ oo = /*info:DOWN_CAST_COMPOSITE*/rr;
+ oo = /*info:DOWN_CAST_COMPOSITE*/ro;
oo = /*error:INVALID_ASSIGNMENT*/rn;
oo = oo;
oo = /*error:INVALID_ASSIGNMENT*/nn;
@@ -1832,7 +1832,7 @@ void main() {
nn = /*error:INVALID_ASSIGNMENT*/r;
nn = /*error:INVALID_ASSIGNMENT*/o;
- nn = /*warning:DOWN_CAST_COMPOSITE*/n;
+ nn = /*info:DOWN_CAST_COMPOSITE*/n;
nn = /*error:INVALID_ASSIGNMENT*/rr;
nn = /*error:INVALID_ASSIGNMENT*/ro;
nn = /*error:INVALID_ASSIGNMENT*/rn;
@@ -1842,12 +1842,12 @@ void main() {
nnn = /*error:INVALID_ASSIGNMENT*/r;
nnn = /*error:INVALID_ASSIGNMENT*/o;
- nnn = /*warning:DOWN_CAST_COMPOSITE*/n;
+ nnn = /*info:DOWN_CAST_COMPOSITE*/n;
nnn = /*error:INVALID_ASSIGNMENT*/rr;
nnn = /*error:INVALID_ASSIGNMENT*/ro;
nnn = /*error:INVALID_ASSIGNMENT*/rn;
nnn = /*error:INVALID_ASSIGNMENT*/oo;
- nnn = /*warning:DOWN_CAST_COMPOSITE*/nn;
+ nnn = /*info:DOWN_CAST_COMPOSITE*/nn;
nnn = nnn;
}
''');
@@ -1872,8 +1872,8 @@ void main() {
f = /*error:INVALID_ASSIGNMENT*/new B();
f = i2i;
f = /*error:INVALID_ASSIGNMENT*/n2n;
- f = /*info:UNNECESSARY_CAST,warning:DOWN_CAST_COMPOSITE*/i2i as Object;
- f = /*info:UNNECESSARY_CAST,warning:DOWN_CAST_COMPOSITE*/n2n as Function;
+ f = /*info:UNNECESSARY_CAST,info:DOWN_CAST_COMPOSITE*/i2i as Object;
+ f = /*info:UNNECESSARY_CAST,info:DOWN_CAST_COMPOSITE*/n2n as Function;
}
{
N2N f;
@@ -1881,8 +1881,8 @@ void main() {
f = new B();
f = /*error:INVALID_ASSIGNMENT*/i2i;
f = n2n;
- f = /*info:UNNECESSARY_CAST,warning:DOWN_CAST_COMPOSITE*/i2i as Object;
- f = /*info:UNNECESSARY_CAST,warning:DOWN_CAST_COMPOSITE*/n2n as Function;
+ f = /*info:UNNECESSARY_CAST,info:DOWN_CAST_COMPOSITE*/i2i as Object;
+ f = /*info:UNNECESSARY_CAST,info:DOWN_CAST_COMPOSITE*/n2n as Function;
}
{
A f;
@@ -1987,7 +1987,7 @@ void main() {
var local2 = g;
local = local2;
local2 = /*error:INVALID_CAST_FUNCTION*/f;
- local2 = /*warning:DOWN_CAST_COMPOSITE*/local;
+ local2 = /*info:DOWN_CAST_COMPOSITE*/local;
// Non-generic function cannot subtype a generic one.
local = /*error:INVALID_ASSIGNMENT*/(x) => null;
@@ -2840,7 +2840,7 @@ class C {
int x =
/*info:ASSIGNMENT_CAST should be error:INVALID_ASSIGNMENT*/
b ? li : id;
- return /*warning:DOWN_CAST_COMPOSITE should be pass*/b ? li : id;
+ return /*info:DOWN_CAST_COMPOSITE should be pass*/b ? li : id;
}
}
''');
@@ -2855,7 +2855,7 @@ void main() {
TakesA<dynamic> g;
TakesA<String> h;
g = h;
- f = /*warning:DOWN_CAST_COMPOSITE*/f ?? g;
+ f = /*info:DOWN_CAST_COMPOSITE*/f ?? g;
}
''');
}
@@ -3404,7 +3404,7 @@ void main() {
lOfAs = /*error:INVALID_ASSIGNMENT*/mOfDs;
lOfAs = /*error:INVALID_ASSIGNMENT*/mOfOs;
lOfAs = mOfAs;
- lOfAs = /*warning:DOWN_CAST_COMPOSITE*/lOfDs;
+ lOfAs = /*info:DOWN_CAST_COMPOSITE*/lOfDs;
lOfAs = /*info:DOWN_CAST_IMPLICIT*/lOfOs;
lOfAs = lOfAs;
lOfAs = new L<A>(); // Reset type propagation.
@@ -3428,10 +3428,10 @@ void main() {
mOfOs = new M<Object>(); // Reset type propagation.
}
{
- mOfAs = /*warning:DOWN_CAST_COMPOSITE*/mOfDs;
+ mOfAs = /*info:DOWN_CAST_COMPOSITE*/mOfDs;
mOfAs = /*info:DOWN_CAST_IMPLICIT*/mOfOs;
mOfAs = mOfAs;
- mOfAs = /*warning:DOWN_CAST_COMPOSITE*/lOfDs;
+ mOfAs = /*info:DOWN_CAST_COMPOSITE*/lOfDs;
mOfAs = /*info:DOWN_CAST_IMPLICIT*/lOfOs;
mOfAs = /*info:DOWN_CAST_IMPLICIT*/lOfAs;
}
@@ -3734,11 +3734,11 @@ class SplayTreeMap<K, V> {
// define that since it doesn't implement Comparable.
SplayTreeMap([int compare(K key1, K key2),
bool isValidKey(potentialKey)])
- : _comparator = /*warning:DOWN_CAST_COMPOSITE*/(compare == null) ? Comparable.compare : compare,
+ : _comparator = /*info:DOWN_CAST_COMPOSITE*/(compare == null) ? Comparable.compare : compare,
_validKey = (isValidKey != null) ? isValidKey : ((v) => true) {
// NOTE: this is a down cast because isValidKey has fuzzy arrow type.
- _Predicate<Object> v = /*warning:DOWN_CAST_COMPOSITE*/(isValidKey != null)
+ _Predicate<Object> v = /*info:DOWN_CAST_COMPOSITE*/(isValidKey != null)
? isValidKey : (/*info:INFERRED_TYPE_CLOSURE*/(_) => true);
v = (isValidKey != null)
@@ -3863,7 +3863,7 @@ void f/*<T extends num>*/(T x, T y) {
if (x is int) {
/*info:DYNAMIC_INVOKE*/z./*error:UNDEFINED_GETTER*/isEven;
var q = x;
- q = /*warning:DOWN_CAST_COMPOSITE*/z;
+ q = /*info:DOWN_CAST_COMPOSITE*/z;
/*info:DYNAMIC_INVOKE*/f()./*error:UNDEFINED_GETTER*/isEven;
// This does not capture the type `T extends int`. Instead the return type
@@ -3873,7 +3873,7 @@ void f/*<T extends num>*/(T x, T y) {
var g = () => x;
g = f;
/*info:DYNAMIC_INVOKE*/g()./*error:UNDEFINED_GETTER*/isEven;
- q = /*warning:DOWN_CAST_COMPOSITE*/g();
+ q = /*info:DOWN_CAST_COMPOSITE*/g();
int r = x;
}
}
« no previous file with comments | « pkg/analyzer/lib/src/error/codes.dart ('k') | pkg/analyzer/test/src/task/strong/inferred_type_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698