diff --git a/pkgs/ffigen/lib/src/code_generator/func_type.dart b/pkgs/ffigen/lib/src/code_generator/func_type.dart index 8d24c6131..970e0ff3a 100644 --- a/pkgs/ffigen/lib/src/code_generator/func_type.dart +++ b/pkgs/ffigen/lib/src/code_generator/func_type.dart @@ -140,9 +140,12 @@ class NativeFunc extends Type { } @override - String getCType(Writer w, {bool writeArgumentNames = true}) => - '${w.ffiLibraryPrefix}.NativeFunction<' - '${type.getCType(w, writeArgumentNames: writeArgumentNames)}>'; + String getCType(Writer w, {bool writeArgumentNames = true}) { + final funcType = _type is FunctionType + ? _type.getCType(w, writeArgumentNames: writeArgumentNames) + : _type.getCType(w); + return '${w.ffiLibraryPrefix}.NativeFunction<$funcType>'; + } @override String getFfiDartType(Writer w, {bool writeArgumentNames = true}) =>