An expression describing a method on a class.
More...
#include <std_expr.h>
+ Inheritance diagram for class_method_descriptor_exprt:
+ Collaboration diagram for class_method_descriptor_exprt:
The method name after mangling it by combining it with the descriptor.
Unique identifier in the symbol table, of the compile time type of the class which this expression is applied to.
The name of the method to which this expression is applied as would be seen in the source code.
A unique identifier of the combination of class and method overload to which this expression refers.
remove all operand methods
- Public Member Functions inherited from
exprt
Return the type of the expression.
Return true if there is at least one operand.
Add the source location from location, if it is non-nil.
Add the source location from location, if it is non-nil.
Add the source location from other, if it has any.
Add the source location from other, if it has any.
Copy the given argument to the end of exprt's operands.
Add the given argument to the end of exprt's operands.
Add the given argument to the end of exprt's operands.
Add the given arguments to the end of exprt's operands.
Add the given arguments to the end of exprt's operands.
Return whether the expression is a constant.
Return whether the expression is a constant representing true.
Return whether the expression is a constant representing false.
Return whether the expression is a constant representing 0.
Return whether the expression is a constant representing 1.
Return whether the expression represents a Boolean.
Get a
source_locationt from the expression or from its operands (non-recursively).
These are pre-order traversal visitors, i.e., the visitor is executed on a node before its children have been visited.
These are post-order traversal visitors, i.e., the visitor is executed on a node after its children have been visited.
- Public Member Functions inherited from
irept
defines ordering on the internal representation
defines ordering on the internal representation
defines ordering on the internal representation comments are ignored
Additional Inherited Members
- Public Types inherited from
exprt
- Public Types inherited from
irept
Used to refer to this class from derived classes.
- Static Public Member Functions inherited from
exprt
Check that the expression is well-formed (shallow checks only, i.e., subexpressions and its type are not checked).
Check that the expression is well-formed, assuming that its subexpressions and type have all ready been checked for well-formedness.
Check that the expression is well-formed (full check, including checks of all subexpressions and the type)
- Static Public Member Functions inherited from
irept
count the number of named_sub elements that are not comments
- Protected Member Functions inherited from
exprt
Does the same as remove_ref, but using an explicit stack instead of recursion.
Detailed Description
An expression describing a method on a class.
Definition at line 3547 of file std_expr.h.
Constructor & Destructor Documentation
◆ class_method_descriptor_exprt()
class_method_descriptor_exprt::class_method_descriptor_exprt
(
typet
_type,
)
inlineexplicit
- Parameters
-
_type The type of the method which this expression refers to.
class_id Unique identifier in the symbol table, of the compile time type of the class which this expression is applied to. For example this could be - java::java.lang.Object.
base_method_name The name of the method to which this expression is applied as would be seen in the source code. For example this could be - toString.
mangled_method_name The method name after mangling it by combining it with the descriptor. The mangled name is distinguished from other overloads of the method with different counts of or types of parameters. It is not distinguished between different implementations within a class hierarchy. For example if the overall expression refers to the java.lang.Object.toString method, then the mangled_method_name would be toString:()Ljava/lang/String;
Definition at line 3564 of file std_expr.h.
Member Function Documentation
◆ base_method_name()
const irep_idt & class_method_descriptor_exprt::base_method_name
(
)
const
inline
The name of the method to which this expression is applied as would be seen in the source code.
For example this could be - toString.
Definition at line 3600 of file std_expr.h.
◆ class_id()
const irep_idt & class_method_descriptor_exprt::class_id
(
)
const
inline
Unique identifier in the symbol table, of the compile time type of the class which this expression is applied to.
For example this could be - java::java.lang.Object.
Definition at line 3593 of file std_expr.h.
◆ get_identifier()
const irep_idt & class_method_descriptor_exprt::get_identifier
(
)
const
inline
A unique identifier of the combination of class and method overload to which this expression refers.
For example this could be - java::java.lang.Object.toString:()Ljava/lang/String;.
Definition at line 3608 of file std_expr.h.
◆ mangled_method_name()
const irep_idt & class_method_descriptor_exprt::mangled_method_name
(
)
const
inline
The method name after mangling it by combining it with the descriptor.
The mangled name is distinguished from other overloads of the method with different counts of or types of parameters. It is not distinguished between different implementations within a class hierarchy. For example if the overall expression refers to the java.lang.Object.toString method, then the mangled_method_name would be toString:()Ljava/lang/String;
Definition at line 3585 of file std_expr.h.
The documentation for this class was generated from the following file: