Commit Graph

105 Commits

Author SHA1 Message Date
Joe Groff
e004ad7df4 SIL: Carry AST types through init_existential instructions.
This is necessary to be able to properly stash values with nontrivial lowerings, such as metatypes and functions, inside existential containers. Modify SILGen to lower values to the proper abstraction level before storing them in an existential container. Part of the fix for rdar://problem/18189508, though runtime problems still remain when trying to actually dynamicCast out a metatype from an Any container.

Swift SVN r21830
2014-09-10 05:56:36 +00:00
Nadav Rotem
accba56e0a Disable the code that adds the 'final' attribute based on access control.
This patch is a part of rdar://17890078



Swift SVN r21137
2014-08-11 21:54:56 +00:00
Michael Ilseman
41dec5b58c Invoke TryAddFinal after type checking.
Run whole-module checks at the end of perform Sema, specifically
TryAddFinal. After everything has been type checked, accessibility has
been provided, and we have had a chance to see any potential
overrides, we try to add the final attribute to class members.

This ends up de-virtualizing many functions, or rather they avoid the
vtable altogether. Thus, there are many test file changes. New test
file add_final.swift. Other tests updated to either reflect the
non-virtual call, or to have public added to them.

Swift SVN r20338
2014-07-22 21:31:58 +00:00
Ted Kremenek
fad874708e Adjust test cases.
Swift SVN r17964
2014-05-12 22:01:52 +00:00
Chris Lattner
fc42659613 Generalize witness table generation logic in silgen and irgen to handle properties.
We can now form witness tables for both properties and subscripts, but still can't
call them.  Also, only computed properties can fulfill a protocol requirement (which
is tracked by rdar://15912000).



Swift SVN r14137
2014-02-20 08:13:36 +00:00