Merge: Cleanup auto_super_init
authorJean Privat <jean@pryen.org>
Wed, 9 Dec 2015 03:51:14 +0000 (22:51 -0500)
committerJean Privat <jean@pryen.org>
Wed, 9 Dec 2015 03:51:14 +0000 (22:51 -0500)
commit8176583b840874b742dd8172af5f9cd67edb8142
tree9f1640dc6a7a5a5b34ffdddaeeeff8c45f42f412
parentb02f32694ca53b5058cc511c42606c969203d87b
parentce10c3e6f0e9c3d72b6cf05ce9763529b3ea05c1
Merge: Cleanup auto_super_init

Constructors have a long history of attempted specifications, therefore a lot of complex cases and code was still present to avoid breaking thing.

Here, we simplify the code of `auto_super_init` that deal with injecting implicit call to various semantic of `super` in a constructor.

Now, there is only two remaining cases:

* the constructor is a redefinition, then a genuine call to `super` (polymorphic and linearized) injected
* the constructor is the introduction of a named constructor, then a call to the auto `init` is injected iff there is no conflict and no arguments.

Pull-Request: #1883
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/markdown/markdown.nit