visitFieldElement method
void
visitFieldElement(
- FieldElement element
)
override
Implementation
@override
void visitFieldElement(FieldElement element) {
final value = element.type.toString().replaceFirst('*', '');
if (value.contains('Function')) {
List<String> splitter = value.split('Function');
String returnType = splitter[0];
String argsString = splitter[1];
if (argsString.substring(argsString.length - 2) == ')?')
argsString = argsString
.substring(0, argsString.length - 2)
.replaceAll('(', '')
.replaceAll(')', '');
List<String> argsList = [];
if (argsString.isNotEmpty) {
int index = 0;
argsList = argsString.split(',');
final iter = argsList.map(
(e) {
String res = '${e} p${index}';
index++;
if (argsList.length == index) {
res += ',';
}
return res;
},
);
argsString = FespGenHelper.join(iter: iter, char: ',');
}
fields.add(
VisitorElement(
name: element.name,
type: value,
returnType: returnType,
argsList: argsList,
argsString: argsString,
isFunction: true,
annotations: _getAnnotations(element),
),
);
} else {
fields.add(
VisitorElement(
name: element.name,
type: value,
annotations: _getAnnotations(element),
),
);
}
}