[SourceKit] Include AccessLevel attributes in structure (SR-5978) (#12086)

This commit is contained in:
Marcelo Fabri
2017-10-12 00:57:09 -03:00
committed by Xi Ge
parent da98178a9b
commit ba39c7b235
14 changed files with 1624 additions and 135 deletions

View File

@@ -625,10 +625,47 @@ Optional<UIdent> SwiftLangSupport::getUIDForDeclAttribute(const swift::DeclAttri
return Attr_Objc;
}
}
case DAK_AccessControl: {
static UIdent Attr_Private("source.decl.attribute.private");
static UIdent Attr_FilePrivate("source.decl.attribute.fileprivate");
static UIdent Attr_Internal("source.decl.attribute.internal");
static UIdent Attr_Public("source.decl.attribute.public");
static UIdent Attr_Open("source.decl.attribute.open");
switch (cast<AbstractAccessControlAttr>(Attr)->getAccess()) {
case AccessLevel::Private:
return Attr_Private;
case AccessLevel::FilePrivate:
return Attr_FilePrivate;
case AccessLevel::Internal:
return Attr_Internal;
case AccessLevel::Public:
return Attr_Public;
case AccessLevel::Open:
return Attr_Open;
}
}
case DAK_SetterAccess: {
static UIdent Attr_Private("source.decl.attribute.setter_access.private");
static UIdent Attr_FilePrivate("source.decl.attribute.setter_access.fileprivate");
static UIdent Attr_Internal("source.decl.attribute.setter_access.internal");
static UIdent Attr_Public("source.decl.attribute.setter_access.public");
static UIdent Attr_Open("source.decl.attribute.setter_access.open");
switch (cast<AbstractAccessControlAttr>(Attr)->getAccess()) {
case AccessLevel::Private:
return Attr_Private;
case AccessLevel::FilePrivate:
return Attr_FilePrivate;
case AccessLevel::Internal:
return Attr_Internal;
case AccessLevel::Public:
return Attr_Public;
case AccessLevel::Open:
return Attr_Open;
}
}
// We handle access control explicitly.
case DAK_AccessControl:
case DAK_SetterAccess:
// Ignore these.
case DAK_ShowInInterface:
case DAK_RawDocComment: