Commit Graph

3 Commits

Author SHA1 Message Date
Slava Pestov
e03e77d5a1 SILGen: Fix linkage for stored property initializers of private properties
Always give stored property initializers the linkage of the type
that contains them, even if the property is less visible than the
type.

This fixes the case where a type defines a private property, and an
extension in a different file from the same module defines a
constructor.

Fixes <rdar://problem/32743703>.
2017-06-28 02:13:35 -04:00
Slava Pestov
2fac86496f SILGen: Fix corner-case in emission of extension initializer
If the initializer is in a different file than the original
type, and the original type contains a stored property that
has both an initializer *and* a declared type, then the
initializer expression will not have been type checked.

So we must look at the type of pattern, which should still
be correct.

Fixes <https://bugs.swift.org/browse/SR-3942> and
<rdar://problem/25705157>.
2017-02-13 16:27:40 -08:00
Slava Pestov
f28f1158de SILGen: Fix emission of stored property initializers from different files
Fixes <https://bugs.swift.org/browse/SR-2982>.
2016-12-22 15:13:38 -05:00