| 25 | } |
| 26 | |
| 27 | unique_ptr<iHdlExprItem> VerExprParser::visitRange_expression( |
| 28 | sv2017Parser::Range_expressionContext *ctx) { |
| 29 | // range_expression: |
| 30 | // expression ( COLON expression )? |
| 31 | // ; |
| 32 | auto exprs = ctx->expression(); |
| 33 | assert(exprs.size() >= 1); |
| 34 | auto l = visitExpression(exprs[0]); |
| 35 | if (exprs.size() == 2) { |
| 36 | auto h = visitExpression(exprs[1]); |
| 37 | return create_object<HdlOp>(ctx, move(l), HdlOpType::DOWNTO, move(h)); |
| 38 | } else { |
| 39 | assert(exprs.size() == 1); |
| 40 | return l; |
| 41 | } |
| 42 | } |
| 43 | |
| 44 | unique_ptr<iHdlExprItem> VerExprParser::visitNet_lvalue( |
| 45 | sv2017Parser::Net_lvalueContext *ctx) { |
no outgoing calls
no test coverage detected