Commit Graph

3 Commits

Author SHA1 Message Date
Doug Gregor
a22911a0d0 Limit dynamic lookup to [objc] methods/properties/subscripts.
Also turn DynamicLookup into an [objc] protocol.


Swift SVN r7866
2013-09-03 21:29:59 +00:00
Jordan Rose
49d8b2c584 Add ClangImporter results to dynamic class member lookup.
Caveats / TODOs:
- Since we're using the global method pool, this isn't scoped by module.
  We could do a per-module filter, but I don't know if that will actually
  buy us much.
- Clang's method pool does not include methods from protocols.
- This requires importing every single method found into Swift's AST just
  to print them in the completion results.

Swift SVN r7329
2013-08-19 18:54:31 +00:00
Jordan Rose
2241086363 Add lookupClassMembers for use in id-style dynamic lookup.
With this, we can now get a list of all class members* available in the
current translation unit, which will be necessary for doing id-style
dynamic lookup (inferring which method you're referring to when the base
type is some magic "dynamic lookup" type).

* Including members of protocols, since a class we don't know about could
have implemented the protocol.

Since there is no code currently using this, I've added a new mode to
swift-ide-test to just dump all class members -- what will eventually
happen when you code complete on a dynamic lookup type. This mode will
go away once the other pieces of id-style lookup are in place.

Swift SVN r7287
2013-08-16 20:22:14 +00:00