7 #ifndef JLM_RVSDG_FUNCTION_TYPE_HPP
8 #define JLM_RVSDG_FUNCTION_TYPE_HPP
30 std::vector<std::shared_ptr<const
jlm::rvsdg::
Type>> argumentTypes,
31 std::vector<std::shared_ptr<const
jlm::rvsdg::
Type>> resultTypes);
33 [[nodiscard]] const std::vector<std::shared_ptr<const
jlm::rvsdg::
Type>> &
39 [[nodiscard]]
const std::vector<std::shared_ptr<const jlm::rvsdg::Type>> &
77 [[nodiscard]] std::size_t
81 Kind() const noexcept override;
85 std::vector<std::shared_ptr<const
jlm::rvsdg::
Type>> argumentTypes,
86 std::vector<std::shared_ptr<const
jlm::rvsdg::
Type>> resultTypes);
const std::vector< std::shared_ptr< const jlm::rvsdg::Type > > & Arguments() const noexcept
std::vector< std::shared_ptr< const jlm::rvsdg::Type > > ResultTypes_
static std::shared_ptr< const FunctionType > Create(std::vector< std::shared_ptr< const jlm::rvsdg::Type >> argumentTypes, std::vector< std::shared_ptr< const jlm::rvsdg::Type >> resultTypes)
size_t NumArguments() const noexcept
~FunctionType() noexcept override
std::string debug_string() const override
bool operator==(const jlm::rvsdg::Type &other) const noexcept override
const std::vector< std::shared_ptr< const jlm::rvsdg::Type > > & Results() const noexcept
size_t NumResults() const noexcept
const jlm::rvsdg::Type & ArgumentType(size_t index) const noexcept
TypeKind Kind() const noexcept override
Return the kind of this type.
std::vector< std::shared_ptr< const jlm::rvsdg::Type > > ArgumentTypes_
const jlm::rvsdg::Type & ResultType(size_t index) const noexcept
std::size_t ComputeHash() const noexcept override
TypeKind
The kinds of types supported in rvsdg.