Helpers for constructing JNI signatures
- Dominant language
- Dart
- Stars
- 275
- Forks
- 144
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 47
Description
To construct strings such as `"I(I)"` we could add some helper code that could construct them from Dart function types.
```dart
String typeToJavaSignature() {
final splitOnArrow = T.toString().split(' => ');
final returnType = splitOnArrow[1];
final arguments = splitOnArrow[0];
final argumentsTrimmed = arguments.substring(1, arguments.length - 1);
final argumentTypes = argumentsTrimmed.split(', ');
final javaReturn = dartTypeToJavaSignatureType[returnType]!;
final javaArguments =
argumentTypes.map((e) => dartTypeToJavaSignatureType[e]!).join(',');
return '($javaArguments)$javaReturn';
}
```
```dart
final javaSignature = typeToJavaSignature();
```
The is probably not general enough, but maybe it would be a nice addition to the jni interface over having users having to construct the strings themselves.
Contributor guide
Assessment
This issue has not been assessed yet.