HomePhabricator

[analyzer][NFC] Consolidate the inner representation of CallDescriptions

Authored by steakhal on Fri, Nov 19, 9:32 AM.

Description

[analyzer][NFC] Consolidate the inner representation of CallDescriptions

CallDescriptions have a RequiredArgs and RequiredParams members,
but they are of different types, unsigned and size_t respectively.
In the patch I use only unsigned for both, that should be large enough
anyway.
I also introduce the MaybeUInt type alias for Optional<unsigned>.

Additionally, I also avoid the use of the smart less-than operator.

template <typename T>
constexpr bool operator<=(const Optional<T> &X, const T &Y);

Which would check if the optional has a value and compare the data
only after. I found it surprising, thus I think we are better off
without it.

Reviewed By: martong, xazax.hun

Differential Revision: https://reviews.llvm.org/D113594