mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Merge branch 'main' into es-pkg-acl
This commit is contained in:
@@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user