Skip to content

Commit 5c00c7e

Browse files
authored
Merge pull request swiftlang#39506 from al45tair/problem/82870372
[Remangler] Fix remangling in static bound generic function context
2 parents 08eb6ec + 1ac9159 commit 5c00c7e

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

lib/Demangling/Demangler.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1681,6 +1681,7 @@ bool Demangle::nodeConsumesGenericArgs(Node *node) {
16811681
case Node::Kind::Initializer:
16821682
case Node::Kind::PropertyWrapperBackingInitializer:
16831683
case Node::Kind::PropertyWrapperInitFromProjectedValue:
1684+
case Node::Kind::Static:
16841685
return false;
16851686
default:
16861687
return true;

lib/Demangling/Remangler.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,7 @@ ManglingError Remangler::mangleGenericArgs(Node *node, char &Separator,
568568
case Node::Kind::Initializer:
569569
case Node::Kind::PropertyWrapperBackingInitializer:
570570
case Node::Kind::PropertyWrapperInitFromProjectedValue:
571+
case Node::Kind::Static:
571572
if (!fullSubstitutionMap)
572573
break;
573574

@@ -3448,6 +3449,7 @@ bool Demangle::isSpecialized(Node *node) {
34483449
case Node::Kind::ModifyAccessor:
34493450
case Node::Kind::UnsafeAddressor:
34503451
case Node::Kind::UnsafeMutableAddressor:
3452+
case Node::Kind::Static:
34513453
assert(node->getNumChildren() > 0);
34523454
return node->getNumChildren() > 0 && isSpecialized(node->getChild(0));
34533455

@@ -3484,6 +3486,7 @@ ManglingErrorOr<NodePointer> Demangle::getUnspecialized(Node *node,
34843486
case Node::Kind::PropertyWrapperBackingInitializer:
34853487
case Node::Kind::PropertyWrapperInitFromProjectedValue:
34863488
case Node::Kind::DefaultArgumentInitializer:
3489+
case Node::Kind::Static:
34873490
NumToCopy = node->getNumChildren();
34883491
LLVM_FALLTHROUGH;
34893492
case Node::Kind::Structure:

test/Demangle/Inputs/manglings.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,3 +419,4 @@ $s1t10globalFuncyyAA7MyActorCYiF ---> t.globalFunc(isolated t.MyActor) -> ()
419419
$sSIxip6foobarP ---> foobar in Swift.DefaultIndices.subscript : A
420420
$s13__lldb_expr_110$10016c2d8yXZ1B10$10016c2e0LLC ---> __lldb_expr_1.(unknown context at $10016c2d8).(B in $10016c2e0)
421421
$s__TJO ---> $s__TJO
422+
$s6Foobar7Vector2VAASdRszlE10simdMatrix5scale6rotate9translateSo0C10_double3x3aACySdG_SdAJtFZ0D4TypeL_aySd__GD ---> MatrixType #1 in static (extension in Foobar):Foobar.Vector2<Swift.Double><A where A == Swift.Double>.simdMatrix(scale: Foobar.Vector2<Swift.Double>, rotate: Swift.Double, translate: Foobar.Vector2<Swift.Double>) -> __C.simd_double3x3

0 commit comments

Comments
 (0)