2015-08-06 3 views
3

Как получить тип выражения исходного значения в поле с помощью Dartanalyzer API?Dart analyzer: Получить тип начального значения поля

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

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

ответ

5

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

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

Смежные вопросы