17 TipFunction(std::vector<std::shared_ptr<TipType>> params,
18 std::shared_ptr<TipType> ret);
29 std::ostream &
print(std::ostream &out)
const override;
32 std::vector<std::shared_ptr<TipType>>
33 combine(std::vector<std::shared_ptr<TipType>> params,
34 std::shared_ptr<TipType> ret);
Abstract base class for all proper types.
Definition: TipCons.h:14
A proper type representing a function.
Definition: TipFunction.h:14
std::vector< std::shared_ptr< TipType > > getParamTypes() const
Definition: TipFunction.cpp:17
void accept(TipTypeVisitor *visitor) override
Definition: TipFunction.cpp:60
bool operator==(const TipType &other) const override
Definition: TipFunction.cpp:37
std::shared_ptr< TipType > getReturnType() const
Definition: TipFunction.cpp:23
std::ostream & print(std::ostream &out) const override
Definition: TipFunction.cpp:27
bool operator!=(const TipType &other) const override
Definition: TipFunction.cpp:56
Base class for TIP type visitors.
Definition: TipTypeVisitor.h:24
Abstract base class of all types.
Definition: TipType.h:19