What I would otherwise forget
Valid July 2017 with swift:master
Quest: find out how this works.
Pull out available
and deprecated
from the ‘real’ attribute classes -
applies to current compiler flags used for platform.
Gets doc comment via ide::getDocumentationCommentAsXML()
which does the
parent lookup thing for undocumented members of classes and protocol extensions.
It does not handle protocol conformances – so cursorinfo
is better.
Collect generic params (<T> variables being declared in entity name) and generic requirements (“T: C” clauses).
Create the fully-annotated declaration using the same code as cursorinfo
,
remarkable.
Releated entities - inherits (a class), conforms (some protocols), extends (an extensible thing). For members, inherits means overrides a superclass member and conforms means implementing a protocol member.
Decode @available
but no other attributes. Swift language constraints end up
with missing Platform
field.
So then these fields are returned in the docinfo element:
And optionally:
And never for source files (vs. modules):