@@ -228,6 +228,49 @@ void main() {
228228 expect (referenceLookup (A , 'new' ), equals (MatchingLinkResult (null )));
229229 expect (referenceLookup (At , 'new' ), equals (MatchingLinkResult (null )));
230230 });
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+ });
231274 }, skip: ! _constructorTearoffsAllowed.allows (utils.platformVersion));
232275 });
233276
0 commit comments