getFunctionWithParameters method
FutureOr<ASTFunctionDeclaration?>
getFunctionWithParameters(
- String entryFunctionName,
- List? positionalParameters,
- Map? namedParameters, {
- ApolloExternalFunctionMapper? externalFunctionMapper,
- VMTypeResolver? typeResolver,
Implementation
FutureOr<ASTFunctionDeclaration?> getFunctionWithParameters(
String entryFunctionName,
List? positionalParameters,
Map? namedParameters,
{ApolloExternalFunctionMapper? externalFunctionMapper,
VMTypeResolver? typeResolver}) async {
var rootContext =
await _initializeEntryPointBlock(externalFunctionMapper, typeResolver);
ApolloExternalFunctionMapper? prevExternalFunctionMapper;
if (externalFunctionMapper != null) {
prevExternalFunctionMapper = rootContext.externalFunctionMapper;
rootContext.externalFunctionMapper = externalFunctionMapper;
}
var prevContext = VMContext.setCurrent(rootContext);
try {
var fSignature =
ASTFunctionSignature.from(positionalParameters, namedParameters);
try {
var f = getFunction(entryFunctionName, fSignature, rootContext);
return f;
} on Error {
return null;
}
} finally {
VMContext.setCurrent(prevContext);
if (identical(
rootContext.externalFunctionMapper, externalFunctionMapper)) {
rootContext.externalFunctionMapper = prevExternalFunctionMapper;
}
}
}