sail::FunctionCall Class Reference
Represents a function call instruction of the form ret = f(s1, ... ,sn).
More...
#include <FunctionCall.h>
List of all members.
Detailed Description
Represents a function call instruction of the form ret = f(s1, ... ,sn).
The variable representing the return value can be NULL if either the function does not have a return value or if the return value is not captured.
Member Function Documentation
vector< Symbol * > * sail::FunctionCall::get_arguments |
( |
|
) |
|
- Returns:
- the arguments used in the function call.
string sail::FunctionCall::get_function_name |
( |
|
) |
|
- Returns:
- name of the function that is called
- Returns:
- namespace associated with the called function.
Variable * sail::FunctionCall::get_return_variable |
( |
|
) |
|
- Returns:
- the variable capturing the result of the function call.
il::type * sail::FunctionCall::get_signature |
( |
|
) |
|
- Returns:
- Signature of the function being called, this can return NULL!!!
void sail::FunctionCall::get_virtual_call_targets |
( |
set< call_id > & |
targets |
) |
|
- Returns:
- Returns the set of all call_id's that can be the target of this call based on the type hierarchy.
bool sail::FunctionCall::has_return |
( |
|
) |
|
- Returns:
- Does this function have a return value that is captured?
bool sail::FunctionCall::is_allocator |
( |
|
) |
const |
- Returns:
- Is this function a memory allocator?
bool sail::FunctionCall::is_constructor |
( |
|
) |
|
- Returns:
- Is this a call to a constructor?
bool sail::FunctionCall::is_deallocator |
( |
|
) |
const |
- Returns:
- Is this a call to a memory deallocator?
bool sail::FunctionCall::is_destructor |
( |
|
) |
|
- Returns:
- Is this a call to a destructor?
bool sail::FunctionCall::is_exit_function |
( |
|
) |
const |
- Returns:
- Does this function abort program execution? (e.g., a call to exit())
bool sail::FunctionCall::is_operator_new |
( |
|
) |
const |
- Returns:
- Is this a call to operator new?
bool sail::FunctionCall::is_removable |
( |
|
) |
[virtual] |
An instruction is removable if it's not present in the original source code, but introduced in the translation from the high-level language to the low-level language. For instance, if **x is an expression used in the original code, the low-level language will introduce a temporary t=*x; such instructions are "removable" for printing purposes.
Implements sail::Instruction.
bool sail::FunctionCall::is_virtual_call |
( |
|
) |
|
- Returns:
- Is this a virtual method call?
The documentation for this class was generated from the following files: