| # RUN: mkdir -p %t |
| # RUN: %python %S/../../../../examples/python/formatter_bytecode.py --compile %s --format c --type-name RigidArray --output %t/c-output.txt --skip-invocation-comment |
| # RUN: %python %S/../../../../examples/python/formatter_bytecode.py --compile %s --format swift --type-name RigidArray --output %t/swift-output.txt --skip-invocation-comment |
| # 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) -> bool: |
| self.storage = self.valobj.GetChildMemberWithName( |
| "_storage" |
| ).GetSyntheticValue() |
| self.count = ( |
| self.valobj.GetChildMemberWithName("_count") |
| .GetSyntheticValue() |
| .GetValueAsUnsigned() |
| ) |
| return True |