Свойство symbols
dynamic symbolsСписок строк, переданных в new Symbol, и символы, которые могут быть переданы в MirrorSystem.getName.
Вместе с именами targets, metaTargets и их членов, это формирует полный список строк, переданных в new Symbol, и символы, которые могут быть переданы в MirrorSystem.getName библиотекой, к которой применяются эти метаданные.
Следующий текст не является нормативным:
Dart2js в настоящее время поддерживает следующие форматы для указания символов:
- Константный List из констант String, представляющих имена символов, например,
const ['foo', 'bar']. - Одиночная константа String, значение которой представляет собой список имён символов, разделённых запятыми, например,
"foo, bar".
Указание поля symbols отключает следующие предупреждения, выдаваемые dart2js:
- Использование "MirrorSystem.getName" может привести к увеличению размера выходных данных.
- Использование "new Symbol" может привести к увеличению размера выходных данных.
Например, если вы используете noSuchMethod для взаимодействия с базой данных, извлеките все возможные имена столбцов и включите их в этот список. Аналогично, если вы используете noSuchMethod для взаимодействия с другим языком (например, JavaScript), извлеките все идентификаторы из используемого вами API и включите их в этот список.
Обратите внимание, что указание символа лишь гарантирует, что символ будет доступен под этим именем во время выполнения. Он не помечает цели с этим именем как доступные для отражения. См. targets и metaTargets для этой цели.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-mirrors/MirrorsUsed/symbols.html