visitVariableDeclaration method
Finds all the aliases for GetText functions.
Implementation
@override
visitVariableDeclaration(VariableDeclaration node) {
// Only when imported and for constants whose value is an identifier.
if (!_imported || !node.isConst || node.initializer is! Identifier) {
return super.visitVariableDeclaration(node);
}
String alias = node.name.lexeme; // The name of the alias.
String aliased; // The function it aliases.
// Has the identifier prefix?
if (node.initializer is PrefixedIdentifier) {
// Valid only if the library is also imported with a prefix.
if (_importPrefix == null) return;
final initializer = node.initializer as PrefixedIdentifier;
// Continue if the prefixes doesn't match.
if (initializer.prefix.name != _importPrefix) return;
aliased = initializer.identifier.name;
} else {
aliased = (node.initializer as SimpleIdentifier).name;
}
if (!functions.keys.contains(aliased)) return;
_aliases[alias] = aliased;
}