| 103 | // TODO: Move this to a 'program' class |
| 104 | public: |
| 105 | struct FnDecl { |
| 106 | std::string name; |
| 107 | std::vector<std::pair<Type*, ParamAttrs>> inputs; |
| 108 | bool is_varargs = false; |
| 109 | Type *output; |
| 110 | FnAttrs attrs; |
| 111 | unsigned hash() const; |
| 112 | }; |
| 113 | private: |
| 114 | std::vector<FnDecl> fn_decls; |
| 115 |