Commits

Chris Lattner committed bea19a3605e
Push the AST representation of properties in protocols forward, mostly to get the brokenness inherent in their current representation out of my way. The biggest part of this is that properties in protocols are now always represented as Computed VarDecls. If you write "var x : Int" in a protocol, you get an getter FuncDecl. If you write "var x : Int { get}" you get the same thing. If you write "var x : Int { get set }" then you get a getter and setter prototype associated with the vardecl. This then readjusts the various hacks that sort of pass through such things in SILGen and IRGen, so that we have the same level of hacky support for properties in protocols. From the functionality perspective, this enables the { get set } syntax described in rdar://15827219, and means that "var x : Int" is uniformly treated as read-only (it was treated as mutable in some cases before). Properties in protocols are still quite broken though. Swift SVN r12981