vhdlpp: Added ExpFunc::func_ret_type() method.
This commit is contained in:
parent
839f9cd7ae
commit
777e7e0a3d
|
|
@ -20,6 +20,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# include "expression.h"
|
# include "expression.h"
|
||||||
|
# include "subprogram.h"
|
||||||
# include "parse_types.h"
|
# include "parse_types.h"
|
||||||
# include "scope.h"
|
# include "scope.h"
|
||||||
# include <iostream>
|
# include <iostream>
|
||||||
|
|
@ -283,6 +284,11 @@ ExpFunc::~ExpFunc()
|
||||||
delete argv_[idx];
|
delete argv_[idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const VType* ExpFunc::func_ret_type() const
|
||||||
|
{
|
||||||
|
return def_->peek_return_type();
|
||||||
|
}
|
||||||
|
|
||||||
ExpInteger::ExpInteger(int64_t val)
|
ExpInteger::ExpInteger(int64_t val)
|
||||||
: value_(val)
|
: value_(val)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -477,6 +477,7 @@ class ExpFunc : public Expression {
|
||||||
inline perm_string func_name() const { return name_; }
|
inline perm_string func_name() const { return name_; }
|
||||||
inline size_t func_args() const { return argv_.size(); }
|
inline size_t func_args() const { return argv_.size(); }
|
||||||
inline const Expression*func_arg(size_t idx) const { return argv_[idx]; }
|
inline const Expression*func_arg(size_t idx) const { return argv_[idx]; }
|
||||||
|
const VType*func_ret_type() const;
|
||||||
|
|
||||||
public: // Base methods
|
public: // Base methods
|
||||||
int elaborate_expr(Entity*ent, Architecture*arc, const VType*ltype);
|
int elaborate_expr(Entity*ent, Architecture*arc, const VType*ltype);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue