Анализатор дротиков: Получить тип начального значения поля
Как я могу получить тип начального значения выражения поля с помощью API анализатора Дарт?
class MyClass {
var prop = <initial value expression>;
}
Если выражение начального значения, например, 'text'
Я хотел бы получить String
, Если это вызов функции, я хотел бы получить тип возвращаемого значения функции.
1 ответ
Решение
После получения полностью разрешенной структуры AST спросите Expression
представляющий начальное значение выражения для его staticType
, Это вернет DartType
представляющий статический тип.
Для вывода типов возможно создание более специализированного типа, доступ к которому можно получить с помощью propagatedType
, (И если вам все равно, какой тип вы получите, вы можете использовать bestType
,