Skip to content

Commit 13a4469

Browse files
committed
Make varName optional
1 parent 270ee56 commit 13a4469

12 files changed

+30
-39
lines changed

pkgs/ffigen/lib/src/code_generator/compound.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ abstract class Compound extends BindingType {
157157
String getCType(Writer w) => name;
158158

159159
@override
160-
String getNativeType(String varName) => '$originalName $varName';
160+
String getNativeType({String varName = ''}) => '$originalName $varName';
161161

162162
@override
163163
bool get sameFfiDartAndCType => true;

pkgs/ffigen/lib/src/code_generator/enum_class.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ class EnumClass extends BindingType {
256256
String getDartType(Writer w) => name;
257257

258258
@override
259-
String getNativeType(String varName) => '$originalName $varName';
259+
String getNativeType({String varName = ''}) => '$originalName $varName';
260260

261261
@override
262262
bool get sameFfiDartAndCType => nativeType.sameFfiDartAndCType;

pkgs/ffigen/lib/src/code_generator/func_type.dart

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ class FunctionType extends Type {
6969
_getTypeImpl(writeArgumentNames, (Type t) => t.getDartType(w));
7070

7171
@override
72-
String getNativeType(String varName) {
73-
final arg = dartTypeParameters.map<String>((p) => p.type.getNativeType(''));
74-
return '${returnType.getNativeType('')} (*$varName)(${arg.join(', ')})';
72+
String getNativeType({String varName = ''}) {
73+
final arg = dartTypeParameters.map<String>((p) => p.type.getNativeType());
74+
return '${returnType.getNativeType()} (*$varName)(${arg.join(', ')})';
7575
}
7676

7777
@override
@@ -148,7 +148,8 @@ class NativeFunc extends Type {
148148
String getFfiDartType(Writer w) => getCType(w);
149149

150150
@override
151-
String getNativeType(String varName) => _type.getNativeType(varName);
151+
String getNativeType({String varName = ''}) =>
152+
_type.getNativeType(varName: varName);
152153

153154
@override
154155
bool get sameFfiDartAndCType => true;

pkgs/ffigen/lib/src/code_generator/handle.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class HandleType extends Type {
2121
// The real native type is Dart_Handle, but that would mean importing
2222
// dart_api.h into the generated native code.
2323
@override
24-
String getNativeType(String varName) => 'void* $varName';
24+
String getNativeType({String varName = ''}) => 'void* $varName';
2525

2626
@override
2727
bool get sameFfiDartAndCType => false;

pkgs/ffigen/lib/src/code_generator/imports.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class ImportedType extends Type {
5656
String getFfiDartType(Writer w) => cType == dartType ? getCType(w) : dartType;
5757

5858
@override
59-
String getNativeType(String varName) => '$nativeType $varName';
59+
String getNativeType({String varName = ''}) => '$nativeType $varName';
6060

6161
@override
6262
bool get sameFfiDartAndCType => cType == dartType;

pkgs/ffigen/lib/src/code_generator/native_type.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class NativeType extends Type {
6161
String getFfiDartType(Writer w) => _dartType;
6262

6363
@override
64-
String getNativeType(String varName) => '$_nativeType $varName';
64+
String getNativeType({String varName = ''}) => '$_nativeType $varName';
6565

6666
@override
6767
bool get sameFfiDartAndCType => _cType == _dartType;

pkgs/ffigen/lib/src/code_generator/objc_block.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -213,15 +213,15 @@ pointer.ref.invoke.cast<$natTrampFnType>().asFunction<$trampFuncFfiDartType>()(
213213
for (int i = 0; i < argTypes.length; ++i) {
214214
final t = argTypes[i];
215215
final argName = 'arg$i';
216-
argsReceived.add(t.getNativeType(argName));
216+
argsReceived.add(t.getNativeType(varName: argName));
217217
retains.add(t.generateRetain(argName) ?? argName);
218218
}
219219
final fnName = _wrapListenerBlock!.originalName;
220220
final blockTypedef = w.objCLevelUniqueNamer.makeUnique('ListenerBlock');
221221

222222
final s = StringBuffer();
223223
s.write('''
224-
typedef ${getNativeType(blockTypedef)};
224+
typedef ${getNativeType(varName: blockTypedef)};
225225
$blockTypedef $fnName($blockTypedef block) {
226226
$blockTypedef wrapper = [^void(${argsReceived.join(', ')}) {
227227
block(${retains.join(', ')});
@@ -264,9 +264,9 @@ $blockTypedef $fnName($blockTypedef block) {
264264
String getDartType(Writer w) => name;
265265

266266
@override
267-
String getNativeType(String varName) {
268-
final args = argTypes.map<String>((t) => t.getNativeType(''));
269-
return '${returnType.getNativeType('')} (^$varName)(${args.join(', ')})';
267+
String getNativeType({String varName = ''}) {
268+
final args = argTypes.map<String>((t) => t.getNativeType());
269+
return '${returnType.getNativeType()} (^$varName)(${args.join(', ')})';
270270
}
271271

272272
@override

pkgs/ffigen/lib/src/code_generator/objc_interface.dart

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} {
357357
_isBuiltIn ? '${w.objcPkgPrefix}.$name' : name;
358358

359359
@override
360-
String getNativeType(String varName) => '$originalName* $varName';
360+
String getNativeType({String varName = ''}) => '$originalName* $varName';
361361

362362
@override
363363
bool get sameFfiDartAndCType => true;
@@ -400,17 +400,6 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} {
400400
@override
401401
String? generateRetain(String value) => '[$value retain]';
402402

403-
// Utils for converting between the internal types passed to native code, and
404-
// the external types visible to the user. For example, ObjCInterfaces are
405-
// passed to native as Pointer<ObjCObject>, but the user sees the Dart wrapper
406-
// class. These methods need to be kept in sync.
407-
bool _needsConverting(Type type) =>
408-
type is ObjCInstanceType ||
409-
type.typealiasType is ObjCInterface ||
410-
type.typealiasType is ObjCBlock ||
411-
type.typealiasType is ObjCObjectPointer ||
412-
type.typealiasType is ObjCNullable;
413-
414403
String _getConvertedType(Type type, Writer w, String enclosingClass) {
415404
if (type is ObjCInstanceType) return enclosingClass;
416405
final baseType = type.typealiasType;

pkgs/ffigen/lib/src/code_generator/objc_nullable.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ class ObjCNullable extends Type {
3939
String getDartType(Writer w) => '${child.getDartType(w)}?';
4040

4141
@override
42-
String getNativeType(String varName) =>
43-
'${child.getNativeType(varName)} _Nullable';
42+
String getNativeType({String varName = ''}) =>
43+
'${child.getNativeType(varName: varName)} _Nullable';
4444

4545
@override
4646
bool get sameFfiDartAndCType => child.sameFfiDartAndCType;

pkgs/ffigen/lib/src/code_generator/pointer.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ class PointerType extends Type {
3232
'${w.ffiLibraryPrefix}.Pointer<${child.getCType(w)}>';
3333

3434
@override
35-
String getNativeType(String varName) =>
36-
'${child.getNativeType('')}* $varName';
35+
String getNativeType({String varName = ''}) =>
36+
'${child.getNativeType()}* $varName';
3737

3838
// Both the C type and the FFI Dart type are 'Pointer<$cType>'.
3939
@override
@@ -61,8 +61,8 @@ class ConstantArray extends PointerType {
6161
bool get isIncompleteCompound => baseArrayType.isIncompleteCompound;
6262

6363
@override
64-
String getNativeType(String varName) =>
65-
'${child.getNativeType('')} $varName[$length]';
64+
String getNativeType({String varName = ''}) =>
65+
'${child.getNativeType()} $varName[$length]';
6666

6767
@override
6868
String toString() => '$child[$length]';
@@ -88,8 +88,8 @@ class IncompleteArray extends PointerType {
8888
Type get baseArrayType => child.baseArrayType;
8989

9090
@override
91-
String getNativeType(String varName) =>
92-
'${child.getNativeType('')} $varName[]';
91+
String getNativeType({String varName = ''}) =>
92+
'${child.getNativeType()} $varName[]';
9393

9494
@override
9595
String toString() => '$child[]';
@@ -109,7 +109,7 @@ class ObjCObjectPointer extends PointerType {
109109
String getDartType(Writer w) => '${w.objcPkgPrefix}.ObjCObjectBase';
110110

111111
@override
112-
String getNativeType(String varName) => 'id $varName';
112+
String getNativeType({String varName = ''}) => 'id $varName';
113113

114114
@override
115115
bool get sameDartAndCType => false;

pkgs/ffigen/lib/src/code_generator/type.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ abstract class Type {
5454
/// This method takes a [varName] arg because some C/ObjC types embed the
5555
/// variable name inside the type. Eg, to pass an ObjC block as a function
5656
/// argument, the syntax is `int (^arg)(int)`, where arg is the [varName].
57-
String getNativeType(String varName) =>
57+
String getNativeType({String varName = ''}) =>
5858
throw 'No native mapping for type: $this';
5959

6060
/// Returns whether the FFI dart type and C type string are same.
@@ -150,7 +150,7 @@ abstract class BindingType extends NoLookUpBinding implements Type {
150150
String getDartType(Writer w) => getFfiDartType(w);
151151

152152
@override
153-
String getNativeType(String varName) =>
153+
String getNativeType({String varName = ''}) =>
154154
throw 'No native mapping for type: $this';
155155

156156
@override

pkgs/ffigen/lib/src/code_generator/typealias.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,8 @@ class Typealias extends BindingType {
131131
String getCType(Writer w) => name;
132132

133133
@override
134-
String getNativeType(String varName) => type.getNativeType(varName);
134+
String getNativeType({String varName = ''}) =>
135+
type.getNativeType(varName: varName);
135136

136137
@override
137138
String getFfiDartType(Writer w) {
@@ -232,5 +233,5 @@ class ObjCInstanceType extends Typealias {
232233
ObjCInterface.generateConstructor(objCEnclosingClass!, value, objCRetain);
233234

234235
@override
235-
String getNativeType(String varName) => 'id $varName';
236+
String getNativeType({String varName = ''}) => 'id $varName';
236237
}

0 commit comments

Comments
 (0)