7#ifndef JLM_RVSDG_FUNCTION_TYPE_HPP
8#define JLM_RVSDG_FUNCTION_TYPE_HPP
39 [[
nodiscard]]
const std::vector<std::shared_ptr<const jlm::rvsdg::Type>> &
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)
const jlm::rvsdg::Type & ArgumentType(size_t index) const noexcept
const std::vector< std::shared_ptr< const jlm::rvsdg::Type > > & Results() const noexcept
size_t NumArguments() const noexcept
~FunctionType() noexcept override
std::string debug_string() const override
bool operator==(const jlm::rvsdg::Type &other) const noexcept override
size_t NumResults() const noexcept
TypeKind Kind() const noexcept override
Return the kind of this type.
const jlm::rvsdg::Type & ResultType(size_t index) const noexcept
const std::vector< std::shared_ptr< const jlm::rvsdg::Type > > & Arguments() const noexcept
std::vector< std::shared_ptr< const jlm::rvsdg::Type > > ArgumentTypes_
std::size_t ComputeHash() const noexcept override
TypeKind
The kinds of types supported in rvsdg.
NodeType * TryGetOwnerNode(const rvsdg::Input &input) noexcept
Checks if this is an input to a node of specified type.