@@ -228,6 +228,49 @@ void main() {
228
228
expect (referenceLookup (A , 'new' ), equals (MatchingLinkResult (null )));
229
229
expect (referenceLookup (At , 'new' ), equals (MatchingLinkResult (null )));
230
230
});
231
+
232
+ test ('constant rendering' , () {
233
+ TopLevelVariable aFunc,
234
+ aFuncParams,
235
+ aTearOffDefaultConstructor,
236
+ aTearOffNonDefaultConstructor,
237
+ aTearOffNonDefaultConstructorInt,
238
+ aTearOffDefaultConstructorArgs;
239
+ TopLevelVariable aTearOffDefaultConstructorTypedef;
240
+ aFunc =
241
+ constructorTearoffs.constants.firstWhere ((c) => c.name == 'aFunc' );
242
+ aFuncParams = constructorTearoffs.constants
243
+ .firstWhere ((c) => c.name == 'aFuncParams' );
244
+ aTearOffDefaultConstructor = constructorTearoffs.constants
245
+ .firstWhere ((c) => c.name == 'aTearOffDefaultConstructor' );
246
+ aTearOffNonDefaultConstructor = constructorTearoffs.constants
247
+ .firstWhere ((c) => c.name == 'aTearOffNonDefaultConstructor' );
248
+ aTearOffNonDefaultConstructorInt = constructorTearoffs.constants
249
+ .firstWhere ((c) => c.name == 'aTearOffNonDefaultConstructorInt' );
250
+ aTearOffDefaultConstructorArgs = constructorTearoffs.constants
251
+ .firstWhere ((c) => c.name == 'aTearOffDefaultConstructorArgs' );
252
+ aTearOffDefaultConstructorTypedef = constructorTearoffs.constants
253
+ .firstWhere ((c) => c.name == 'aTearOffDefaultConstructorTypedef' );
254
+
255
+ expect (aFunc.constantValue, equals ('func' ));
256
+ expect (aFuncParams.constantValue, equals ('funcTypeParams' ));
257
+ // Does not work @ analyzer 2.2
258
+ //expect(aFuncWithArgs.constantValue, equals('funcTypeParams<String, int>'));
259
+
260
+ expect (aTearOffDefaultConstructor.constantValue, equals ('F.new' ));
261
+ expect (aTearOffNonDefaultConstructor.constantValue,
262
+ equals ('F.alternative' ));
263
+ expect (aTearOffNonDefaultConstructorInt.constantValue,
264
+ equals ('F<int>.alternative' ));
265
+ expect (aTearOffDefaultConstructorArgs.constantValue,
266
+ equals ('F<String>.new' ));
267
+
268
+ expect (aTearOffDefaultConstructorTypedef.constantValue,
269
+ equals ('Fstring.new' ));
270
+ // Does not work @ analyzer 2.2
271
+ //expect(aTearOffDefaultConstructorArgsTypedef.constantValue,
272
+ // equals('Ft<String>.new'));
273
+ });
231
274
}, skip: ! _constructorTearoffsAllowed.allows (utils.platformVersion));
232
275
});
233
276
0 commit comments