ROSE
0.9.6a
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
action.h
Go to the documentation of this file.
1
2
#ifndef BDWY_ACTION_H
3
#define BDWY_ACTION_H
4
5
typedef
list< actionAnn * >
action_list
;
6
typedef
action_list::iterator
action_list_p
;
7
typedef
action_list::const_iterator
action_list_cp
;
8
9
class
callsiteEntry;
10
11
typedef
map< callsiteEntry *, bool >
candidate_map
;
12
typedef
candidate_map::iterator
candidate_map_p
;
13
14
19
class
actionAnn
:
public
Ann
20
{
21
public
:
22
23
typedef
enum
{
Inline
,
Replace
}
ActionKind
;
24
25
private
:
26
33
ActionKind
_kind
;
34
39
exprAnn
*
_condition
;
40
47
stmtNode *
_replacement
;
48
61
candidate_map
_candidates
;
62
63
public
:
64
68
actionAnn
(
exprAnn
*
condition
,
int
line
);
69
75
actionAnn
(
exprAnn
*
condition
, stmtNode * replacement,
int
line
);
76
79
inline
exprAnn
*
condition
()
const
{
return
_condition
; }
80
87
virtual
void
lookup
(
procedureAnn
* procedure,
88
Annotations
* annotations);
89
95
void
test
(callsiteEntry * callsite,
96
procLocation * where,
97
propertyAnalyzer * property_analyzer);
98
103
bool
is_applicable
(callsiteEntry * callsite);
104
105
111
stmtNode *
generate_replacement
(callsiteEntry * callsite,
112
propertyAnalyzer * analyzer,
113
Linker &linker,
114
Annotations
* annotations);
115
};
116
117
#endif
/* BDWY_ACTION_H */
rose-edg4x
src
midend
programAnalysis
annotationLanguageParser
action.h
Generated on Mon May 5 2014 17:28:48 for ROSE by
1.8.4