Анализатор дротиков: Получить тип начального значения поля

Как я могу получить тип начального значения выражения поля с помощью API анализатора Дарт?

class MyClass {
  var prop = <initial value expression>;
}

Если выражение начального значения, например, 'text' Я хотел бы получить String, Если это вызов функции, я хотел бы получить тип возвращаемого значения функции.

1 ответ

Решение

После получения полностью разрешенной структуры AST спросите Expression представляющий начальное значение выражения для его staticType, Это вернет DartType представляющий статический тип.

Для вывода типов возможно создание более специализированного типа, доступ к которому можно получить с помощью propagatedType, (И если вам все равно, какой тип вы получите, вы можете использовать bestType,

Другие вопросы по тегам