visitInstanceCreationExpression method
dynamic
visitInstanceCreationExpression(
- InstanceCreationExpression node
)
override
Implementation
@override
visitInstanceCreationExpression(InstanceCreationExpression node) {
if (node.constructorName.type.element?.name == 'Meta') {
// find generic widget type.
final typeArguments = node.constructorName.type.typeArguments?.arguments;
if (typeArguments?.firstOrNull case NamedType type) {
componentGeneric = type.element as ClassElement?;
}
// find argument widget type.
final componentArgumentExpression = node.argumentList.arguments
.whereType<NamedExpression>()
.firstWhereOrNull(
(element) => element.name.label.name == 'component',
)
?.expression;
final componentArgument =
(componentArgumentExpression as SimpleIdentifier?) //
?.element;
if (componentArgument case ClassElement component) {
this.componentArgument = component;
}
}
return super.visitInstanceCreationExpression(node);
}