Repository navigation
Expand file tree
/
Copy pathAbstractCompatibilityBridge_8h_source.html
More file actions
302 lines (300 loc) · 50.8 KB
/
Copy pathAbstractCompatibilityBridge_8h_source.html
File metadata and controls
302 lines (300 loc) · 50.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ROSE: AbstractCompatibilityBridge.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="roseDoxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ROSE<span id="projectnumber"> 2.22.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_9e62d0ec1b5e35066c963e582c20357f.html">Rose</a></li><li class="navelem"><a class="el" href="dir_7fe4652a7ea3a7685102213bec755e4d.html">Common</a></li><li class="navelem"><a class="el" href="dir_b7f739ee0d3fc99d0455f4b0f6eca91c.html">Analysis</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">AbstractCompatibilityBridge.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#ifndef ROSE_Common_Analysis_AbstractCompatibilityBridge_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#define ROSE_Common_Analysis_AbstractCompatibilityBridge_H 1</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include <Rose/Common/Analysis/AnalysisTypes.h></span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="keyword">namespace </span>Rose::Common::Analysis</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span>{</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">struct </span>ClassAnalysis;</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">using </span>LanguageSpecificFn = std::function<void(ClassAnalysis&)>;</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="foldopen" id="foldopen00020" data-start="{" data-end="};">
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html"> 20</a></span><span class="keyword">class </span><a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html">AbstractCompatibilityBridge</a></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span>{</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a2ffc884365652f67cde6f7043a472c91"> 25</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a2ffc884365652f67cde6f7043a472c91">AbstractCompatibilityBridge</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a4a805c4a91efd9d4c28633534971d221"> 29</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a4a805c4a91efd9d4c28633534971d221">~AbstractCompatibilityBridge</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a2ffc884365652f67cde6f7043a472c91">AbstractCompatibilityBridge</a>(<span class="keyword">const</span> <a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html">AbstractCompatibilityBridge</a>& other) = <span class="keyword">delete</span>;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a2ffc884365652f67cde6f7043a472c91">AbstractCompatibilityBridge</a>(<a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html">AbstractCompatibilityBridge</a>&& other) = <span class="keyword">delete</span>;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html">AbstractCompatibilityBridge</a>& operator=(<span class="keyword">const</span> <a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html">AbstractCompatibilityBridge</a>& other) = <span class="keyword">delete</span>;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html">AbstractCompatibilityBridge</a>& operator=(<a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html">AbstractCompatibilityBridge</a>&& other) = <span class="keyword">delete</span>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// not sure if clone will be needed..</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// virtual AbstractCompatibilityBridge& clone() const = delete;</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> std::string</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aca90a49ed6e8342597d825cf284ed678"> 61</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aca90a49ed6e8342597d825cf284ed678">nameOf</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> key) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> std::string</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a48a670687f11b788fdade5e488c449bf"> 69</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a48a670687f11b788fdade5e488c449bf">nameOf</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ClassKeyType</a> key) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a03bfe90a4508d9e593726077d480dc7b"> 77</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a03bfe90a4508d9e593726077d480dc7b">isAbstract</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ClassKeyType</a> key) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a745ce048ca99129b8fffe0ce434a4ad3"> 87</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a745ce048ca99129b8fffe0ce434a4ad3">isPureVirtual</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> key) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">int</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aa3517763d0f634b6aead54efe4fb1cf2"> 100</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aa3517763d0f634b6aead54efe4fb1cf2">compareNames</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> lhs, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> rhs) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aff78af295d3ab9b2591d849a24b7d045"> 117</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aff78af295d3ab9b2591d849a24b7d045">compareFunctionsByType</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> lhs, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> rhs, <span class="keywordtype">bool</span> exclReturnType = <span class="keyword">true</span>) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> FunctionTypeRelation</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a5f5469e6e925b1774c08c37a8246e91f"> 130</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a5f5469e6e925b1774c08c37a8246e91f">haveSameOrCovariantReturn</a>(<span class="keyword">const</span> <a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1ClassAnalysis.html">ClassAnalysis</a>& classes, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> basId, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> drvId) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a0ed11e5701f33ae3e941896ca28ac5d3"> 141</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a0ed11e5701f33ae3e941896ca28ac5d3">extractFromMemoryPool</a>(<a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1ClassAnalysis.html">ClassAnalysis</a>& classes) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a62de78bdbb729c8655e29a1d54a57ce3"> 153</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a62de78bdbb729c8655e29a1d54a57ce3">extractFromProject</a>(<a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1ClassAnalysis.html">ClassAnalysis</a>& classes, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ASTRootType</a> root) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> LanguageSpecificFn</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a8034da6a336627094fc7c175c1c924d9"> 164</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a8034da6a336627094fc7c175c1c924d9">languageSpecificProcessing</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a32dee444709207d2e776fd61aedc5050"> 173</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a32dee444709207d2e776fd61aedc5050">inheritanceEdges</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ClassKeyType</a> clkey, std::function<<span class="keywordtype">void</span>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ClassKeyType</a>, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ClassKeyType</a>, <span class="keywordtype">bool</span>)> fn) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1DataMemberType.html">DataMemberType</a></div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a4b0b76c4daa1320e92aa61a4f8ab88a9"> 181</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a4b0b76c4daa1320e92aa61a4f8ab88a9">typeOf</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">VariableKeyType</a> var) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00191" data-start="{" data-end="}">
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a042368c69b9f4911155bad2b1879ca38"> 191</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a042368c69b9f4911155bad2b1879ca38">isAutoGeneratable</a>(<span class="keyword">const</span> <a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1ClassAnalysis.html">ClassAnalysis</a>& classes, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ClassKeyType</a> clkey, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> fnkey)<span class="keyword"> const</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> (void)classes;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> (void)clkey;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> (void)fnkey;</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> }</div>
</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> std::uint32_t</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aa483676754c6bb7e7d77b00690344ec3"> 203</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aa483676754c6bb7e7d77b00690344ec3">languageStandard</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> </div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a21a318ae3f3e0f4a4835db5eb34c6fc2"> 220</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a21a318ae3f3e0f4a4835db5eb34c6fc2">inheritedMethodsImplementVirtualBaseMethods</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00233" data-start="{" data-end="}">
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#ac10452d27ce9565d7c31e9e46d9b024b"> 233</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#ac10452d27ce9565d7c31e9e46d9b024b">isInheritableImplementation</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> fnkey)<span class="keyword"> const</span></div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> (void)fnkey;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> }</div>
</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00254" data-start="{" data-end="}">
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a491f1aa8bfcb0f98dac18086a41c843e"> 254</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a491f1aa8bfcb0f98dac18086a41c843e">canOverride</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> drv, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> bas)<span class="keyword"> const</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> (void)drv;</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> (void)bas;</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> }</div>
</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00271" data-start="{" data-end="}">
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#ac25dbdf24ed81c24d44bc5ef787a3fcf"> 271</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#ac25dbdf24ed81c24d44bc5ef787a3fcf">isFinal</a>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> fnkey)<span class="keyword"> const</span></div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> (void)fnkey;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> }</div>
</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> </div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00292" data-start="{" data-end="}">
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#ad07ef16dd0f9ff54452a08fea10e4570"> 292</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#ad07ef16dd0f9ff54452a08fea10e4570">explicitOverrides</a>( <span class="keyword">const</span> <a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1ClassAnalysis.html">ClassAnalysis</a>& classes,</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ClassKeyType</a> cls,</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> std::function<<span class="keywordtype">void</span>(<a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a>, <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a>)> fn</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> )<span class="keyword"> const</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> (void)classes;</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> (void)cls;</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> (void)fn;</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> }</div>
</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> </div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <span class="keyword">virtual</span></div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00320" data-start="{" data-end="}">
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aa729a8bc2b560ec56ab56dff4a817adf"> 320</a></span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aa729a8bc2b560ec56ab56dff4a817adf">canOverrideInContext</a>( <span class="keyword">const</span> <a class="code hl_class" href="classRose_1_1Common_1_1Analysis_1_1ClassAnalysis.html">ClassAnalysis</a>& classes,</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ClassKeyType</a> drvClass,</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> drv,</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">ClassKeyType</a> basClass,</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <a class="code hl_struct" href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">FunctionKeyType</a> bas</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> )<span class="keyword"> const</span></div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> (void)classes;</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> (void)drvClass;</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> (void)basClass;</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a491f1aa8bfcb0f98dac18086a41c843e">canOverride</a>(drv, bas);</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> }</div>
</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> </div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="comment">// no state</span></div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span>};</div>
</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> </div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span>} <span class="comment">// namespace</span></div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span><span class="preprocessor">#endif </span><span class="comment">/*_ABSTRACT_COMPATIBILITY_BRIDGE_H*/</span><span class="preprocessor"></span></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html">Rose::Common::Analysis::AbstractCompatibilityBridge</a></div><div class="ttdoc">This is a stateless, abstract base class for implementing some functionality required by the class hi...</div><div class="ttdef"><b>Definition</b> <a href="AbstractCompatibilityBridge_8h_source.html#l00020">AbstractCompatibilityBridge.h:21</a></div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a03bfe90a4508d9e593726077d480dc7b"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a03bfe90a4508d9e593726077d480dc7b">Rose::Common::Analysis::AbstractCompatibilityBridge::isAbstract</a></div><div class="ttdeci">virtual bool isAbstract(ClassKeyType key) const =0</div><div class="ttdoc">returns true if the class represented by key is an abstract class.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a042368c69b9f4911155bad2b1879ca38"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a042368c69b9f4911155bad2b1879ca38">Rose::Common::Analysis::AbstractCompatibilityBridge::isAutoGeneratable</a></div><div class="ttdeci">virtual bool isAutoGeneratable(const ClassAnalysis &classes, ClassKeyType clkey, FunctionKeyType fnkey) const</div><div class="ttdoc">returns whether a function with fnkey's signature can be implicitly generated in clkey.</div><div class="ttdef"><b>Definition</b> <a href="AbstractCompatibilityBridge_8h_source.html#l00191">AbstractCompatibilityBridge.h:191</a></div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a0ed11e5701f33ae3e941896ca28ac5d3"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a0ed11e5701f33ae3e941896ca28ac5d3">Rose::Common::Analysis::AbstractCompatibilityBridge::extractFromMemoryPool</a></div><div class="ttdeci">virtual void extractFromMemoryPool(ClassAnalysis &classes) const =0</div><div class="ttdoc">extracts class information from the memory pool if available</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a21a318ae3f3e0f4a4835db5eb34c6fc2"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a21a318ae3f3e0f4a4835db5eb34c6fc2">Rose::Common::Analysis::AbstractCompatibilityBridge::inheritedMethodsImplementVirtualBaseMethods</a></div><div class="ttdeci">virtual bool inheritedMethodsImplementVirtualBaseMethods() const</div><div class="ttdoc">returns whether a method inherited along the non-virtual inheritance chain implements an otherwise un...</div><div class="ttdef"><b>Definition</b> <a href="AbstractCompatibilityBridge_8h_source.html#l00220">AbstractCompatibilityBridge.h:220</a></div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a2ffc884365652f67cde6f7043a472c91"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a2ffc884365652f67cde6f7043a472c91">Rose::Common::Analysis::AbstractCompatibilityBridge::AbstractCompatibilityBridge</a></div><div class="ttdeci">AbstractCompatibilityBridge()=default</div><div class="ttdoc">Constructs a stateless compatibility bridge.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a32dee444709207d2e776fd61aedc5050"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a32dee444709207d2e776fd61aedc5050">Rose::Common::Analysis::AbstractCompatibilityBridge::inheritanceEdges</a></div><div class="ttdeci">virtual void inheritanceEdges(ClassKeyType clkey, std::function< void(ClassKeyType, ClassKeyType, bool)> fn) const =0</div><div class="ttdoc">calls the callback function fn(derived, base, isvirtual) for all direct base classes of clkey</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a48a670687f11b788fdade5e488c449bf"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a48a670687f11b788fdade5e488c449bf">Rose::Common::Analysis::AbstractCompatibilityBridge::nameOf</a></div><div class="ttdeci">virtual std::string nameOf(ClassKeyType key) const =0</div><div class="ttdoc">returns the source name of the class represented by key.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a491f1aa8bfcb0f98dac18086a41c843e"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a491f1aa8bfcb0f98dac18086a41c843e">Rose::Common::Analysis::AbstractCompatibilityBridge::canOverride</a></div><div class="ttdeci">virtual bool canOverride(FunctionKeyType drv, FunctionKeyType bas) const</div><div class="ttdoc">returns whether drv may override bas under language rules beyond name and signature,...</div><div class="ttdef"><b>Definition</b> <a href="AbstractCompatibilityBridge_8h_source.html#l00254">AbstractCompatibilityBridge.h:254</a></div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a4a805c4a91efd9d4c28633534971d221"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a4a805c4a91efd9d4c28633534971d221">Rose::Common::Analysis::AbstractCompatibilityBridge::~AbstractCompatibilityBridge</a></div><div class="ttdeci">virtual ~AbstractCompatibilityBridge()=default</div><div class="ttdoc">Destroys a compatibility bridge through the base type.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a4b0b76c4daa1320e92aa61a4f8ab88a9"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a4b0b76c4daa1320e92aa61a4f8ab88a9">Rose::Common::Analysis::AbstractCompatibilityBridge::typeOf</a></div><div class="ttdeci">virtual DataMemberType typeOf(VariableKeyType var) const =0</div><div class="ttdoc">returns the type of a non-static data member var.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a5f5469e6e925b1774c08c37a8246e91f"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a5f5469e6e925b1774c08c37a8246e91f">Rose::Common::Analysis::AbstractCompatibilityBridge::haveSameOrCovariantReturn</a></div><div class="ttdeci">virtual FunctionTypeRelation haveSameOrCovariantReturn(const ClassAnalysis &classes, FunctionKeyType basId, FunctionKeyType drvId) const =0</div><div class="ttdoc">tests if drvId has the same or covariant return type with respect to basId</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a62de78bdbb729c8655e29a1d54a57ce3"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a62de78bdbb729c8655e29a1d54a57ce3">Rose::Common::Analysis::AbstractCompatibilityBridge::extractFromProject</a></div><div class="ttdeci">virtual void extractFromProject(ClassAnalysis &classes, ASTRootType root) const =0</div><div class="ttdoc">extracts class by walking the AST rooted at root.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a745ce048ca99129b8fffe0ce434a4ad3"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a745ce048ca99129b8fffe0ce434a4ad3">Rose::Common::Analysis::AbstractCompatibilityBridge::isPureVirtual</a></div><div class="ttdeci">virtual bool isPureVirtual(FunctionKeyType key) const =0</div><div class="ttdoc">returns true if the class represented by key is an abstract function.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_a8034da6a336627094fc7c175c1c924d9"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#a8034da6a336627094fc7c175c1c924d9">Rose::Common::Analysis::AbstractCompatibilityBridge::languageSpecificProcessing</a></div><div class="ttdeci">virtual LanguageSpecificFn languageSpecificProcessing() const =0</div><div class="ttdoc">returns a function that handles language specific post-processing for the extract classes.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_aa3517763d0f634b6aead54efe4fb1cf2"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aa3517763d0f634b6aead54efe4fb1cf2">Rose::Common::Analysis::AbstractCompatibilityBridge::compareNames</a></div><div class="ttdeci">virtual int compareNames(FunctionKeyType lhs, FunctionKeyType rhs) const =0</div><div class="ttdoc">compares the source name of the functions lhs and rhs.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_aa483676754c6bb7e7d77b00690344ec3"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aa483676754c6bb7e7d77b00690344ec3">Rose::Common::Analysis::AbstractCompatibilityBridge::languageStandard</a></div><div class="ttdeci">virtual std::uint32_t languageStandard() const</div><div class="ttdoc">returns the active language standard as a C++ __cplusplus-style value when available.</div><div class="ttdef"><b>Definition</b> <a href="AbstractCompatibilityBridge_8h_source.html#l00203">AbstractCompatibilityBridge.h:203</a></div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_aa729a8bc2b560ec56ab56dff4a817adf"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aa729a8bc2b560ec56ab56dff4a817adf">Rose::Common::Analysis::AbstractCompatibilityBridge::canOverrideInContext</a></div><div class="ttdeci">virtual bool canOverrideInContext(const ClassAnalysis &classes, ClassKeyType drvClass, FunctionKeyType drv, ClassKeyType basClass, FunctionKeyType bas) const</div><div class="ttdoc">returns whether drv, declared in drvClass, may override bas, declared in basClass,...</div><div class="ttdef"><b>Definition</b> <a href="AbstractCompatibilityBridge_8h_source.html#l00320">AbstractCompatibilityBridge.h:320</a></div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_ac10452d27ce9565d7c31e9e46d9b024b"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#ac10452d27ce9565d7c31e9e46d9b024b">Rose::Common::Analysis::AbstractCompatibilityBridge::isInheritableImplementation</a></div><div class="ttdeci">virtual bool isInheritableImplementation(FunctionKeyType fnkey) const</div><div class="ttdoc">returns whether the inherited function fnkey qualifies as an implementation of a virtual base functio...</div><div class="ttdef"><b>Definition</b> <a href="AbstractCompatibilityBridge_8h_source.html#l00233">AbstractCompatibilityBridge.h:233</a></div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_ac25dbdf24ed81c24d44bc5ef787a3fcf"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#ac25dbdf24ed81c24d44bc5ef787a3fcf">Rose::Common::Analysis::AbstractCompatibilityBridge::isFinal</a></div><div class="ttdeci">virtual bool isFinal(FunctionKeyType fnkey) const</div><div class="ttdoc">returns whether the virtual function fnkey cannot be overridden.</div><div class="ttdef"><b>Definition</b> <a href="AbstractCompatibilityBridge_8h_source.html#l00271">AbstractCompatibilityBridge.h:271</a></div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_aca90a49ed6e8342597d825cf284ed678"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aca90a49ed6e8342597d825cf284ed678">Rose::Common::Analysis::AbstractCompatibilityBridge::nameOf</a></div><div class="ttdeci">virtual std::string nameOf(FunctionKeyType key) const =0</div><div class="ttdoc">returns the source name of the function represented by key.</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_ad07ef16dd0f9ff54452a08fea10e4570"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#ad07ef16dd0f9ff54452a08fea10e4570">Rose::Common::Analysis::AbstractCompatibilityBridge::explicitOverrides</a></div><div class="ttdeci">virtual void explicitOverrides(const ClassAnalysis &classes, ClassKeyType cls, std::function< void(FunctionKeyType, FunctionKeyType)> fn) const</div><div class="ttdoc">reports override relations that are declared explicitly instead of being derived from names and signa...</div><div class="ttdef"><b>Definition</b> <a href="AbstractCompatibilityBridge_8h_source.html#l00292">AbstractCompatibilityBridge.h:292</a></div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge_html_aff78af295d3ab9b2591d849a24b7d045"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1AbstractCompatibilityBridge.html#aff78af295d3ab9b2591d849a24b7d045">Rose::Common::Analysis::AbstractCompatibilityBridge::compareFunctionsByType</a></div><div class="ttdeci">virtual int compareFunctionsByType(FunctionKeyType lhs, FunctionKeyType rhs, bool exclReturnType=true) const =0</div><div class="ttdoc">compares the canonical types of functions lhs and rhs</div></div>
<div class="ttc" id="aclassRose_1_1Common_1_1Analysis_1_1ClassAnalysis_html"><div class="ttname"><a href="classRose_1_1Common_1_1Analysis_1_1ClassAnalysis.html">Rose::Common::Analysis::ClassAnalysis</a></div><div class="ttdoc">holds data about all classes in a program</div><div class="ttdef"><b>Definition</b> <a href="ClassHierarchyAnalysis_8h_source.html#l00460">ClassHierarchyAnalysis.h:461</a></div></div>
<div class="ttc" id="astructRose_1_1Common_1_1Analysis_1_1DataMemberType_html"><div class="ttname"><a href="structRose_1_1Common_1_1Analysis_1_1DataMemberType.html">Rose::Common::Analysis::DataMemberType</a></div><div class="ttdoc">Describes the class-valued type and selected qualifiers of a data member.</div><div class="ttdef"><b>Definition</b> <a href="AnalysisTypes_8h_source.html#l00194">AnalysisTypes.h:195</a></div></div>
<div class="ttc" id="astructRose_1_1Common_1_1Analysis_1_1KeyType_html"><div class="ttname"><a href="structRose_1_1Common_1_1Analysis_1_1KeyType.html">Rose::Common::Analysis::KeyType</a></div><div class="ttdoc">Strongly typed wrapper around an abstract pointer-sized analysis key.</div><div class="ttdef"><b>Definition</b> <a href="AnalysisTypes_8h_source.html#l00037">AnalysisTypes.h:38</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Nov 9 2026 12:16:20 for ROSE by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>