Merge branch 'main' into es-pkg-acl

This commit is contained in:
Ellie Shin
2023-01-19 16:18:17 -08:00
committed by GitHub
1075 changed files with 41283 additions and 20412 deletions

View File

@@ -172,6 +172,9 @@ SDKNodeDeclVar::SDKNodeDeclVar(SDKNodeInitInfo Info):
SDKNodeDecl(Info, SDKNodeKind::DeclVar), IsLet(Info.IsLet),
HasStorage(Info.HasStorage) {}
SDKNodeDeclMacro::SDKNodeDeclMacro(SDKNodeInitInfo Info):
SDKNodeDecl(Info, SDKNodeKind::DeclMacro) {}
SDKNodeDeclAbstractFunc::SDKNodeDeclAbstractFunc(SDKNodeInitInfo Info,
SDKNodeKind Kind): SDKNodeDecl(Info, Kind), IsThrowing(Info.IsThrowing),
ReqNewWitnessTableEntry(Info.ReqNewWitnessTableEntry),
@@ -226,6 +229,10 @@ SDKNodeType *SDKNodeDeclVar::getType() const {
return cast<SDKNodeType>(childAt(0));
}
SDKNodeType *SDKNodeDeclMacro::getType() const {
return cast<SDKNodeType>(childAt(0));
}
NodePtr UpdatedNodesMap::findUpdateCounterpart(const SDKNode *Node) const {
assert(Node->isAnnotatedAs(NodeAnnotation::Updated) && "Not update operation.");
auto FoundPair = std::find_if(MapImpl.begin(), MapImpl.end(),
@@ -409,6 +416,7 @@ StringRef SDKNodeType::getTypeRoleDescription() const {
return SDKNodeDeclAbstractFunc::getTypeRoleDescription(Ctx,
P->getChildIndex(this));
case SDKNodeKind::DeclVar:
case SDKNodeKind::DeclMacro:
return "declared";
case SDKNodeKind::DeclTypeAlias:
return "underlying";
@@ -993,6 +1001,7 @@ static bool isSDKNodeEqual(SDKContext &Ctx, const SDKNode &L, const SDKNode &R)
return false;
LLVM_FALLTHROUGH;
}
case SDKNodeKind::DeclMacro:
case SDKNodeKind::Conformance:
case SDKNodeKind::TypeWitness:
case SDKNodeKind::DeclImport:
@@ -1834,6 +1843,13 @@ SwiftDeclCollector::constructTypeAliasNode(TypeAliasDecl *TAD) {
return Alias;
}
SDKNode *swift::ide::api::
SwiftDeclCollector::constructMacroNode(MacroDecl *MD) {
auto Macro = SDKNodeInitInfo(Ctx, MD).createSDKNode(SDKNodeKind::DeclMacro);
Macro->addChild(constructTypeNode(MD->getInterfaceType(), TypeInitInfo()));
return Macro;
}
SDKNode *swift::ide::api::
SwiftDeclCollector::constructAssociatedTypeNode(AssociatedTypeDecl *ATD) {
auto Asso = SDKNodeInitInfo(Ctx, ATD).
@@ -2029,6 +2045,8 @@ void SwiftDeclCollector::processValueDecl(ValueDecl *VD) {
RootNode->addChild(constructVarNode(VAD));
} else if (auto TAD = dyn_cast<TypeAliasDecl>(VD)) {
RootNode->addChild(constructTypeAliasNode(TAD));
} else if (auto MD = dyn_cast<MacroDecl>(VD)) {
RootNode->addChild(constructMacroNode(MD));
} else {
llvm_unreachable("unhandled value decl");
}