File tree 3 files changed +12
-1
lines changed
3 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -84,6 +84,7 @@ object Main {
84
84
var objcppFunctionPrologueFile : Option [String ] = None
85
85
var objcppDisableExceptionTranslation : Boolean = false
86
86
var objcFileIdentStyleOptional : Option [IdentConverter ] = None
87
+ var objcStrictProtocol : Boolean = true
87
88
var objcppNamespace : String = " djinni_generated"
88
89
var objcBaseLibIncludePrefix : String = " "
89
90
var wasmOutFolder : Option [File ] = None
@@ -202,6 +203,9 @@ object Main {
202
203
.text(" Disable generating Objective-C class init helper method." )
203
204
opt[Boolean ](" objc-closed-enums" ).valueName(" <true/false>" ).foreach(x => objcClosedEnums = x)
204
205
.text(" All generated Objective-C enums will be NS_CLOSED_ENUM (default: false). " )
206
+ opt[Boolean ](" objc-strict-protocols" )
207
+ .valueName(" <true/false>" ).foreach(x => objcStrictProtocol = x)
208
+ .text(" All generated @protocol will implement <NSObject> (default: true). " )
205
209
note(" " )
206
210
opt[File ](" objcpp-out" ).valueName(" <out-folder>" ).foreach(x => objcppOutFolder = Some (x))
207
211
.text(" The output folder for private Objective-C++ files (Generator disabled if unspecified)." )
@@ -416,6 +420,7 @@ object Main {
416
420
objcGenProtocol,
417
421
objcDisableClassCtor,
418
422
objcClosedEnums,
423
+ objcStrictProtocol,
419
424
wasmOutFolder,
420
425
wasmIncludePrefix,
421
426
wasmIncludeCppPrefix,
Original file line number Diff line number Diff line change @@ -135,7 +135,12 @@ class ObjcGenerator(spec: Spec) extends BaseObjcGenerator(spec) {
135
135
136
136
w.wl
137
137
writeDoc(w, doc)
138
- if (useProtocol(i.ext, spec)) w.wl(s " @protocol $self <NSObject> " ) else w.wl(s " @interface $self : NSObject " )
138
+ if (useProtocol(i.ext, spec)) {
139
+ val baseProtocol = if (spec.objcStrictProtocol) " <NSObject>" else " "
140
+ w.wl(s " @protocol $self$baseProtocol" )
141
+ } else {
142
+ w.wl(s " @interface $self : NSObject " )
143
+ }
139
144
140
145
for (m <- i.methods) {
141
146
if (! m.static || (! spec.objcGenProtocol && m.lang.objc)) {
Original file line number Diff line number Diff line change @@ -88,6 +88,7 @@ package object generatorTools {
88
88
objcGenProtocol : Boolean ,
89
89
objcDisableClassCtor : Boolean ,
90
90
objcClosedEnums : Boolean ,
91
+ objcStrictProtocol : Boolean ,
91
92
wasmOutFolder : Option [File ],
92
93
wasmIncludePrefix : String ,
93
94
wasmIncludeCppPrefix : String ,
You can’t perform that action at this time.
0 commit comments