in lib/src/config_provider/spec_utils.dart [501:575]
Declaration declarationConfigExtractor(dynamic yamlMap) {
final renamePatterns = <RegExpRenamer>[];
final renameFull = <String, String>{};
final memberRenamePatterns = <RegExpMemberRenamer>[];
final memberRenamerFull = <String, Renamer>{};
final includer = _extractIncluderFromYaml(yamlMap);
Includer? symbolIncluder;
if (yamlMap[strings.symbolAddress] != null) {
symbolIncluder = _extractIncluderFromYaml(yamlMap[strings.symbolAddress]);
}
final rename = (yamlMap[strings.rename] as YamlMap?)?.cast<String, String>();
if (rename != null) {
for (final str in rename.keys) {
if (isFullDeclarationName(str)) {
renameFull[str] = rename[str]!;
} else {
renamePatterns
.add(RegExpRenamer(RegExp(str, dotAll: true), rename[str]!));
}
}
}
final memberRename =
(yamlMap[strings.memberRename] as YamlMap?)?.cast<String, YamlMap>();
if (memberRename != null) {
for (final decl in memberRename.keys) {
final renamePatterns = <RegExpRenamer>[];
final renameFull = <String, String>{};
final memberRenameMap = memberRename[decl]!.cast<String, String>();
for (final member in memberRenameMap.keys) {
if (isFullDeclarationName(member)) {
renameFull[member] = memberRenameMap[member]!;
} else {
renamePatterns.add(RegExpRenamer(
RegExp(member, dotAll: true), memberRenameMap[member]!));
}
}
if (isFullDeclarationName(decl)) {
memberRenamerFull[decl] = Renamer(
renameFull: renameFull,
renamePatterns: renamePatterns,
);
} else {
memberRenamePatterns.add(
RegExpMemberRenamer(
RegExp(decl, dotAll: true),
Renamer(
renameFull: renameFull,
renamePatterns: renamePatterns,
),
),
);
}
}
}
return Declaration(
includer: includer,
renamer: Renamer(
renameFull: renameFull,
renamePatterns: renamePatterns,
),
memberRenamer: MemberRenamer(
memberRenameFull: memberRenamerFull,
memberRenamePattern: memberRenamePatterns,
),
symbolAddressIncluder: symbolIncluder,
);
}