| 829 | } |
| 830 | } |
| 831 | virtual ExpressionPtr visit ( ExprInvoke * expr ) override { |
| 832 | Visitor::visit(expr); |
| 833 | if ( expr->isInvokeMethod ) { |
| 834 | auto arg0 = expr->arguments[0]; |
| 835 | if ( arg0->rtti_isR2V() ) { |
| 836 | arg0 = static_cast<ExprRef2Value*>(arg0)->subexpr; |
| 837 | } |
| 838 | if ( arg0->rtti_isField() ) { |
| 839 | auto field = static_cast<ExprField*>(arg0); |
| 840 | if ( field->value->rtti_isTypeDecl() ) { |
| 841 | usedTypeExprs.erase(field->value); |
| 842 | } |
| 843 | } |
| 844 | } |
| 845 | return expr; |
| 846 | } |
| 847 | virtual ExpressionPtr visit ( ExprCall * expr ) override { |
| 848 | Visitor::visit(expr); |
| 849 | if ( expr->func ) { |
nothing calls this directly
no test coverage detected