@@ -61,41 +61,41 @@ abstract class LegacyUpperBoundTest {
6161 Future <void > test_getLegacyLeastUpperBound_expansive () async {
6262 await parseComponent ("""
6363class N<T>;
64- class C1<T> extends N<N<C1<T*>*>* >;
65- class C2<T> extends N<N<C2<N<C2<T*>*>*>*>* >;
64+ class C1<T> extends N<N<C1<T>> >;
65+ class C2<T> extends N<N<C2<N<C2<T>>>> >;
6666""" );
6767
6868 // The least upper bound of C1<int> and N<C1<String>> is Object since the
6969 // supertypes are
7070 // {C1<int>, N<N<C1<int>>>, Object} for C1<int> and
7171 // {N<C1<String>>, Object} for N<C1<String>> and
7272 // Object is the most specific type in the intersection of the supertypes.
73- checkLegacyUp ("C1<int*>* " , "N<C1<String*>*>* " , "Object* " );
73+ checkLegacyUp ("C1<int> " , "N<C1<String>> " , "Object" );
7474
7575 // The least upper bound of C2<int> and N<C2<String>> is Object since the
7676 // supertypes are
7777 // {C2<int>, N<N<C2<N<C2<int>>>>>, Object} for C2<int> and
7878 // {N<C2<String>>, Object} for N<C2<String>> and
7979 // Object is the most specific type in the intersection of the supertypes.
80- checkLegacyUp ("C2<int*>* " , "N<C2<String*>*>* " , "Object* " );
80+ checkLegacyUp ("C2<int> " , "N<C2<String>> " , "Object" );
8181 }
8282
8383 Future <void > test_getLegacyLeastUpperBound_generic () async {
8484 await parseComponent ("""
8585class A;
8686class B<T> implements A;
8787class C<U> implements A;
88- class D<T, U> implements B<T* >, C<U* >;
89- class E implements D<int* , double* >;
90- class F implements D<int* , bool* >;
88+ class D<T, U> implements B<T>, C<U>;
89+ class E implements D<int, double>;
90+ class F implements D<int, bool>;
9191""" );
9292
9393 checkLegacyUp (
94- "D<int* , double*>* " , "D<int* , double*>* " , "D<int* , double*>* " );
95- checkLegacyUp ("D<int* , double*>* " , "D<int* , bool*>* " , "B<int*>* " );
96- checkLegacyUp ("D<int* , double*>* " , "D<bool* , double*>* " , "C<double*>* " );
97- checkLegacyUp ("D<int* , double*>* " , "D<bool* , int*>* " , "A* " );
98- checkLegacyUp ("E* " , "F* " , "B<int*>* " );
94+ "D<int, double> " , "D<int, double> " , "D<int, double> " );
95+ checkLegacyUp ("D<int, double> " , "D<int, bool> " , "B<int> " );
96+ checkLegacyUp ("D<int, double> " , "D<bool, double> " , "C<double> " );
97+ checkLegacyUp ("D<int, double> " , "D<bool, int> " , "A" );
98+ checkLegacyUp ("E" , "F" , "B<int> " );
9999 }
100100
101101 Future <void > test_getLegacyLeastUpperBound_nonGeneric () async {
@@ -111,13 +111,13 @@ class H implements C, D, E;
111111class I implements C, D, E;
112112""" );
113113
114- checkLegacyUp ("A* " , "B* " , "Object* " );
115- checkLegacyUp ("A* " , "Object* " , "Object* " );
116- checkLegacyUp ("Object* " , "B* " , "Object* " );
117- checkLegacyUp ("C* " , "D* " , "A* " );
118- checkLegacyUp ("C* " , "A* " , "A* " );
119- checkLegacyUp ("A* " , "D* " , "A* " );
120- checkLegacyUp ("F* " , "G* " , "A* " );
121- checkLegacyUp ("H* " , "I* " , "A* " );
114+ checkLegacyUp ("A" , "B" , "Object" );
115+ checkLegacyUp ("A" , "Object" , "Object" );
116+ checkLegacyUp ("Object" , "B" , "Object" );
117+ checkLegacyUp ("C" , "D" , "A" );
118+ checkLegacyUp ("C" , "A" , "A" );
119+ checkLegacyUp ("A" , "D" , "A" );
120+ checkLegacyUp ("F" , "G" , "A" );
121+ checkLegacyUp ("H" , "I" , "A" );
122122 }
123123}
0 commit comments