Add the file/line info to the enum type
This commit is contained in:
parent
407627f4e6
commit
99cb22fce0
13
elab_expr.cc
13
elab_expr.cc
|
|
@ -1884,7 +1884,9 @@ static NetExpr* check_for_enum_methods(const LineInfo*li,
|
||||||
// value is "string" type.
|
// value is "string" type.
|
||||||
sys_expr = new NetESFunc("$ivl_enum_method$name",
|
sys_expr = new NetESFunc("$ivl_enum_method$name",
|
||||||
&netstring_t::type_string, 2);
|
&netstring_t::type_string, 2);
|
||||||
sys_expr->parm(0, new NetENetenum(netenum));
|
NetENetenum* def = new NetENetenum(netenum);
|
||||||
|
def->set_line(*li);
|
||||||
|
sys_expr->parm(0, def);
|
||||||
sys_expr->parm(1, expr);
|
sys_expr->parm(1, expr);
|
||||||
|
|
||||||
} else if (method_name == "next") {
|
} else if (method_name == "next") {
|
||||||
|
|
@ -1897,7 +1899,9 @@ static NetExpr* check_for_enum_methods(const LineInfo*li,
|
||||||
}
|
}
|
||||||
sys_expr = new NetESFunc("$ivl_enum_method$next", netenum,
|
sys_expr = new NetESFunc("$ivl_enum_method$next", netenum,
|
||||||
2 + (args != 0));
|
2 + (args != 0));
|
||||||
sys_expr->parm(0, new NetENetenum(netenum));
|
NetENetenum* def = new NetENetenum(netenum);
|
||||||
|
def->set_line(*li);
|
||||||
|
sys_expr->parm(0, def);
|
||||||
sys_expr->parm(1, expr);
|
sys_expr->parm(1, expr);
|
||||||
if (args != 0) sys_expr->parm(2, count);
|
if (args != 0) sys_expr->parm(2, count);
|
||||||
|
|
||||||
|
|
@ -1911,7 +1915,9 @@ static NetExpr* check_for_enum_methods(const LineInfo*li,
|
||||||
}
|
}
|
||||||
sys_expr = new NetESFunc("$ivl_enum_method$prev", netenum,
|
sys_expr = new NetESFunc("$ivl_enum_method$prev", netenum,
|
||||||
2 + (args != 0));
|
2 + (args != 0));
|
||||||
sys_expr->parm(0, new NetENetenum(netenum));
|
NetENetenum* def = new NetENetenum(netenum);
|
||||||
|
def->set_line(*li);
|
||||||
|
sys_expr->parm(0, def);
|
||||||
sys_expr->parm(1, expr);
|
sys_expr->parm(1, expr);
|
||||||
if (args != 0) sys_expr->parm(2, count);
|
if (args != 0) sys_expr->parm(2, count);
|
||||||
|
|
||||||
|
|
@ -2501,6 +2507,7 @@ NetExpr* PECallFunction::elaborate_expr(Design*des, NetScope*scope,
|
||||||
NetExpr* PECallFunction::elaborate_expr(Design*des, NetScope*scope,
|
NetExpr* PECallFunction::elaborate_expr(Design*des, NetScope*scope,
|
||||||
ivl_type_t type, unsigned flags) const
|
ivl_type_t type, unsigned flags) const
|
||||||
{
|
{
|
||||||
|
//cerr << "HERE: " << scope->basename() << ", " << *type << endl;
|
||||||
const netdarray_t*darray = dynamic_cast<const netdarray_t*>(type);
|
const netdarray_t*darray = dynamic_cast<const netdarray_t*>(type);
|
||||||
assert(darray);
|
assert(darray);
|
||||||
return elaborate_expr(des, scope, darray->element_type()->packed_width(), flags);
|
return elaborate_expr(des, scope, darray->element_type()->packed_width(), flags);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue