From: Alexis Laferrière Date: Thu, 20 Aug 2015 20:01:28 +0000 (-0400) Subject: contrib/objcwrapper: refactor `init_with_alloc` as an attribute X-Git-Tag: v0.7.8~76^2~6 X-Git-Url: http://nitlanguage.org contrib/objcwrapper: refactor `init_with_alloc` as an attribute Signed-off-by: Alexis Laferrière --- diff --git a/contrib/objcwrapper/src/objc_generator.nit b/contrib/objcwrapper/src/objc_generator.nit index 89e8237..673e306 100644 --- a/contrib/objcwrapper/src/objc_generator.nit +++ b/contrib/objcwrapper/src/objc_generator.nit @@ -18,8 +18,22 @@ module objc_generator import objc_model class CodeGenerator + # Merge the calls to `alloc` and `init...` in a single constructor? + # + # If `true`, also the default behavior, initializing an extern Objective-C object looks like: + # ~~~nitish + # var o = new NSArray.init_with_array(some_other_array) + # ~~~ + # + # If `false`, the object must first be allocated and then initialized. + # This is closer to the Objective-C behavior: + # ~~~nitish + # var o = new NSArray + # o.init_with_array(some_other_array) + # ~~~ + var init_with_alloc = true is writable + fun generator(classes: Array[nullable ObjcClass]) do - var init_with_alloc = true for classe in classes do var file = new FileWriter.open(classe.name + ".nit") nit_class_generator(classe, file, init_with_alloc)