mirror of https://github.com/zachjs/sv2v.git
typedef conversion visits nested types in statements
This commit is contained in:
parent
90de4aa121
commit
e6e62e8813
|
|
@ -78,9 +78,12 @@ traverseDeclM decl = do
|
|||
CommentDecl{} -> return decl'
|
||||
|
||||
traverseStmtM :: Stmt -> Scoper Type Stmt
|
||||
traverseStmtM =
|
||||
traverseStmtExprsM $ traverseNestedExprsM $
|
||||
traverseExprTypesM traverseTypeM >=> traverseExprM
|
||||
traverseStmtM = traverseStmtExprsM $ traverseNestedExprsM traverseStmtExprM
|
||||
where
|
||||
traverseStmtExprM :: Expr -> Scoper Type Expr
|
||||
traverseStmtExprM =
|
||||
traverseExprTypesM (traverseNestedTypesM traverseTypeM) >=>
|
||||
traverseExprM
|
||||
|
||||
traverseTypeM :: Type -> Scoper Type Type
|
||||
traverseTypeM (Alias st rs1) = do
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
package PKG;
|
||||
typedef struct packed {
|
||||
logic f;
|
||||
} foo_t;
|
||||
endpackage
|
||||
|
||||
module top;
|
||||
typedef struct packed {
|
||||
PKG::foo_t f;
|
||||
} local_t;
|
||||
local_t w;
|
||||
initial begin
|
||||
w <= local_t'(1'sb1);
|
||||
$display("%b", w);
|
||||
end
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
module top;
|
||||
reg w;
|
||||
initial begin
|
||||
w <= 1'b1;
|
||||
$display("%b", w);
|
||||
end
|
||||
endmodule
|
||||
Loading…
Reference in New Issue