File tree Expand file tree Collapse file tree 3 files changed +22
-3
lines changed Expand file tree Collapse file tree 3 files changed +22
-3
lines changed Original file line number Diff line number Diff line change @@ -28,7 +28,8 @@ extension TrieTreeProtocol where Content == ExportTrieNodeContent {
28
28
ordinal: content. ordinal,
29
29
importedName: content. importedName,
30
30
stub: content. stub,
31
- resolverOffset: content. resolver
31
+ resolverOffset: content. resolver,
32
+ functionVariantTableIndex: content. functionVariantTableIndex
32
33
)
33
34
}
34
35
}
@@ -48,7 +49,8 @@ extension TrieTreeProtocol where Content == ExportTrieNodeContent {
48
49
ordinal: content. ordinal,
49
50
importedName: content. importedName,
50
51
stub: content. stub,
51
- resolverOffset: content. resolver
52
+ resolverOffset: content. resolver,
53
+ functionVariantTableIndex: content. functionVariantTableIndex
52
54
)
53
55
}
54
56
@@ -67,7 +69,8 @@ extension TrieTreeProtocol where Content == ExportTrieNodeContent {
67
69
ordinal: content. ordinal,
68
70
importedName: content. importedName,
69
71
stub: content. stub,
70
- resolverOffset: content. resolver
72
+ resolverOffset: content. resolver,
73
+ functionVariantTableIndex: content. functionVariantTableIndex
71
74
)
72
75
}
73
76
}
Original file line number Diff line number Diff line change @@ -19,6 +19,8 @@ public struct ExportTrieNodeContent {
19
19
public var stub : UInt ?
20
20
public var resolver : UInt ?
21
21
22
+ public var functionVariantTableIndex : UInt ?
23
+
22
24
public var symbolOffset : UInt ?
23
25
}
24
26
@@ -67,6 +69,18 @@ extension ExportTrieNodeContent: TrieNodeContent {
67
69
68
70
content. stub = stub
69
71
content. resolver = resolver
72
+ } else if flags. contains ( . function_variant) {
73
+ let ( symbolOffset, ulebOffset) = basePointer
74
+ . advanced ( by: nextOffset)
75
+ . readULEB128 ( )
76
+ nextOffset += ulebOffset
77
+ let ( functionVariantTableIndex, ulebOffset2) = basePointer
78
+ . advanced ( by: nextOffset)
79
+ . readULEB128 ( )
80
+ nextOffset += ulebOffset2
81
+
82
+ content. symbolOffset = symbolOffset
83
+ content. functionVariantTableIndex = functionVariantTableIndex
70
84
} else {
71
85
let ( value, ulebOffset) = basePointer
72
86
. advanced ( by: nextOffset)
Original file line number Diff line number Diff line change @@ -21,6 +21,8 @@ public struct ExportedSymbol {
21
21
22
22
public var stub : UInt ?
23
23
public var resolverOffset : UInt ?
24
+
25
+ public var functionVariantTableIndex : UInt ?
24
26
}
25
27
26
28
extension ExportedSymbol {
You can’t perform that action at this time.
0 commit comments