Dave Lee 6903a58870
[lldb][bytecode] Add swift output to Python->bytecode compiler (#185773)
For swift projects using the compiler, having a swift output option will
make it easier to integrate bytecode formatters into the build.
2026-03-11 15:36:52 -07:00

32 lines
1.2 KiB
Plaintext

# RUN: mkdir -p %t
# RUN: %python %S/../../../../examples/python/formatter_bytecode.py --compile %s --format c --type-name RigidArray --output %t/c-output.txt
# RUN: %python %S/../../../../examples/python/formatter_bytecode.py --compile %s --format swift --type-name RigidArray --output %t/swift-output.txt
# RUN: diff -u --strip-trailing-cr %S/Inputs/FormatterBytecode/RigidArrayLLDBFormatterC.txt %t/c-output.txt
# RUN: diff -u --strip-trailing-cr %S/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt %t/swift-output.txt
import lldb
class RigidArraySynthetic:
valobj: lldb.SBValue
storage: lldb.SBValue
count: int
def __init__(self, valobj: lldb.SBValue, _) -> None:
self.valobj = valobj
def num_children(self) -> int:
return self.count
def get_child_at_index(self, idx: int) -> lldb.SBValue:
return self.storage.GetChildAtIndex(idx)
def update(self) -> None:
self.storage = self.valobj.GetChildMemberWithName(
"_storage"
).GetSyntheticValue()
self.count = (
self.valobj.GetChildMemberWithName("_count")
.GetSyntheticValue()
.GetValueAsUnsigned()
)