Michael137 wrote:

> > We probably shouldnt be removing the test. Is there some way to test 
> > whatever we used to test without the API?
> 
> I see 2 options:
> 
> 1. Move the body of `CompilerType::GetIndexOfFieldWithName` into the test 
> directly. This way, we remove the API but keep the test.
> 2. Keep the API, use `llvm::Expected` and keep the test.
> 
> I feel like `1` would be `hiding` the API, and I would therefore prefer `2`.

I think the test can just do this:
```
      uint64_t bit_offset;
      std::string name;
      field_type = field_type.GetFieldAtIndex(
              field_type.GetIndexOfChildWithName(field_name, 
/*omit_empty_base_classes=*/false),
              name, &bit_offset, nullptr, nullptr);
      ASSERT_TRUE(field_type);
```
Instead of using `CompilerType::GetIndexOfFieldWithName` (though I haven't 
actually tried to compile/run this)

Don't have a strong opinion on whether to remove or extend the API. Personally 
I prefer removing it just because we already have so many similarly named APIs 
across CompilerType/TypeSystemClang that do things slightly differently, that 
it would be nice to get rid of at least one of them.

https://github.com/llvm/llvm-project/pull/135963
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to