| 485 | } |
| 486 | |
| 487 | CVQualifiers |
| 488 | FunctionInvocation::get_qualifiers(void) const |
| 489 | { |
| 490 | CVQualifiers qfer; |
| 491 | if (invoke_type == eFuncCall) { |
| 492 | const FunctionInvocationUser* func_call = dynamic_cast<const FunctionInvocationUser*>(this); |
| 493 | assert(func_call->get_func()); |
| 494 | assert(func_call->get_func()->rv); |
| 495 | qfer = func_call->get_func()->rv->qfer; |
| 496 | } |
| 497 | // for binary and unary operations, they only yield integers right now (no pointer arithmatic |
| 498 | // supported yet!), we assume they return non-const non-volatile int |
| 499 | else { |
| 500 | qfer.add_qualifiers(false, false); |
| 501 | } |
| 502 | return qfer; |
| 503 | } |
| 504 | |
| 505 | bool |
| 506 | FunctionInvocation::visit_facts(vector<const Fact*>& inputs, CGContext& cg_context) const |
nothing calls this directly
no test coverage detected