tryExecuteClassFunction method
Tries to execute a class function with variations of positionalParameters.
Implementation
Future<ASTValue?> tryExecuteClassFunction(
String namespace,
String className,
String functionName, [
List? positionalParameters,
]) async {
positionalParameters ??= [];
if (await getClassMethod(
namespace,
className,
functionName,
positionalParameters,
) !=
null) {
return await executeClassMethod(
namespace,
className,
functionName,
positionalParameters: positionalParameters,
);
} else if (await getClassMethod(namespace, className, functionName, [
positionalParameters,
]) !=
null) {
return await executeClassMethod(
namespace,
className,
functionName,
positionalParameters: [positionalParameters],
);
} else if (await getClassMethod(namespace, className, functionName, [
ASTTypeArray.instanceOfString,
]) !=
null) {
return await executeClassMethod(
namespace,
className,
functionName,
positionalParameters: [positionalParameters.map((e) => '$e').toList()],
);
} else if (await getClassMethod(namespace, className, functionName, [
ASTTypeArray.instanceOfDynamic,
]) !=
null) {
return await executeClassMethod(
namespace,
className,
functionName,
positionalParameters: [positionalParameters],
);
}
return null;
}