Свойство symbols
Список строк, переданных в новый Symbol, и символы, которые могут быть переданы в MirrorSystem.getName.
В сочетании с именами целей, метацелей и их членов, это формирует полный список строк, переданных в новый Symbol и символы, которые могут быть переданы в MirrorSystem.getName библиотекой, к которой относится эта метаданные.
Следующий текст не является нормативным:
Dart2js в настоящее время поддерживает следующие форматы для указания символов:
- Постоянный Список строк констант, представляющих имена символов, например,
const ['foo', 'bar']. - Одна строка константа, значение которой является списком имен символов, разделённых запятыми, например,
"foo, bar".
Указание поля symbols отключает следующие предупреждения, выводимые dart2js:
- Использование «MirrorSystem.getName» может привести к увеличению размера выходных данных.
- Использование «new Symbol» может привести к увеличению размера выходных данных.
Например, если вы используете noSuchMethod для взаимодействия с базой данных, извлеките все возможные имена столбцов и включите их в этот список. Аналогично, если вы используете noSuchMethod для взаимодействия с другим языком (например, JavaScript), извлеките все идентификаторы из используемого API и включите их в этот список.
Обратите внимание, что указание символа гарантирует, что символ будет доступен под этим именем во время выполнения. Это не отмечает цели с таким именем как доступные для рефлексии. Для этой цели см. цели и метацели.
Реализация
final symbols;
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-mirrors/MirrorsUsed/symbols.html