getMoveFunction method
Implementation
@override
Future<MoveFunction> getMoveFunction(
String packageId,
String moduleName,
String functionName,
) async {
final data = await _client.executeData(
_getMoveFunctionOperation,
generated.Variables$Query$GetMoveFunction(
package: packageId,
module: moduleName,
function: functionName,
),
);
final fn = data.package?.module?.function;
if (fn == null) {
throw Exception(
'Move function not found: $packageId::$moduleName::$functionName',
);
}
return MoveFunction(
name: fn.name,
visibility: _mapVisibility(fn.visibility),
isEntry: fn.isEntry ?? false,
typeParameters:
fn.typeParameters
?.map(
(tp) => TypeParameter(
abilities: tp.constraints.map(_mapAbility).toList(),
),
)
.toList() ??
const [],
parameters: const [],
returnTypes: const [],
);
}