X-Git-Url: http://nitlanguage.org diff --git a/src/model/model.nit b/src/model/model.nit index 660de85..730dbd5 100644 --- a/src/model/model.nit +++ b/src/model/model.nit @@ -722,6 +722,9 @@ class MClassDef # All property definitions in the class (introductions and redefinitions) var mpropdefs = new Array[MPropDef] + + # The special autoinit constructor + var auto_init: nullable MMethodDef = null is writable end # A global static type @@ -2394,19 +2397,17 @@ class MMethodDef # The signature attached to the property definition var msignature: nullable MSignature = null is writable - # The signature attached to the `new` call on a root-init - # This is a concatenation of the signatures of the initializers - # - # REQUIRE `mproperty.is_root_init == (new_msignature != null)` - var new_msignature: nullable MSignature = null is writable - # List of initialisers to call in root-inits # # They could be setters or attributes - # - # REQUIRE `mproperty.is_root_init == (new_msignature != null)` var initializers = new Array[MProperty] + # Does the method take the responsibility to call `init`? + # + # If the method is used as an initializer, then + # using this information prevents to call `init` twice. + var is_calling_init = false is writable + # Is the method definition abstract? var is_abstract: Bool = false is writable