@@ -2153,6 +2153,41 @@ void main() {
2153
2153
return newLookupResult;
2154
2154
}
2155
2155
2156
+ group ('Linking for generalized typedef cases works' , () {
2157
+ Library generalizedTypedefs;
2158
+ Typedef T0 , T2 , T5 , T8 ;
2159
+ Class C2 ;
2160
+
2161
+ setUpAll (() {
2162
+ generalizedTypedefs = packageGraph.libraries
2163
+ .firstWhere ((l) => l.name == 'generalized_typedefs' );
2164
+ T0 = generalizedTypedefs.typedefs.firstWhere ((a) => a.name == 'T0' );
2165
+ T2 = generalizedTypedefs.typedefs.firstWhere ((a) => a.name == 'T2' );
2166
+ T5 = generalizedTypedefs.typedefs.firstWhere ((a) => a.name == 'T5' );
2167
+ T8 = generalizedTypedefs.typedefs.firstWhere ((a) => a.name == 'T8' );
2168
+ C2 = generalizedTypedefs.classes.firstWhere ((c) => c.name == 'C2' );
2169
+ });
2170
+
2171
+ test ('Verify basic ability to link anything' , () {
2172
+ expect (bothLookup (T0 , 'C2' ), equals (MatchingLinkResult (C2 )));
2173
+ expect (bothLookup (T2 , 'C2' ), equals (MatchingLinkResult (C2 )));
2174
+ expect (bothLookup (T5 , 'C2' ), equals (MatchingLinkResult (C2 )));
2175
+ expect (bothLookup (T8 , 'C2' ), equals (MatchingLinkResult (C2 )));
2176
+ });
2177
+
2178
+ test ('Verify ability to link to type parameters' , () {
2179
+ var T2X = T2 .typeParameters.firstWhere ((t) => t.name == 'X' );
2180
+ expect (bothLookup (T2 , 'X' ), equals (MatchingLinkResult (T2X )));
2181
+ var T5X = T5 .typeParameters.firstWhere ((t) => t.name == 'X' );
2182
+ expect (bothLookup (T5 , 'X' ), equals (MatchingLinkResult (T5X )));
2183
+ });
2184
+
2185
+ test ('Verify ability to link to parameters' , () {
2186
+ var T5name = T5 .parameters.firstWhere ((t) => t.name == 'name' );
2187
+ expect (bothLookup (T5 , 'name' ), equals (MatchingLinkResult (T5name )));
2188
+ });
2189
+ });
2190
+
2156
2191
group ('Linking for complex inheritance and reexport cases' , () {
2157
2192
Library base , extending, local_scope, two_exports;
2158
2193
Class BaseWithMembers , ExtendingAgain ;
0 commit comments