visitConstructorElement method
This is an overrided method that help to visit each constructor to read its parameters
Implementation
@override
void visitConstructorElement(ConstructorElement element) {
className = element.type.returnType;
uri = element.source.uri.toString();
try {
meta =
element.metadata.first.computeConstantValue.call()?.type.toString();
} catch (e) {
;
}
metaData = element.metadata
.map((e) => MapEntry(e.computeConstantValue()?.toStringValue(),
e.computeConstantValue()?.type))
.toList();
element.parameters.forEach((param) {
var constructor = (constructors[element.displayName] ?? {});
constructors[element.displayName] = constructor;
constructors['${param.hashCode}'] = {
'declaration': {
'isNamed': param.isNamed,
'type': param.declaration.type.toString() + '\n',
'name': param.declaration.name + '\n',
'kind.name': param.declaration.kind.name + '\n',
'hasDefaultValue': '${param.declaration.hasDefaultValue}\n',
'isOptional': '${param.declaration.isOptional}\n',
'defaultValue': '${param.declaration.defaultValueCode}\n'
},
'hasParams':
param.typeParameters.map((e) => e.runtimeType).toList().toString() +
'\n',
'meta': param.metadata
.map((e) => e.element?.displayName)
.toList()
.toString() +
'\n'
};
});
}