[swift-dev] The proper way to get all visible protocols in a decl context

Haichuan Wang hc.opensource at gmail.com
Mon Feb 29 17:00:17 CST 2016


I'm using Swift to do some language feature research. One feature I'm
testing is automatic identifying implicit conformations if a nominal type
implicitly satisfies a protocol's requirement. Then I can use that type as
the protocol directly.

The way I'm doing is in the second AST visiting pass of the TypeChecker.
When visiting a nominal type node,
- Finding all visible protocols in this context
- For each protocol, add a synthesized conformance, and use the conformance
checker to check
- If fail, remove the synthesized conformance

Just wondering the proper way to get all visible protocols in a decl
context? Right now, I record all the protocols during the type checker's
first AST visit pass. Seems not good. Any suggestions to this and to the
above conformance checking?

Many thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160229/8cda2eea/attachment.html>

More information about the swift-dev mailing list