Merge: Qualified Class Names
authorJean Privat <jean@pryen.org>
Tue, 3 May 2016 01:26:26 +0000 (21:26 -0400)
committerJean Privat <jean@pryen.org>
Tue, 3 May 2016 01:26:26 +0000 (21:26 -0400)
commit3fe5fcf063e51ef7528886e52cc63832760fc89c
tree59f0eae2cc0141e6b23b89b26915643ea34d6118
parent8587bae14b94da86809aeafcd42904d996089f89
parentf676821a2e49fc69d51b57331daf9cb4dbe9013f
Merge: Qualified Class Names

After #2034 and #2041 , some of you might had some theories about future episodes. While this is not GoT, I hope the you found that the following is a nice surprise: qualified class names are now understood by the tools.

The specification is the following:

On conflicting class-names, you can use the package_name to qualify the class. i.e. `package_name::ClassName`. This is enough for all public class, since it is the canonical name for them.
For conflicting private classes, the package_name should be enough in most cases. If there is still a conflict, you need to precise also the name of the module. i.e. `package_name::module_name::ClassName`.

Qualified properties is a more complex thing, and since the class is used as a namespace for them, there is statically less property name conflicts (except for classes commonly refined, like Sys maybe). So I plan to put qualified properly names in a boat heading to King’s Landing and let them row.

Pull-Request: #2047
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Romain Chanoir <romain.chanoir@viacesi.fr>