Skip to content

Commit d2edd93

Browse files
authored
[ffigen] Don't generate native code for stub protocols (#2721)
1 parent 8c5b47f commit d2edd93

File tree

3 files changed

+64
-55
lines changed

3 files changed

+64
-55
lines changed

pkgs/ffigen/example/objective_c/avf_audio_bindings.dart

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,36 @@ late final _sel_channelAssignments = objc.registerName("channelAssignments");
492492
late final _sel_setChannelAssignments_ = objc.registerName(
493493
"setChannelAssignments:",
494494
);
495+
496+
/// WARNING: CASpatialAudioExperience is a stub. To generate bindings for this class, include
497+
/// CASpatialAudioExperience in your config's objc-interfaces list.
498+
///
499+
/// CASpatialAudioExperience
500+
class CASpatialAudioExperience extends objc.ObjCObjectBase {
501+
CASpatialAudioExperience._(
502+
ffi.Pointer<objc.ObjCObject> pointer, {
503+
bool retain = false,
504+
bool release = false,
505+
}) : super(pointer, retain: retain, release: release);
506+
507+
/// Constructs a [CASpatialAudioExperience] that points to the same underlying object as [other].
508+
CASpatialAudioExperience.castFrom(objc.ObjCObjectBase other)
509+
: this._(other.ref.pointer, retain: true, release: true);
510+
511+
/// Constructs a [CASpatialAudioExperience] that wraps the given raw object pointer.
512+
CASpatialAudioExperience.castFromPointer(
513+
ffi.Pointer<objc.ObjCObject> other, {
514+
bool retain = false,
515+
bool release = false,
516+
}) : this._(other, retain: retain, release: release);
517+
}
518+
519+
late final _sel_intendedSpatialExperience = objc.registerName(
520+
"intendedSpatialExperience",
521+
);
522+
late final _sel_setIntendedSpatialExperience_ = objc.registerName(
523+
"setIntendedSpatialExperience:",
524+
);
495525
late final _sel_init = objc.registerName("init");
496526
late final _sel_new = objc.registerName("new");
497527
late final _sel_allocWithZone_ = objc.registerName("allocWithZone:");
@@ -813,6 +843,24 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
813843
: AVAudioPlayer.castFromPointer($ret, retain: false, release: true);
814844
}
815845

846+
/// intendedSpatialExperience
847+
CASpatialAudioExperience get intendedSpatialExperience {
848+
objc.checkOsVersionInternal(
849+
'AVAudioPlayer.intendedSpatialExperience',
850+
iOS: (true, null),
851+
macOS: (true, null),
852+
);
853+
final $ret = _objc_msgSend_151sglz(
854+
this.ref.pointer,
855+
_sel_intendedSpatialExperience,
856+
);
857+
return CASpatialAudioExperience.castFromPointer(
858+
$ret,
859+
retain: true,
860+
release: true,
861+
);
862+
}
863+
816864
/// isMeteringEnabled
817865
bool get isMeteringEnabled {
818866
objc.checkOsVersionInternal(
@@ -999,6 +1047,20 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
9991047
_objc_msgSend_1s56lr9(this.ref.pointer, _sel_setEnableRate_, value);
10001048
}
10011049

1050+
/// setIntendedSpatialExperience:
1051+
set intendedSpatialExperience(CASpatialAudioExperience value) {
1052+
objc.checkOsVersionInternal(
1053+
'AVAudioPlayer.setIntendedSpatialExperience:',
1054+
iOS: (true, null),
1055+
macOS: (true, null),
1056+
);
1057+
_objc_msgSend_xtuoz7(
1058+
this.ref.pointer,
1059+
_sel_setIntendedSpatialExperience_,
1060+
value.ref.pointer,
1061+
);
1062+
}
1063+
10021064
/// setMeteringEnabled:
10031065
set isMeteringEnabled(bool value) {
10041066
objc.checkOsVersionInternal(

pkgs/ffigen/example/objective_c/avf_audio_bindings.dart.m

Lines changed: 0 additions & 55 deletions
This file was deleted.

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,8 @@ ${generateInstanceMethodBindings(w, this)}
329329

330330
@override
331331
BindingString? toObjCBindingString(Writer w) {
332+
if (generateAsStub) return null;
333+
332334
final wrapName = context.objCBuiltInFunctions.wrapperName;
333335
final mainString =
334336
'''

0 commit comments

Comments
 (0)