getMoveFunction method

  1. @override
Future<MoveFunction> getMoveFunction(
  1. String packageId,
  2. String moduleName,
  3. String functionName
)
override

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 [],
  );
}