extractButtonStyleSize function
Extract button size from ButtonStyle (minimumSize or fixedSize)
Implementation
Dimensions? extractButtonStyleSize(Expression styleExpr) {
// Check for ButtonStyle constructor or method calls like .copyWith
if (styleExpr is MethodInvocation) {
// Handle ButtonStyle.copyWith() or similar patterns
for (final arg in styleExpr.argumentList.arguments) {
if (arg is NamedExpression) {
final paramName = arg.name.label.name;
if (paramName == 'minimumSize' || paramName == 'fixedSize') {
final dimensions = extractMaterialStatePropertySize(arg.expression);
return dimensions;
}
}
}
} else if (styleExpr is InstanceCreationExpression) {
// Handle ButtonStyle() constructor
for (final arg in styleExpr.argumentList.arguments) {
if (arg is NamedExpression) {
final paramName = arg.name.label.name;
if (paramName == 'minimumSize' || paramName == 'fixedSize') {
final dimensions = extractMaterialStatePropertySize(arg.expression);
return dimensions;
}
}
}
}
return null;
}