visitStringInterpolation method
void
visitStringInterpolation(
- StringInterpolation node
)
override
Implementation
@override
void visitStringInterpolation(StringInterpolation node) {
final parts = <String>[];
final variables = <String>[];
var placeholderIndex = 0;
var hasOnlyVariables = true;
for (final element in node.elements) {
if (element is InterpolationString) {
final text = element.value;
if (text.isNotEmpty) {
parts.add(text);
hasOnlyVariables = false;
}
} else if (element is InterpolationExpression) {
parts.add('{param$placeholderIndex}');
variables.add(element.expression.toString());
placeholderIndex++;
}
}
final content = parts.join();
if (!hasOnlyVariables && content.isNotEmpty) {
_addLiteral(node, true, content, variables);
}
}