Skip to content

Commit 0045d6d

Browse files
Levi-LeschesHosseinYousefi
authored andcommitted
Fixed jni issues
1 parent 0172fc2 commit 0045d6d

File tree

7 files changed

+15
-10
lines changed

7 files changed

+15
-10
lines changed

pkgs/ffi/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ environment:
1313
sdk: '>=3.3.0 <4.0.0'
1414

1515
dev_dependencies:
16-
dart_flutter_team_lints: ^2.0.0
16+
dart_flutter_team_lints: ^3.2.0
1717
test: ^1.21.2

pkgs/ffigen/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ dependencies:
3838
dev_dependencies:
3939
async: ^2.11.0
4040
coverage: ^1.11.0
41-
dart_flutter_team_lints: ^2.0.0
41+
dart_flutter_team_lints: ^3.2.0
4242
json_schema: ^5.1.1
4343
leak_tracker: ^10.0.7
4444
objective_c: ^5.0.0

pkgs/jni/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ dependencies:
3030
dev_dependencies:
3131
dart_flutter_team_lints: ^3.2.0
3232
## Pin ffigen version because we are depending on internal APIs.
33-
ffigen: 8.0.2
33+
ffigen: ^16.0.0
3434
logging: ^1.2.0
3535
test: ^1.25.8
3636

pkgs/jni/tool/generate_ffi_bindings.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import 'dart:io';
99

1010
import 'package:args/args.dart';
1111
import 'package:ffigen/ffigen.dart' as ffigen;
12+
import 'package:ffigen/src/header_parser.dart' as ffigen;
1213
import 'package:logging/logging.dart';
1314

1415
import 'wrapper_generators/generate_c_extensions.dart';
@@ -51,15 +52,15 @@ void main(List<String> args) {
5152
});
5253

5354
logger.info('Generating C wrappers');
54-
final minimalConfig = ffigen.Config.fromFile(File('ffigen_exts.yaml'));
55+
final minimalConfig = ffigen.YamlConfig.fromFile(File('ffigen_exts.yaml'));
5556
final minimalLibrary = ffigen.parse(minimalConfig);
5657
generateCWrappers(minimalLibrary);
5758

5859
logger.info('Generating FFI bindings for package:jni');
5960

60-
final config = ffigen.Config.fromFile(File('ffigen.yaml'));
61+
final config = ffigen.YamlConfig.fromFile(File('ffigen.yaml'));
6162
final library = ffigen.parse(config);
62-
final outputFile = File(config.output);
63+
final outputFile = File(config.output.toFilePath());
6364
library.generateFile(outputFile);
6465

6566
logger.info('Generating Dart extensions');

pkgs/jni/tool/wrapper_generators/ffigen_util.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ final dummyWriter = Writer(
99
lookUpBindings: [],
1010
ffiNativeBindings: [],
1111
noLookUpBindings: [],
12+
nativeEntryPoints: [],
1213
className: 'unused',
14+
silenceEnumWarning: true,
15+
generateForPackageObjectiveC: false,
16+
nativeAssetId: null,
1317
);
1418

1519
/// Find compound having [name] in [library].

pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ String getWrapperFuncName(String name) {
9191
}
9292

9393
// Returns declaration of function field in GlobalJniEnv struct
94-
String getFunctionFieldDecl(Member field, {required bool isField}) {
94+
String getFunctionFieldDecl(CompoundMember field, {required bool isField}) {
9595
final fieldType = field.type;
9696
if (fieldType is PointerType && fieldType.child is NativeFunc) {
9797
final nativeFunc = fieldType.child as NativeFunc;
@@ -228,7 +228,7 @@ const _noCheckException = {
228228
'GetObjectRefType',
229229
};
230230

231-
String? getWrapperFunc(Member field) {
231+
String? getWrapperFunc(CompoundMember field) {
232232
final fieldType = field.type;
233233
if (fieldType is PointerType && fieldType.child is NativeFunc) {
234234
final functionType = (fieldType.child as NativeFunc).type;

pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ String getCheckedGetter(Type returnType) {
7878
}
7979

8080
String? getGlobalEnvExtensionFunction(
81-
Member field,
81+
CompoundMember field,
8282
Type? checkedReturnType, {
8383
required bool isLeaf,
8484
}) {
@@ -278,7 +278,7 @@ class GlobalJniEnv {
278278
}
279279

280280
String? getFunctionPointerExtensionFunction(
281-
Member field, {
281+
CompoundMember field, {
282282
bool indirect = false,
283283
bool implicitThis = false,
284284
required bool isLeaf,

0 commit comments

Comments
 (0)