Skip to content

Commit 6252994

Browse files
committed
Change GetNumChildren()/CalculateNumChildren() methods return llvm::Expected (llvm#84219)
Change GetNumChildren()/CalculateNumChildren() methods return llvm::Expected This is an NFC change that does not yet add any error handling or change any code to return any errors. This is the second big change in the patch series started with llvm#83501 A follow-up PR will wire up error handling. (cherry picked from commit 624ea68)
1 parent b97c5d5 commit 6252994

File tree

73 files changed

+399
-248
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+399
-248
lines changed

lldb/include/lldb/Core/ValueObject.h

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,13 @@ class ValueObject {
485485

486486
virtual size_t GetIndexOfChildWithName(llvm::StringRef name);
487487

488-
uint32_t GetNumChildren(uint32_t max = UINT32_MAX);
488+
llvm::Expected<uint32_t> GetNumChildren(uint32_t max = UINT32_MAX);
489+
/// Like \c GetNumChildren but returns 0 on error. You probably
490+
/// shouldn't be using this function. It exists primarily to ease the
491+
/// transition to more pervasive error handling while not all APIs
492+
/// have been updated.
493+
uint32_t GetNumChildrenIgnoringErrors(uint32_t max = UINT32_MAX);
494+
bool HasChildren() { return GetNumChildrenIgnoringErrors() > 0; }
489495

490496
const Value &GetValue() const { return m_value; }
491497

@@ -972,7 +978,8 @@ class ValueObject {
972978
int32_t synthetic_index);
973979

974980
/// Should only be called by ValueObject::GetNumChildren().
975-
virtual uint32_t CalculateNumChildren(uint32_t max = UINT32_MAX) = 0;
981+
virtual llvm::Expected<uint32_t>
982+
CalculateNumChildren(uint32_t max = UINT32_MAX) = 0;
976983

977984
void SetNumChildren(uint32_t num_children);
978985

lldb/include/lldb/Core/ValueObjectCast.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class ValueObjectCast : public ValueObject {
3333

3434
std::optional<uint64_t> GetByteSize() override;
3535

36-
uint32_t CalculateNumChildren(uint32_t max) override;
36+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
3737

3838
lldb::ValueType GetValueType() const override;
3939

lldb/include/lldb/Core/ValueObjectChild.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class ValueObjectChild : public ValueObject {
3939

4040
lldb::ValueType GetValueType() const override;
4141

42-
uint32_t CalculateNumChildren(uint32_t max) override;
42+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
4343

4444
ConstString GetTypeName() override;
4545

lldb/include/lldb/Core/ValueObjectConstResult.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class ValueObjectConstResult : public ValueObject {
6767

6868
lldb::ValueType GetValueType() const override;
6969

70-
uint32_t CalculateNumChildren(uint32_t max) override;
70+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
7171

7272
ConstString GetTypeName() override;
7373

lldb/include/lldb/Core/ValueObjectDynamicValue.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class ValueObjectDynamicValue : public ValueObject {
4343

4444
ConstString GetDisplayTypeName() override;
4545

46-
uint32_t CalculateNumChildren(uint32_t max) override;
46+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
4747

4848
lldb::ValueType GetValueType() const override;
4949

lldb/include/lldb/Core/ValueObjectMemory.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class ValueObjectMemory : public ValueObject {
4747

4848
ConstString GetDisplayTypeName() override;
4949

50-
uint32_t CalculateNumChildren(uint32_t max) override;
50+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
5151

5252
lldb::ValueType GetValueType() const override;
5353

lldb/include/lldb/Core/ValueObjectRegister.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class ValueObjectRegisterSet : public ValueObject {
4747

4848
ConstString GetQualifiedTypeName() override;
4949

50-
uint32_t CalculateNumChildren(uint32_t max) override;
50+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
5151

5252
ValueObject *CreateChildAtIndex(size_t idx, bool synthetic_array_member,
5353
int32_t synthetic_index) override;
@@ -95,7 +95,7 @@ class ValueObjectRegister : public ValueObject {
9595

9696
ConstString GetTypeName() override;
9797

98-
uint32_t CalculateNumChildren(uint32_t max) override;
98+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
9999

100100
bool SetValueFromCString(const char *value_str, Status &error) override;
101101

lldb/include/lldb/Core/ValueObjectSyntheticFilter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class ValueObjectSynthetic : public ValueObject {
4747

4848
bool MightHaveChildren() override;
4949

50-
uint32_t CalculateNumChildren(uint32_t max) override;
50+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
5151

5252
lldb::ValueType GetValueType() const override;
5353

lldb/include/lldb/Core/ValueObjectVTable.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class ValueObjectVTable : public ValueObject {
6464

6565
std::optional<uint64_t> GetByteSize() override;
6666

67-
uint32_t CalculateNumChildren(uint32_t max) override;
67+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
6868

6969
ValueObject *CreateChildAtIndex(size_t idx, bool synthetic_array_member,
7070
int32_t synthetic_index) override;

lldb/include/lldb/Core/ValueObjectVariable.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class ValueObjectVariable : public ValueObject {
4646

4747
ConstString GetDisplayTypeName() override;
4848

49-
uint32_t CalculateNumChildren(uint32_t max) override;
49+
llvm::Expected<uint32_t> CalculateNumChildren(uint32_t max) override;
5050

5151
lldb::ValueType GetValueType() const override;
5252

0 commit comments

Comments
 (0)