[www-releases] r225843 - Add documentation for 3.5.1
Tom Stellard
thomas.stellard at amd.com
Tue Jan 13 14:55:45 PST 2015
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Consumed_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Consumed_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Consumed_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Consumed_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,343 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: Consumed.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_08cb8dd42fdabd3361bfbdc9f41acf33.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_b4fe6fb44b150d8be57689f1bc720b21.html">Analyses</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Consumed.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Consumed_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- Consumed.h ----------------------------------------------*- C++ --*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// A intra-procedural analysis for checking consumed properties. This is based,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// in part, on research on linear types.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef LLVM_CLANG_CONSUMED_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_CONSUMED_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="DeclCXX_8h.html" title="Defines the C++ Decl subclasses, other than those for templates (found in DeclTemplate.h) and friends (in DeclFriend.h).">clang/AST/DeclCXX.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="ExprCXX_8h.html" title="Defines the clang::Expr interface and subclasses for C++ expressions.">clang/AST/ExprCXX.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="StmtCXX_8h.html">clang/AST/StmtCXX.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="AnalysisContext_8h.html">clang/Analysis/AnalysisContext.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="PostOrderCFGView_8h.html">clang/Analysis/Analyses/PostOrderCFGView.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="SourceLocation_8h.html" title="Defines the clang::SourceLocation class and associated facilities.">clang/Basic/SourceLocation.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="namespaceclang_1_1consumed.html"> 26</a></span> <span class="keyword">namespace </span>consumed {</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77"> 28</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77">ConsumedState</a> {</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// No state information for the given variable.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77a3983968b1f7d115d7ede05517145ad00"> 30</a></span> <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77a3983968b1f7d115d7ede05517145ad00">CS_None</a>,</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77a33637fd9b2f6a1f07b28bee8e931c481"> 32</a></span> <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77a33637fd9b2f6a1f07b28bee8e931c481">CS_Unknown</a>,</div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77a59e38ff87930b308b2a313b265560d3f"> 33</a></span> <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77a59e38ff87930b308b2a313b265560d3f">CS_Unconsumed</a>,</div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77ae13f12659f4c85551e644e9e1fa6860f"> 34</a></span> <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77ae13f12659f4c85551e644e9e1fa6860f">CS_Consumed</a></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> };</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="namespaceclang_1_1consumed.html#a46298023e56c7c149eb6cc50d83c825e"> 37</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1consumed_1_1ConsumedStmtVisitor.html">ConsumedStmtVisitor</a>;</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<PartialDiagnosticAt, 1></a> <a class="code" href="namespaceclang_1_1consumed.html#a46298023e56c7c149eb6cc50d83c825e">OptionalNotes</a>;</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="namespaceclang_1_1consumed.html#a6f0749fc3d1453737bb8726e8ac289b7"> 40</a></span> <span class="keyword">typedef</span> std::pair<PartialDiagnosticAt, OptionalNotes> <a class="code" href="namespaceclang_1_1consumed.html#a6f0749fc3d1453737bb8726e8ac289b7">DelayedDiag</a>;</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="namespaceclang_1_1consumed.html#a0b9e44c13d5a4ff579eba696894516b3"> 41</a></span> <span class="keyword">typedef</span> std::list<DelayedDiag> <a class="code" href="namespaceclang_1_1consumed.html#a0b9e44c13d5a4ff579eba696894516b3">DiagList</a>;</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html"> 43</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html">ConsumedWarningsHandlerBase</a> {</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#ad199815628c23a5dc6570e5c4176c90f">~ConsumedWarningsHandlerBase</a>();</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> /// \brief Emit the warnings and notes left by the analysis.</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#ac096be346e170c6662127054019f5448"> 50</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#ac096be346e170c6662127054019f5448" title="Emit the warnings and notes left by the analysis.">emitDiagnostics</a>() {}</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"></span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> /// \brief Warn that a variable's state doesn't match at the entry and exit</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> /// of a loop.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> /// \param Loc -- The location of the end of the loop.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> /// \param VariableName -- The name of the variable that has a mismatched</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> /// state.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#a5b6a59fa10854d89ecb7c728fbb7a91c"> 59</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#a5b6a59fa10854d89ecb7c728fbb7a91c" title="Warn that a variable's state doesn't match at the entry and exit of a loop.">warnLoopStateMismatch</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> StringRef VariableName) {}</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"></span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> /// \brief Warn about parameter typestate mismatches upon return.</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> /// \param Loc -- The SourceLocation of the return statement.</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> /// \param ExpectedState -- The state the return value was expected to be</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> /// in.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> /// \param ObservedState -- The state the return value was observed to be</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> /// in.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#af8f2243d52f8453420c70bd1cf3d4b3b"> 71</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#af8f2243d52f8453420c70bd1cf3d4b3b" title="Warn about parameter typestate mismatches upon return.">warnParamReturnTypestateMismatch</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> StringRef VariableName,</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> StringRef ExpectedState,</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> StringRef ObservedState) {};</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// FIXME: Add documentation.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#a58c9ae8a173ac9ff0d16dda003c33c3d"> 77</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#a58c9ae8a173ac9ff0d16dda003c33c3d">warnParamTypestateMismatch</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> LOC,</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> StringRef ExpectedState,</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> StringRef ObservedState) {}</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">// FIXME: This can be removed when the attr propagation fix for templated</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">// classes lands.</span><span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> /// \brief Warn about return typestates set for unconsumable types.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> /// </span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> /// \param Loc -- The location of the attributes.</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> /// \param TypeName -- The name of the unconsumable type.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#acf2d3a44f30d8dea6427e42ff38e63b8"> 88</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#acf2d3a44f30d8dea6427e42ff38e63b8" title="Warn about return typestates set for unconsumable types.">warnReturnTypestateForUnconsumableType</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> StringRef TypeName) {}</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"></span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> /// \brief Warn about return typestate mismatches.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> /// \param Loc -- The SourceLocation of the return statement.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> /// \param ExpectedState -- The state the return value was expected to be</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> /// in.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> /// \param ObservedState -- The state the return value was observed to be</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> /// in.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#acb792eaae4d4a041f225835f7edbd28e"> 100</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#acb792eaae4d4a041f225835f7edbd28e" title="Warn about return typestate mismatches.">warnReturnTypestateMismatch</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> StringRef ExpectedState,</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> StringRef ObservedState) {}</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> /// \brief Warn about use-while-consumed errors.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> /// \param MethodName -- The name of the method that was incorrectly</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> /// invoked.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// \param State -- The state the object was used in.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// \param Loc -- The SourceLocation of the method invocation.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#a3fd68905df5ab060352b291cef417597"> 111</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#a3fd68905df5ab060352b291cef417597" title="Warn about use-while-consumed errors.">warnUseOfTempInInvalidState</a>(StringRef MethodName,</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> StringRef <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {}</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"></span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> /// \brief Warn about use-while-consumed errors.</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /// \param MethodName -- The name of the method that was incorrectly</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> /// invoked.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> /// \param State -- The state the object was used in.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> /// \param VariableName -- The name of the variable that holds the unique</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> /// value.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> /// \param Loc -- The SourceLocation of the method invocation.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#a84134beea7b1c173778ccc4d9721ad51"> 125</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html#a84134beea7b1c173778ccc4d9721ad51" title="Warn about use-while-consumed errors.">warnUseInInvalidState</a>(StringRef MethodName,</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> StringRef VariableName,</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> StringRef <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {}</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> };</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html"> 131</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a> {</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">typedef</span> llvm::DenseMap<const VarDecl *, ConsumedState> VarMapType;</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">typedef</span> llvm::DenseMap<const CXXBindTemporaryExpr *, ConsumedState></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> TmpMapType;</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a7ee2095c050dffee059987be60a56020"> 139</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a7ee2095c050dffee059987be60a56020">Reachable</a>;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a97a566577aafa48f004b2ffab51a0a0c"> 140</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a97a566577aafa48f004b2ffab51a0a0c">From</a>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#ac2df2d912c915b96602643b90d26c9c9"> 141</a></span> VarMapType <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#ac2df2d912c915b96602643b90d26c9c9">VarMap</a>;</div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a9befa7f6960d7dfcf3fcda8c1fa819b9"> 142</a></span> TmpMapType <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a9befa7f6960d7dfcf3fcda8c1fa819b9">TmpMap</a>;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a8ecf7bcfcfe2e574f9e82457608dd0e1"> 145</a></span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a8ecf7bcfcfe2e574f9e82457608dd0e1">ConsumedStateMap</a>() : <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a7ee2095c050dffee059987be60a56020">Reachable</a>(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>), <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a97a566577aafa48f004b2ffab51a0a0c">From</a>(<a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>) {}</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#ae1e9ae1a6d8480db4e8df88fb97ba4b2"> 146</a></span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a8ecf7bcfcfe2e574f9e82457608dd0e1">ConsumedStateMap</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a> &Other)</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> : <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a7ee2095c050dffee059987be60a56020">Reachable</a>(Other.<a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a7ee2095c050dffee059987be60a56020">Reachable</a>), <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a97a566577aafa48f004b2ffab51a0a0c">From</a>(Other.<a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a97a566577aafa48f004b2ffab51a0a0c">From</a>), <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#ac2df2d912c915b96602643b90d26c9c9">VarMap</a>(Other.<a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#ac2df2d912c915b96602643b90d26c9c9">VarMap</a>),</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a9befa7f6960d7dfcf3fcda8c1fa819b9">TmpMap</a>() {}</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"></span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> /// \brief Warn if any of the parameters being tracked are not in the state</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> /// they were declared to be in upon return from a function.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a09699071f87ca2906d93607c35adcfe0" title="Warn if any of the parameters being tracked are not in the state they were declared to be in upon ret...">checkParamsForReturnTypestate</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> BlameLoc,</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html">ConsumedWarningsHandlerBase</a> &WarningsHandler) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"></span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> /// \brief Clear the TmpMap.</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a4bdcc7bc64a0f58fb15fbc4a0557e183" title="Clear the TmpMap.">clearTemporaries</a>();</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"></span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> /// \brief Get the consumed state of a given variable.</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"></span> <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77">ConsumedState</a> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a63f147f2784b3cf9958708dac94050cc" title="Get the consumed state of a given variable.">getState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *Var) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"></span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> /// \brief Get the consumed state of a given temporary value.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"></span> <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77">ConsumedState</a> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a63f147f2784b3cf9958708dac94050cc" title="Get the consumed state of a given variable.">getState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXBindTemporaryExpr.html" title="Represents binding an expression to a temporary.">CXXBindTemporaryExpr</a> *Tmp) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"></span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> /// \brief Merge this state map with another map.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#ae13b99bd7a22b1911bffe1d3857f32a0" title="Merge this state map with another map.">intersect</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a> *Other);</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a8718b05e0e31a6abc88d8621eb85baa9">intersectAtLoopHead</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *LoopHead, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *LoopBack,</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a> *LoopBackStates,</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html">ConsumedWarningsHandlerBase</a> &WarningsHandler);</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"></span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> /// \brief Return true if this block is reachable.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a48e072041eea7879214bbb76888f445e"> 172</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a48e072041eea7879214bbb76888f445e" title="Return true if this block is reachable.">isReachable</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a7ee2095c050dffee059987be60a56020">Reachable</a>; }</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> /// \brief Mark the block as unreachable.</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a88beb195b9705304ca1a12f8ca860683" title="Mark the block as unreachable.">markUnreachable</a>();</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"></span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> /// \brief Set the source for a decision about the branching of states.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> /// \param Source -- The statement that was the origin of a branching</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> /// decision.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#af82e79ce942f2d048d1d00deadf8b594"> 180</a></span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#af82e79ce942f2d048d1d00deadf8b594" title="Set the source for a decision about the branching of states.">setSource</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Source) { this-><a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a97a566577aafa48f004b2ffab51a0a0c">From</a> = Source; }</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"></span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"> /// \brief Set the consumed state of a given variable.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a3eaa8452a63de1ee1bba80af96b5a1db" title="Set the consumed state of a given variable.">setState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *Var, <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77">ConsumedState</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>);</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"></span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> /// \brief Set the consumed state of a given temporary value.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a3eaa8452a63de1ee1bba80af96b5a1db" title="Set the consumed state of a given variable.">setState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXBindTemporaryExpr.html" title="Represents binding an expression to a temporary.">CXXBindTemporaryExpr</a> *Tmp, <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77">ConsumedState</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>);</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"></span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> /// \brief Remove the variable from our state map.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"></span> <span class="keywordtype">void</span> <span class="keyword">remove</span>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *Var);</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"></span></div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment"> /// \brief Tests to see if there is a mismatch in the states stored in two</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> /// maps.</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> /// \param Other -- The second map to compare against.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html#a8fcd43c4d7e22dedd14907402393a9a8" title="Tests to see if there is a mismatch in the states stored in two maps.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a> *Other) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> };</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html"> 198</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html">ConsumedBlockInfo</a> {</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> std::vector<ConsumedStateMap*> StateMapsArray;</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> std::vector<unsigned int> VisitOrder;</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a0f20d6a4bed7148bd2f0735a3e90ef99"> 203</a></span> <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a0f20d6a4bed7148bd2f0735a3e90ef99">ConsumedBlockInfo</a>() { }</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a8b58ce39f6d5f4a5ffbbf0279e0d8331"> 205</a></span> <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a0f20d6a4bed7148bd2f0735a3e90ef99">ConsumedBlockInfo</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> NumBlocks, <a class="code" href="classclang_1_1PostOrderCFGView.html">PostOrderCFGView</a> *SortedGraph)</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> : StateMapsArray(NumBlocks, 0), VisitOrder(NumBlocks, 0) {</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> VisitOrderCounter = 0;</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1PostOrderCFGView.html#a0cc36c8aea4f9c36f3a2c95dbaf32ed6">PostOrderCFGView::iterator</a> BI = SortedGraph-><a class="code" href="classclang_1_1PostOrderCFGView.html#a24690cde019309c3b2ea7bee32250a35">begin</a>(),</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> BE = SortedGraph-><a class="code" href="classclang_1_1PostOrderCFGView.html#aa7d580e4375e5122df17b37948120f15">end</a>(); BI != BE; ++BI) {</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> VisitOrder[(*BI)->getBlockID()] = VisitOrderCounter++;</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#aa3f7023f31290da8ad17b035ef38b283">allBackEdgesVisited</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *CurrBlock,</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *TargetBlock);</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a9e06afbce43934385ae50b980205bd94">addInfo</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block, <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a> *StateMap,</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordtype">bool</span> &AlreadyOwned);</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a9e06afbce43934385ae50b980205bd94">addInfo</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block, <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a> *StateMap);</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a>* <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a45b89ad113fdec544301a130b223f37f">borrowInfo</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block);</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a2caace5d3d30692daf224b9049370a08">discardInfo</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block);</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a>* <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a74d9bb5ae067c6f2ce36c3ea514fb9aa">getInfo</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block);</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#ae33dafaec4beb95bc1884d0daab8a66c">isBackEdge</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *From, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *To);</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html#a6500fbfd64e83391552ada42727dfafb">isBackEdgeTarget</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block);</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> };</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"></span></div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> /// A class that handles the analysis of uniqueness violations.</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html"> 232</a></span> <span class="comment"></span> <span class="keyword">class </span><a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html" title="A class that handles the analysis of uniqueness violations.">ConsumedAnalyzer</a> {</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedBlockInfo.html">ConsumedBlockInfo</a> BlockInfo;</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStateMap.html">ConsumedStateMap</a> *CurrStates;</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77">ConsumedState</a> ExpectedReturnState;</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">void</span> determineExpectedReturnState(<a class="code" href="classclang_1_1AnalysisDeclContext.html">AnalysisDeclContext</a> &AC,</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *D);</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">bool</span> hasConsumableAttributes(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD);</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">bool</span> splitState(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *CurrBlock,</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedStmtVisitor.html">ConsumedStmtVisitor</a> &Visitor);</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html#a32728ddd9e9e70e04845ce58049cd9b2"> 247</a></span> <a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html">ConsumedWarningsHandlerBase</a> &<a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html#a32728ddd9e9e70e04845ce58049cd9b2">WarningsHandler</a>;</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html#ac166c63ba6b2d86e6b38a30552d13ee5"> 249</a></span> <a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html#ac166c63ba6b2d86e6b38a30552d13ee5">ConsumedAnalyzer</a>(<a class="code" href="classclang_1_1consumed_1_1ConsumedWarningsHandlerBase.html">ConsumedWarningsHandlerBase</a> &<a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html#a32728ddd9e9e70e04845ce58049cd9b2">WarningsHandler</a>)</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> : WarningsHandler(WarningsHandler) {}</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno"><a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html#af69300c22bf5dc4ae0efb2f551028ca1"> 252</a></span> <a class="code" href="namespaceclang_1_1consumed.html#acaee577ec9f365f1eb7eafc869becd77">ConsumedState</a> <a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html#af69300c22bf5dc4ae0efb2f551028ca1">getExpectedReturnState</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ExpectedReturnState; }</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"></span></div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> /// \brief Check a function's CFG for consumed violations.</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment"> /// We traverse the blocks in the CFG, keeping track of the state of each</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> /// value who's type has uniquness annotations. If methods are invoked in</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> /// the wrong state a warning is issued. Each block in the CFG is traversed</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment"> /// exactly once.</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1consumed_1_1ConsumedAnalyzer.html#a526c98ca903ea1970c65860fd7df1c4d" title="Check a function's CFG for consumed violations.">run</a>(<a class="code" href="classclang_1_1AnalysisDeclContext.html">AnalysisDeclContext</a> &AC);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> };</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }} <span class="comment">// end namespace clang::consumed</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,963 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: ContinuationIndenter.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">ContinuationIndenter.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="ContinuationIndenter_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===--- ContinuationIndenter.cpp - Format C++ code -----------------------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">/// \brief This file implements the continuation indenter.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno"><a class="code" href="ContinuationIndenter_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d"> 15</a></span> <span class="preprocessor">#define DEBUG_TYPE "format-formatter"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="BreakableToken_8h.html" title="Declares BreakableToken, BreakableStringLiteral, and BreakableBlockComment classes, that contain token type-specific logic to break long lines in tokens.">BreakableToken.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="ContinuationIndenter_8h.html" title="This file implements an indenter that manages the indentation of continuations.">ContinuationIndenter.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="WhitespaceManager_8h.html" title="WhitespaceManager class manages whitespace around tokens and their replacements.">WhitespaceManager.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="OperatorPrecedence_8h.html" title="Defines and computes precedence levels for binary/ternary operators.">clang/Basic/OperatorPrecedence.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="SourceManager_8h.html" title="Defines the SourceManager interface.">clang/Basic/SourceManager.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="Format_8h.html">clang/Format/Format.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "llvm/Support/Debug.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">namespace </span>format {</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// Returns the length of everything up to the first possible line break after</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// the ), ], } or > matching \c Tok.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a44e471b03a24150fcce0a9f0d538aa0d"> 31</a></span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1format.html#a44e471b03a24150fcce0a9f0d538aa0d">getLengthToMatchingParen</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &Tok) {</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">if</span> (Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a> == <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>)</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *End = Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>;</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">while</span> (End-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a> && !End-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a8f4e8957198b4e546e719860c8d9668b" title="true if it is allowed to break before this token.">CanBreakBefore</a>) {</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> End = End-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> }</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">return</span> End-><a class="code" href="structclang_1_1format_1_1FormatToken.html#ac2b733f2b528aeab33b9c9189a05dc7a" title="The total length of the unwrapped line up to and including this token.">TotalLength</a> - Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#ac2b733f2b528aeab33b9c9189a05dc7a" title="The total length of the unwrapped line up to and including this token.">TotalLength</a> + 1;</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> }</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// Returns \c true if \c Tok is the "." or "->" of a call and starts the next</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// segment of a builder type call.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a77277e89c12de4c668b790cd02b9ae14"> 43</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1format.html#a77277e89c12de4c668b790cd02b9ae14">startsSegmentOfBuilderTypeCall</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &Tok) {</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">return</span> Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afb165bbfa3bd86b014bc6975c2723afc" title="Returns true if this is a "." or "->" accessing a member.">isMemberAccess</a>() && Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a> && Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#ae2c64a150bfee354e7ff1263649e7c62" title="Returns whether Tok is )]} or a template closing >.">closesScope</a>();</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> }</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// Returns \c true if \c Current starts a new parameter.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a863a7a3fcf1022607339341a698df78d"> 48</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1format.html#a863a7a3fcf1022607339341a698df78d">startsNextParameter</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="TokenAnnotator_8cpp.html#af9dd7352b5e730aa8ddb81784035c434">Current</a>,</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>) {</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="Format_8cpp.html#a367365df5b490f2ddb411318d9d421a9">Previous</a> = *Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a03da0da0ed401d7753ad639cc5309ee8">TT_CtorInitializerComma</a> &&</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ab817689d9226e0058764619a2a4be915" title="Always break constructor initializers before commas and align the commas with the colon...">BreakConstructorInitializersBeforeComma</a>)</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">return</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::comma) && !Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a810285a2ad890ec1f70b823433ad9f94">isTrailingComment</a>() &&</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a03da0da0ed401d7753ad639cc5309ee8">TT_CtorInitializerComma</a> ||</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> !Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ab817689d9226e0058764619a2a4be915" title="Always break constructor initializers before commas and align the commas with the colon...">BreakConstructorInitializersBeforeComma</a>);</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a1f71879b6c1b1ead29c1a856bcf52001"> 59</a></span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a1f71879b6c1b1ead29c1a856bcf52001" title="Constructs a ContinuationIndenter to format Line starting in column FirstIndent.">ContinuationIndenter::ContinuationIndenter</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>,</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &<a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>,</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>,</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>,</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">bool</span> <a class="code" href="Format_8cpp.html#a4f621b335b2e6e7e36ea90b5b132e853">BinPackInconclusiveFunctions</a>)</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> : Style(Style), SourceMgr(SourceMgr), Whitespaces(Whitespaces),</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> Encoding(Encoding),</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> BinPackInconclusiveFunctions(BinPackInconclusiveFunctions) {}</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a2ecbffc86ea0dd8a90eefcad801b10d5"> 68</a></span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a2ecbffc86ea0dd8a90eefcad801b10d5" title="Get the initial state, i.e. the state after placing Line's first token at FirstIndent.">ContinuationIndenter::getInitialState</a>(<span class="keywordtype">unsigned</span> FirstIndent,</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1format_1_1AnnotatedLine.html">AnnotatedLine</a> *<a class="code" href="TokenAnnotator_8cpp.html#a0d95c6acfc477accd6ff1b1ca93c82cc">Line</a>,</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">bool</span> DryRun) {</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>;</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#ae20fb3c7d86baf744b10106ef5acc930" title="The indent of the first token.">FirstIndent</a> = FirstIndent;</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> = FirstIndent;</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a393cd89e06b3cc75e87d9524fad50b06" title="The line that is being formatted.">Line</a> = <a class="code" href="TokenAnnotator_8cpp.html#a0d95c6acfc477accd6ff1b1ca93c82cc">Line</a>;</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a> = Line-><a class="code" href="classclang_1_1format_1_1AnnotatedLine.html#a437a5c361f11669ad593cc06c38fdc88">First</a>;</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.push_back(<a class="code" href="structclang_1_1format_1_1ParenState.html">ParenState</a>(FirstIndent, Line-><a class="code" href="classclang_1_1format_1_1AnnotatedLine.html#a8de9080e781faa2a11c27c053b76167b">Level</a>, FirstIndent,</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/*AvoidBinPacking=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">/*NoLineBreak=*/</span><span class="keyword">false</span>));</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#aa5aa1a3e3c19ec8cb0f27318cfed4811" title="true if this line contains a continued for-loop section.">LineContainsContinuedForLoopSection</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a> = 0;</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a1a323764a746c9ecbaf39d8c04ecec2d" title="The start column of the string literal, if we're in a string literal sequence, 0 otherwise.">StartOfStringLiteral</a> = 0;</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#ad89461175e656d9ebf327e8a51899538" title="The ParenLevel at the start of this line.">StartOfLineLevel</a> = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a>;</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a2340ca707b6859e930a060aa9338346a" title="The lowest ParenLevel on the current line.">LowestLevelOnLine</a> = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a>;</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a1b8416cf69649c1a904f61391b8242a4" title="Ignore the stack of ParenStates for state comparison.">IgnoreStackForComparison</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">// The first token has already been indented and thus consumed.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> moveStateToNextToken(State, DryRun, <span class="comment">/*Newline=*/</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>;</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a021d360c4c93b0ba0f9057a372880855"> 91</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a021d360c4c93b0ba0f9057a372880855" title="Returns true, if a line break after State is allowed.">ContinuationIndenter::canBreak</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>) {</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="TokenAnnotator_8cpp.html#af9dd7352b5e730aa8ddb81784035c434">Current</a> = *State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="Format_8cpp.html#a367365df5b490f2ddb411318d9d421a9">Previous</a> = *Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> assert(&Previous == Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>);</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span> (!Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a8f4e8957198b4e546e719860c8d9668b" title="true if it is allowed to break before this token.">CanBreakBefore</a> && !(State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().BreakBeforeClosingBrace &&</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#aa5d001972c32158a787498e77c5de6e8" title="Same as opensBlockTypeList, but for the closing token.">closesBlockTypeList</a>(Style)))</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// The opening "{" of a braced list has to be on the same line as the first</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// element if it is nested in another braced init list or function call.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">if</span> (!Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a7bf92e943c028898d14a5516969e25d9" title="Whether there must be a line break before this token.">MustBreakBefore</a> && Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::l_brace) &&</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a1539e9e36f093ea30703159731670a0d">TT_DictLiteral</a> &&</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a8535587de7dd43ab56e32b88279ea917" title="Contains the kind of block if this token is a brace.">BlockKind</a> == <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaae56a45f3e07dfba04c28c70b668c2bdd">BK_BracedInit</a> && Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a> &&</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(tok::l_brace, tok::l_paren, tok::comma))</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">// This prevents breaks like:</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">// ...</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">// SomeParameter, OtherParameter).DoSomething(</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">// ...</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">// As they hide "DoSomething" and are generally bad for readability.</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a79d0d51105d04be9c8707673942ad848" title="Returns whether Tok is ([{ or a template opening <.">opensScope</a>() && State.<a class="code" href="structclang_1_1format_1_1LineState.html#a2340ca707b6859e930a060aa9338346a" title="The lowest ParenLevel on the current line.">LowestLevelOnLine</a> < State.<a class="code" href="structclang_1_1format_1_1LineState.html#ad89461175e656d9ebf327e8a51899538" title="The ParenLevel at the start of this line.">StartOfLineLevel</a>)</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afb165bbfa3bd86b014bc6975c2723afc" title="Returns true if this is a "." or "->" accessing a member.">isMemberAccess</a>() && State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().ContainsUnwrappedBuilder)</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">return</span> !State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().NoLineBreak;</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> }</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#aaa149e0166fb78afc728af02ebf69e75"> 117</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#aaa149e0166fb78afc728af02ebf69e75" title="Returns true, if a line break after State is mandatory.">ContinuationIndenter::mustBreak</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>) {</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="TokenAnnotator_8cpp.html#af9dd7352b5e730aa8ddb81784035c434">Current</a> = *State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="Format_8cpp.html#a367365df5b490f2ddb411318d9d421a9">Previous</a> = *Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a7bf92e943c028898d14a5516969e25d9" title="Whether there must be a line break before this token.">MustBreakBefore</a> || Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a33b3706da41c3de553b666d042fd5f23">TT_InlineASMColon</a>)</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">if</span> (State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().BreakBeforeClosingBrace &&</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#aa5d001972c32158a787498e77c5de6e8" title="Same as opensBlockTypeList, but for the closing token.">closesBlockTypeList</a>(Style))</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::semi) && State.<a class="code" href="structclang_1_1format_1_1LineState.html#aa5aa1a3e3c19ec8cb0f27318cfed4811" title="true if this line contains a continued for-loop section.">LineContainsContinuedForLoopSection</a>)</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">if</span> ((<a class="code" href="namespaceclang_1_1format.html#a863a7a3fcf1022607339341a698df78d">startsNextParameter</a>(Current, Style) || Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::semi) ||</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> (Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af83c3653a76e6e749391f7d3663a8ce5" title="If true, ternary operators will be placed after line breaks.">BreakBeforeTernaryOperators</a> &&</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::question) || (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abe66d25c228b849cfb3ff9b26e9379fe">TT_ConditionalExpr</a> &&</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a70cb2af212cf1462b3e533de7867fa51">isNot</a>(tok::question)))) ||</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> (!Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af83c3653a76e6e749391f7d3663a8ce5" title="If true, ternary operators will be placed after line breaks.">BreakBeforeTernaryOperators</a> &&</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::question) || Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abe66d25c228b849cfb3ff9b26e9379fe">TT_ConditionalExpr</a>))) &&</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().BreakBeforeParameter && !Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a810285a2ad890ec1f70b823433ad9f94">isTrailingComment</a>() &&</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> !Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(tok::r_paren, tok::r_brace))</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a03a80b6fa3e1785c7c59becbc621212d" title="If true, always break before multiline string literals.">AlwaysBreakBeforeMultilineStrings</a> &&</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> > State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().Indent && <span class="comment">// Breaking saves columns.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> !Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(tok::kw_return, tok::lessless, tok::at) &&</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a33b3706da41c3de553b666d042fd5f23">TT_InlineASMColon</a> && NextIsMultilineString(State))</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">if</span> (((Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a1539e9e36f093ea30703159731670a0d">TT_DictLiteral</a> && Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::l_brace)) ||</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a2e3762edd81fd8c2e1d9e783484df5b8">TT_ArrayInitializerLSquare</a>) &&</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <a class="code" href="namespaceclang_1_1format.html#a44e471b03a24150fcce0a9f0d538aa0d">getLengthToMatchingParen</a>(Previous) + State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> > <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5" title="Get the column limit for this line. This is the style's column limit, potentially reduced for preproc...">getColumnLimit</a>(State))</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (!Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af02c827f82aac1f6182e575004b3ea4c" title="If true, binary operators will be placed after line breaks.">BreakBeforeBinaryOperators</a>) {</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">// If we need to break somewhere inside the LHS of a binary expression, we</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">// should also break after the operator. Otherwise, the formatting would</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">// hide the operator precedence, e.g. in:</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">// if (aaaaaaaaaaaaaa ==</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">// bbbbbbbbbbbbbb && c) {..</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">// For comparisons, we only apply this rule, if the LHS is a binary</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">// expression itself as otherwise, the line breaks seem superfluous.</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// We need special cases for ">>" which we have split into two ">" while</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// lexing in order to make template parsing easier.</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">// FIXME: We'll need something similar for styles that break before binary</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">// operators.</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">bool</span> IsComparison = (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a290b3fbb5ec95d0b24b8ea1418696d78">getPrecedence</a>() == <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa05b7967153dca3f5284c922546128888">prec::Relational</a> ||</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a290b3fbb5ec95d0b24b8ea1418696d78">getPrecedence</a>() == <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffacab4c0720972d67bc4000ade0ad623ab">prec::Equality</a>) &&</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a> &&</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">TT_BinaryOperator</a>; <span class="comment">// For >>.</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">bool</span> LHSIsBinaryExpr =</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a> && Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a2deef3f679166d2f9e755986a4d07874" title="true if this token ends a binary expression.">EndsBinaryExpression</a>;</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <a class="code" href="mm__malloc_8h.html#a682140772a1d7d2744289e6abb2ad2ff">if</a> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">TT_BinaryOperator</a> &&</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> (!IsComparison || LHSIsBinaryExpr) &&</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">TT_BinaryOperator</a> && <span class="comment">// For >>.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> !Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a810285a2ad890ec1f70b823433ad9f94">isTrailingComment</a>() &&</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> !Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(tok::lessless, tok::question) &&</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a290b3fbb5ec95d0b24b8ea1418696d78">getPrecedence</a>() != <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa796503b737e8f3e46f0c4e6c6b2c8a43">prec::Assignment</a> &&</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().BreakBeforeParameter)</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// Same as above, but for the first "<<" operator.</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::lessless) && State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().BreakBeforeParameter &&</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().FirstLessLess == 0)</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">// FIXME: Comparing LongestObjCSelectorName to 0 is a hacky way of finding</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">// out whether it is the first parameter. Clean this up.</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a62238766a6793dfe08767e6453ed7847">TT_ObjCSelectorName</a> &&</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a40e51d1e0f79dba69b2da861b0b6fa3c" title="If this is the first ObjC selector name in an ObjC method definition or call, this contains the lengt...">LongestObjCSelectorName</a> == 0 &&</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().BreakBeforeParameter)</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> ((Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a76f2f9f6c4be0da59735260a6ea561fc">TT_CtorInitializerColon</a> ||</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a45ae7a4a00d3d8d31a00da0054944362">ClosesTemplateDeclaration</a> && State.<a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a> == 0 &&</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> !Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a810285a2ad890ec1f70b823433ad9f94">isTrailingComment</a>())))</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">if</span> ((Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a53ade488c5de2055aa5bab57dcb1bf57">TT_StartOfName</a> || Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::kw_operator)) &&</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a393cd89e06b3cc75e87d9524fad50b06" title="The line that is being formatted.">Line</a>-><a class="code" href="classclang_1_1format_1_1AnnotatedLine.html#adc318ce7f2f747ed57d0f2f9b3832004">MightBeFunctionDecl</a> &&</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().BreakBeforeParameter && State.<a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a> == 0)</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1format.html#a77277e89c12de4c668b790cd02b9ae14">startsSegmentOfBuilderTypeCall</a>(Current) &&</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> (State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().CallContinuation != 0 ||</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> (State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().BreakBeforeParameter &&</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().ContainsUnwrappedBuilder)))</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a556415a6f3870120dac6b0b2849e6083"> 203</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a556415a6f3870120dac6b0b2849e6083" title="Appends the next token to State and updates information necessary for indentation.">ContinuationIndenter::addTokenToState</a>(<a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, <span class="keywordtype">bool</span> Newline,</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordtype">bool</span> DryRun,</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">unsigned</span> ExtraSpaces) {</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="TokenAnnotator_8cpp.html#af9dd7352b5e730aa8ddb81784035c434">Current</a> = *State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>;</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span> (State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.size() == 0 ||</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ab8c273d0514d57f2acdd371ff781e28a">TT_ImplicitStringLiteral</a> &&</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a>.<a class="code" href="classclang_1_1Token.html#a0f86a35069d2f1917402adba7f4f6a7b">getIdentifierInfo</a>() == <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> ||</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a>.<a class="code" href="classclang_1_1Token.html#a0f86a35069d2f1917402adba7f4f6a7b">getIdentifierInfo</a>()-><a class="code" href="classclang_1_1IdentifierInfo.html#ae11e3e149e73feb580d57400c96154c5" title="Return the preprocessor keyword ID for this identifier.">getPPKeywordID</a>() ==</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> tok::pp_not_keyword))) {</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">// FIXME: Is this correct?</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">int</span> WhitespaceLength = SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a87f26d996dbdbb1416dda847d74cb051">getSpellingColumnNumber</a>(</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#aebc21aac53563fe7b3b1acabc08f3a6f" title="The range of the whitespace immediately preceeding the Token.">WhitespaceRange</a>.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>()) -</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a87f26d996dbdbb1416dda847d74cb051">getSpellingColumnNumber</a>(</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#aebc21aac53563fe7b3b1acabc08f3a6f" title="The range of the whitespace immediately preceeding the Token.">WhitespaceRange</a>.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>());</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> += WhitespaceLength + State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a>;</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a> = State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">unsigned</span> Penalty = 0;</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">if</span> (Newline)</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> Penalty = addTokenOnNewLine(State, DryRun);</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> addTokenOnCurrentLine(State, DryRun, ExtraSpaces);</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">return</span> moveStateToNextToken(State, DryRun, Newline) + Penalty;</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">void</span> ContinuationIndenter::addTokenOnCurrentLine(<a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, <span class="keywordtype">bool</span> DryRun,</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">unsigned</span> ExtraSpaces) {</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="TokenAnnotator_8cpp.html#af9dd7352b5e730aa8ddb81784035c434">Current</a> = *State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>;</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="Format_8cpp.html#a367365df5b490f2ddb411318d9d421a9">Previous</a> = *State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::equal) &&</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> (State.<a class="code" href="structclang_1_1format_1_1LineState.html#a393cd89e06b3cc75e87d9524fad50b06" title="The line that is being formatted.">Line</a>-><a class="code" href="classclang_1_1format_1_1AnnotatedLine.html#a437a5c361f11669ad593cc06c38fdc88">First</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::kw_for) || State.<a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a> == 0) &&</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().VariablePos == 0) {</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().VariablePos = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">// Move over * and & if they are bound to the variable name.</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *Tok = &<a class="code" href="Format_8cpp.html#a367365df5b490f2ddb411318d9d421a9">Previous</a>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">while</span> (Tok && State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().VariablePos >= Tok-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a>) {</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().VariablePos -= Tok-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a>;</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">if</span> (Tok-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a7b69d38383565c6694cc6a1194e4b415" title="The number of spaces that should be inserted before this token.">SpacesRequiredBefore</a> != 0)</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> Tok = Tok-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">if</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a223490cc21236e8f24bc5bb96125a06f" title="Is this token part of a DeclStmt defining multiple variables?">PartOfMultiVariableDeclStmt</a>)</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().LastSpace = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().VariablePos;</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">unsigned</span> Spaces = Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a7b69d38383565c6694cc6a1194e4b415" title="The number of spaces that should be inserted before this token.">SpacesRequiredBefore</a> + ExtraSpaces;</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span> (!DryRun)</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> Whitespaces.<a class="code" href="classclang_1_1format_1_1WhitespaceManager.html#abde5c042ac6c639a568d57630b5f03ff" title="Replaces the whitespace in front of Tok. Only call once for each AnnotatedToken.">replaceWhitespace</a>(Current, <span class="comment">/*Newlines=*/</span>0, <span class="comment">/*IndentLevel=*/</span>0,</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> Spaces, State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> + Spaces);</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a62238766a6793dfe08767e6453ed7847">TT_ObjCSelectorName</a> && State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().ColonPos == 0) {</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span> (State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().Indent + Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a40e51d1e0f79dba69b2da861b0b6fa3c" title="If this is the first ObjC selector name in an ObjC method definition or call, this contains the lengt...">LongestObjCSelectorName</a> ></div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> + Spaces + Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a>)</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().ColonPos =</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().Indent + Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a40e51d1e0f79dba69b2da861b0b6fa3c" title="If this is the first ObjC selector name in an ObjC method definition or call, this contains the lengt...">LongestObjCSelectorName</a>;</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().ColonPos = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> + Spaces + Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a>;</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">if</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a79d0d51105d04be9c8707673942ad848" title="Returns whether Tok is ([{ or a template opening <.">opensScope</a>() && Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a9d3cc1d7cf8da7870bc3589c39ae081e">TT_ObjCMethodExpr</a> &&</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a83fdf1f81a2b707b6a6f0203a186b3d6">TT_LineComment</a>)</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().Indent = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> + Spaces;</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">if</span> (State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().AvoidBinPacking && <a class="code" href="namespaceclang_1_1format.html#a863a7a3fcf1022607339341a698df78d">startsNextParameter</a>(Current, Style))</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().NoLineBreak = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1format.html#a77277e89c12de4c668b790cd02b9ae14">startsSegmentOfBuilderTypeCall</a>(Current))</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().ContainsUnwrappedBuilder = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> += Spaces;</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::l_paren) && Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(tok::kw_if, tok::kw_for))</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment">// Treat the condition inside an if as if it was a second function</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment">// parameter, i.e. let nested calls have a continuation indent.</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().LastSpace = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> + 1; <span class="comment">// 1 is length of "(".</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::comma) || Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a9d3cc1d7cf8da7870bc3589c39ae081e">TT_ObjCMethodExpr</a>)</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().LastSpace = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a>;</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">TT_BinaryOperator</a> ||</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abe66d25c228b849cfb3ff9b26e9379fe">TT_ConditionalExpr</a> ||</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abf7cc8fa98d8d1989deadbd7dbe7766b">TT_UnaryOperator</a> ||</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a76f2f9f6c4be0da59735260a6ea561fc">TT_CtorInitializerColon</a>) &&</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a290b3fbb5ec95d0b24b8ea1418696d78">getPrecedence</a>() != <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa796503b737e8f3e46f0c4e6c6b2c8a43">prec::Assignment</a> ||</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#af46e943ec6822966d41011b39a9f3a37" title="true if this token starts a binary expression, i.e. has at least one fake l_paren with a precedence g...">StartsBinaryExpression</a>))</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment">// Always indent relative to the RHS of the expression unless this is a</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment">// simple assignment without binary expression on the RHS. Also indent</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">// relative to unary operators and the colons of constructor initializers.</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().LastSpace = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a>;</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a7df61bb8e6d255a45a95a69a797a96cc">TT_InheritanceColon</a>) {</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().Indent = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a>;</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().LastSpace = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a>;</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a79d0d51105d04be9c8707673942ad848" title="Returns whether Tok is ([{ or a template opening <.">opensScope</a>()) {</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment">// If a function has a trailing call, indent all parameters from the</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment">// opening parenthesis. This avoids confusing indents like:</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment">// OuterFunction(InnerFunctionCall( // break</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment">// ParameterToInnerFunction)) // break</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment">// .SecondInnerFunctionCall();</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">bool</span> HasTrailingCall = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span> (Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>) {</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keyword">const</span> FormatToken *Next = Previous.<a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#af553e2911fcfe2ee149a158cf2ae6bed" title="Returns the next token ignoring comments.">getNextNonComment</a>();</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> HasTrailingCall = Next && Next-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afb165bbfa3bd86b014bc6975c2723afc" title="Returns true if this is a "." or "->" accessing a member.">isMemberAccess</a>();</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">if</span> (HasTrailingCall &&</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>[State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.size() - 2].CallContinuation == 0)</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> State.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>.back().LastSpace = State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a>;</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> }</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">unsigned</span> ContinuationIndenter::addTokenOnNewLine(LineState &State,</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">bool</span> DryRun) {</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> FormatToken &Current = *State.NextToken;</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keyword">const</span> FormatToken &Previous = *State.NextToken-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment">// If we are continuing an expression, we want to use the continuation indent.</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">unsigned</span> ContinuationIndent =</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> std::max(State.Stack.back().LastSpace, State.Stack.back().Indent) +</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0384417b961b70560004a52de799d7cc" title="Indent width for line continuations.">ContinuationIndentWidth</a>;</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment">// Extra penalty that needs to be added because of the way certain line</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment">// breaks are chosen.</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordtype">unsigned</span> Penalty = 0;</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keyword">const</span> FormatToken *PreviousNonComment =</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> State.NextToken->getPreviousNonComment();</div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment">// The first line break on any ParenLevel causes an extra penalty in order</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment">// prefer similar line breaks.</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">if</span> (!State.Stack.back().ContainsLineBreak)</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> Penalty += 15;</div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> State.Stack.back().ContainsLineBreak = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> Penalty += State.NextToken->SplitPenalty;</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment">// Breaking before the first "<<" is generally not desirable if the LHS is</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">// short.</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span> (Current.is(tok::lessless) && State.Stack.back().FirstLessLess == 0 &&</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> State.Column <= Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a> / 2)</div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> Penalty += Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4e7375a939438afdd39c267da5bda3ec" title="The penalty for breaking before the first <<.">PenaltyBreakFirstLessLess</a>;</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <a class="code" href="mm__malloc_8h.html#a682140772a1d7d2744289e6abb2ad2ff">if</a> (Current.is(tok::l_brace) && Current.BlockKind == <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaac0cd3adbed48a71039a2855df3fe8036">BK_Block</a>) {</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> State.Column = State.FirstIndent;</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.isOneOf(tok::r_brace, tok::r_square)) {</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">if</span> (Current.closesBlockTypeList(Style) ||</div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> (Current.MatchingParen &&</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> Current.MatchingParen->BlockKind == <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaae56a45f3e07dfba04c28c70b668c2bdd">BK_BracedInit</a>))</div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> State.Column = State.Stack[State.Stack.size() - 2].LastSpace;</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> State.Column = State.FirstIndent;</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.is(tok::string_literal) &&</div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> State.StartOfStringLiteral != 0) {</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> State.Column = State.StartOfStringLiteral;</div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> State.Stack.back().BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.is(tok::lessless) &&</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> State.Stack.back().FirstLessLess != 0) {</div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> State.Column = State.Stack.back().FirstLessLess;</div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.isMemberAccess()) {</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">if</span> (State.Stack.back().CallContinuation == 0) {</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> State.Column = ContinuationIndent;</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> State.Stack.back().CallContinuation = State.Column;</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> State.Column = State.Stack.back().CallContinuation;</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (State.Stack.back().QuestionColumn != 0 &&</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abe66d25c228b849cfb3ff9b26e9379fe">TT_ConditionalExpr</a> ||</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> Previous.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abe66d25c228b849cfb3ff9b26e9379fe">TT_ConditionalExpr</a>)) {</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> State.Column = State.Stack.back().QuestionColumn;</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Previous.is(tok::comma) && State.Stack.back().VariablePos != 0) {</div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> State.Column = State.Stack.back().VariablePos;</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((PreviousNonComment &&</div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> PreviousNonComment->ClosesTemplateDeclaration) ||</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> ((Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a53ade488c5de2055aa5bab57dcb1bf57">TT_StartOfName</a> ||</div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> Current.is(tok::kw_operator)) &&</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> State.ParenLevel == 0 &&</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> (!Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#abcc4fc50942deabd17bcf25ed9c938dd" title="If true, indent when breaking function declarations which are not also definitions after the type...">IndentFunctionDeclarationAfterType</a> ||</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> State.Line->StartsDefinition))) {</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> State.Column = State.Stack.back().Indent;</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a62238766a6793dfe08767e6453ed7847">TT_ObjCSelectorName</a>) {</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">if</span> (State.Stack.back().ColonPos == 0) {</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> State.Stack.back().ColonPos =</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> State.Stack.back().Indent + Current.LongestObjCSelectorName;</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> State.Column = State.Stack.back().ColonPos - Current.ColumnWidth;</div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (State.Stack.back().ColonPos > Current.ColumnWidth) {</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> State.Column = State.Stack.back().ColonPos - Current.ColumnWidth;</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> State.Column = State.Stack.back().Indent;</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> State.Stack.back().ColonPos = State.Column + Current.ColumnWidth;</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a43e8488d842d361a0e6522cde916f226">TT_ArraySubscriptLSquare</a>) {</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">if</span> (State.Stack.back().StartOfArraySubscripts != 0)</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> State.Column = State.Stack.back().StartOfArraySubscripts;</div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> State.Column = ContinuationIndent;</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a53ade488c5de2055aa5bab57dcb1bf57">TT_StartOfName</a> ||</div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> Previous.isOneOf(tok::coloncolon, tok::equal) ||</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> Previous.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a9d3cc1d7cf8da7870bc3589c39ae081e">TT_ObjCMethodExpr</a>) {</div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> State.Column = ContinuationIndent;</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a76f2f9f6c4be0da59735260a6ea561fc">TT_CtorInitializerColon</a>) {</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> State.Column = State.FirstIndent + Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a87a31c95b98c7ba6c606237473f61981" title="The number of characters to use for indentation of constructor initializer lists.">ConstructorInitializerIndentWidth</a>;</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a03da0da0ed401d7753ad639cc5309ee8">TT_CtorInitializerComma</a>) {</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> State.Column = State.Stack.back().Indent;</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> State.Column = State.Stack.back().Indent;</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="comment">// Ensure that we fall back to the continuation indent width instead of just</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="comment">// flushing continuations left.</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> (State.Column == State.FirstIndent &&</div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> PreviousNonComment->isNot(tok::r_brace))</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> State.Column += Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0384417b961b70560004a52de799d7cc" title="Indent width for line continuations.">ContinuationIndentWidth</a>;</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">if</span> ((Previous.isOneOf(tok::comma, tok::semi) &&</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> !State.Stack.back().AvoidBinPacking) ||</div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> Previous.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">TT_BinaryOperator</a>)</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> State.Stack.back().BreakBeforeParameter = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">if</span> (Previous.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ae0f5f7054e11f208cdde909bce37ab92">TT_TemplateCloser</a> && State.ParenLevel == 0)</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> State.Stack.back().BreakBeforeParameter = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">if</span> (Current.is(tok::question) ||</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> (PreviousNonComment && PreviousNonComment->is(tok::question)))</div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> State.Stack.back().BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">if</span> (!DryRun) {</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keywordtype">unsigned</span> Newlines = 1;</div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">if</span> (Current.is(tok::comment))</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> Newlines = std::max(Newlines, std::min(Current.NewlinesBefore,</div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aafca7a61d6d72ab0adf276ace30155d5" title="The maximum number of consecutive empty lines to keep.">MaxEmptyLinesToKeep</a> + 1));</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> Whitespaces.<a class="code" href="classclang_1_1format_1_1WhitespaceManager.html#abde5c042ac6c639a568d57630b5f03ff" title="Replaces the whitespace in front of Tok. Only call once for each AnnotatedToken.">replaceWhitespace</a>(Current, Newlines,</div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> State.Stack.back().IndentLevel, State.Column,</div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> State.Column, State.Line->InPPDirective);</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">if</span> (!Current.isTrailingComment())</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> State.Stack.back().LastSpace = State.Column;</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">if</span> (Current.isMemberAccess())</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> State.Stack.back().LastSpace += Current.ColumnWidth;</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> State.StartOfLineLevel = State.ParenLevel;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> State.LowestLevelOnLine = State.ParenLevel;</div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment">// Any break on this level means that the parent level has been broken</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="comment">// and we need to avoid bin packing there.</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = State.Stack.size() - 1; i != e; ++i) {</div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> State.Stack[i].BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> }</div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">if</span> (PreviousNonComment &&</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> !PreviousNonComment->isOneOf(tok::comma, tok::semi) &&</div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> PreviousNonComment->Type != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ae0f5f7054e11f208cdde909bce37ab92">TT_TemplateCloser</a> &&</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> PreviousNonComment->Type != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">TT_BinaryOperator</a> &&</div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> Current.Type != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">TT_BinaryOperator</a> && </div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> !PreviousNonComment->opensScope())</div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> State.Stack.back().BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment">// If we break after { or the [ of an array initializer, we should also break</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment">// before the corresponding } or ].</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">if</span> (Previous.is(tok::l_brace) || Previous.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a2e3762edd81fd8c2e1d9e783484df5b8">TT_ArrayInitializerLSquare</a>)</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> State.Stack.back().BreakBeforeClosingBrace = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordflow">if</span> (State.Stack.back().AvoidBinPacking) {</div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment">// If we are breaking after '(', '{', '<', this is not bin packing</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment">// unless AllowAllParametersOfDeclarationOnNextLine is false.</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordflow">if</span> (!(Previous.isOneOf(tok::l_paren, tok::l_brace) ||</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> Previous.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">TT_BinaryOperator</a>) ||</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> (!Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aa6eeb36c958dfb1e4f15876c82cef2ce" title="Allow putting all parameters of a function declaration onto the next line even if BinPackParameters i...">AllowAllParametersOfDeclarationOnNextLine</a> &&</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> State.Line->MustBeDeclaration))</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> State.Stack.back().BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> }</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordflow">return</span> Penalty;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> }</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordtype">unsigned</span> ContinuationIndenter::moveStateToNextToken(LineState &State,</div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordtype">bool</span> DryRun, <span class="keywordtype">bool</span> Newline) {</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keyword">const</span> FormatToken &Current = *State.NextToken;</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> assert(State.Stack.size());</div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a7df61bb8e6d255a45a95a69a797a96cc">TT_InheritanceColon</a>)</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> State.Stack.back().AvoidBinPacking = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordflow">if</span> (Current.is(tok::lessless) && State.Stack.back().FirstLessLess == 0)</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> State.Stack.back().FirstLessLess = State.Column;</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a43e8488d842d361a0e6522cde916f226">TT_ArraySubscriptLSquare</a> &&</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> State.Stack.back().StartOfArraySubscripts == 0)</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> State.Stack.back().StartOfArraySubscripts = State.Column;</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordflow">if</span> ((Current.is(tok::question) && Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af83c3653a76e6e749391f7d3663a8ce5" title="If true, ternary operators will be placed after line breaks.">BreakBeforeTernaryOperators</a>) ||</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> (Current.getPreviousNonComment() && Current.isNot(tok::colon) &&</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> Current.getPreviousNonComment()->is(tok::question) &&</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> !Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af83c3653a76e6e749391f7d3663a8ce5" title="If true, ternary operators will be placed after line breaks.">BreakBeforeTernaryOperators</a>))</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> State.Stack.back().QuestionColumn = State.Column;</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordflow">if</span> (!Current.opensScope() && !Current.closesScope())</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> State.LowestLevelOnLine =</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> std::min(State.LowestLevelOnLine, State.ParenLevel);</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keywordflow">if</span> (Current.isMemberAccess())</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> State.Stack.back().StartOfFunctionCall =</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> Current.LastInChainOfCalls ? 0 : State.Column + Current.ColumnWidth;</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a76f2f9f6c4be0da59735260a6ea561fc">TT_CtorInitializerColon</a>) {</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment">// Indent 2 from the column, so:</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment">// SomeClass::SomeClass()</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="comment">// : First(...), ...</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment">// Next(...)</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment">// ^ line up here.</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> State.Stack.back().Indent =</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> State.Column + (Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ab817689d9226e0058764619a2a4be915" title="Always break constructor initializers before commas and align the commas with the colon...">BreakConstructorInitializersBeforeComma</a> ? 0 : 2);</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordflow">if</span> (Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a914cb53dad8427f0f59a2ac97be860b0" title="If the constructor initializers don't fit on a line, put each initializer on its own line...">ConstructorInitializerAllOnOneLineOrOnePerLine</a>)</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> State.Stack.back().AvoidBinPacking = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> State.Stack.back().BreakBeforeParameter = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> }</div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment">// In ObjC method declaration we align on the ":" of parameters, but we need</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment">// to ensure that we indent parameters on subsequent lines by at least our</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">// continuation indent width.</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430aac59d74efedf027d39f1a8e99c729d82">TT_ObjCMethodSpecifier</a>)</div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> State.Stack.back().Indent += Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0384417b961b70560004a52de799d7cc" title="Indent width for line continuations.">ContinuationIndentWidth</a>;</div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
+<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment">// Insert scopes created by fake parenthesis.</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keyword">const</span> FormatToken *Previous = Current.getPreviousNonComment();</div>
+<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="comment">// Don't add extra indentation for the first fake parenthesis after</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="comment">// 'return', assignements or opening <({[. The indentation for these cases</span></div>
+<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment">// is special cased.</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keywordtype">bool</span> SkipFirstExtraIndent =</div>
+<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> (Previous && (Previous->opensScope() || Previous->is(tok::kw_return) ||</div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> Previous->getPrecedence() == <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa796503b737e8f3e46f0c4e6c6b2c8a43">prec::Assignment</a> ||</div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> Previous->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a9d3cc1d7cf8da7870bc3589c39ae081e">TT_ObjCMethodExpr</a>));</div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="keywordflow">for</span> (SmallVectorImpl<prec::Level>::const_reverse_iterator</div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> I = Current.FakeLParens.rbegin(),</div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> E = Current.FakeLParens.rend();</div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> I != E; ++I) {</div>
+<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> ParenState NewParenState = State.Stack.back();</div>
+<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> NewParenState.ContainsLineBreak = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> </div>
+<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="comment">// Indent from 'LastSpace' unless this the fake parentheses encapsulating a</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="comment">// builder type call after 'return'. If such a call is line-wrapped, we</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="comment">// commonly just want to indent from the start of the line.</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">if</span> (!Previous || Previous->isNot(tok::kw_return) || *I > 0)</div>
+<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> NewParenState.Indent =</div>
+<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> std::max(std::max(State.Column, NewParenState.Indent),</div>
+<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> State.Stack.back().LastSpace);</div>
+<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
+<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="comment">// Do not indent relative to the fake parentheses inserted for "." or "->".</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment">// This is a special case to make the following to statements consistent:</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment">// OuterFunction(InnerFunctionCall( // break</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment">// ParameterToInnerFunction));</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment">// OuterFunction(SomeObject.InnerFunctionCall( // break</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment">// ParameterToInnerFunction));</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="keywordflow">if</span> (*I > <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa42cd826122049bf4beeda9fb3ef918f0">prec::Unknown</a>)</div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> NewParenState.LastSpace = std::max(NewParenState.LastSpace, State.Column);</div>
+<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
+<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="comment">// Always indent conditional expressions. Never indent expression where</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="comment">// the 'operator' is ',', ';' or an assignment (i.e. *I <=</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment">// prec::Assignment) as those have different indentation rules. Indent</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment">// other expression, unless the indentation needs to be skipped.</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="keywordflow">if</span> (*I == <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffac169fcf9bffce025b0554c2e64025a43">prec::Conditional</a> ||</div>
+<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> (!SkipFirstExtraIndent && *I > <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa796503b737e8f3e46f0c4e6c6b2c8a43">prec::Assignment</a> &&</div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> !Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af02c827f82aac1f6182e575004b3ea4c" title="If true, binary operators will be placed after line breaks.">BreakBeforeBinaryOperators</a>))</div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> NewParenState.Indent += Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0384417b961b70560004a52de799d7cc" title="Indent width for line continuations.">ContinuationIndentWidth</a>;</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="keywordflow">if</span> ((Previous && !Previous->opensScope()) || *I > <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa6d1c4fb4c0102e4d0ade0b662a8abf36">prec::Comma</a>)</div>
+<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> NewParenState.BreakBeforeParameter = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> State.Stack.push_back(NewParenState);</div>
+<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> SkipFirstExtraIndent = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> }</div>
+<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment">// If we encounter an opening (, [, { or <, we add a level to our stacks to</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="comment">// prepare for the following tokens.</span></div>
+<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">if</span> (Current.opensScope()) {</div>
+<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keywordtype">unsigned</span> NewIndent;</div>
+<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordtype">unsigned</span> NewIndentLevel = State.Stack.back().IndentLevel;</div>
+<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordtype">bool</span> AvoidBinPacking;</div>
+<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="keywordtype">bool</span> BreakBeforeParameter = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="keywordflow">if</span> (Current.is(tok::l_brace) ||</div>
+<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a2e3762edd81fd8c2e1d9e783484df5b8">TT_ArrayInitializerLSquare</a>) {</div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordflow">if</span> (Current.MatchingParen && Current.BlockKind == <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaac0cd3adbed48a71039a2855df3fe8036">BK_Block</a>) {</div>
+<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="comment">// If this is an l_brace starting a nested block, we pretend (wrt. to</span></div>
+<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="comment">// indentation) that we already consumed the corresponding r_brace.</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="comment">// Thus, we remove all ParenStates caused bake fake parentheses that end</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="comment">// at the r_brace. The net effect of this is that we don't indent</span></div>
+<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="comment">// relative to the l_brace, if the nested block is the last parameter of</span></div>
+<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="comment">// a function. For example, this formats:</span></div>
+<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="comment">// SomeFunction(a, [] {</span></div>
+<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="comment">// f(); // break</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="comment">// });</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="comment">// instead of:</span></div>
+<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="comment">// SomeFunction(a, [] {</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment">// f(); // break</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment">// });</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != Current.MatchingParen->FakeRParens; ++i)</div>
+<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> State.Stack.pop_back();</div>
+<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> NewIndent = State.Stack.back().LastSpace + Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0e1f96ea453f4d8fc16ab55bc31baeb2" title="The number of columns to use for indentation.">IndentWidth</a>;</div>
+<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> ++NewIndentLevel;</div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> NewIndent = State.Stack.back().LastSpace;</div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordflow">if</span> (Current.opensBlockTypeList(Style)) {</div>
+<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> NewIndent += Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0e1f96ea453f4d8fc16ab55bc31baeb2" title="The number of columns to use for indentation.">IndentWidth</a>;</div>
+<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> ++NewIndentLevel;</div>
+<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> NewIndent += Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0384417b961b70560004a52de799d7cc" title="Indent width for line continuations.">ContinuationIndentWidth</a>;</div>
+<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> }</div>
+<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> }</div>
+<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="keyword">const</span> FormatToken *NextNoComment = Current.getNextNonComment();</div>
+<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> AvoidBinPacking = Current.BlockKind == <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaac0cd3adbed48a71039a2855df3fe8036">BK_Block</a> ||</div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a2e3762edd81fd8c2e1d9e783484df5b8">TT_ArrayInitializerLSquare</a> ||</div>
+<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a1539e9e36f093ea30703159731670a0d">TT_DictLiteral</a> ||</div>
+<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> (NextNoComment &&</div>
+<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> NextNoComment->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430af3ff69cf1759e24f4f7d8f3c5ca01d69">TT_DesignatedInitializerPeriod</a>);</div>
+<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> NewIndent = Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0384417b961b70560004a52de799d7cc" title="Indent width for line continuations.">ContinuationIndentWidth</a> +</div>
+<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> std::max(State.Stack.back().LastSpace,</div>
+<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> State.Stack.back().StartOfFunctionCall);</div>
+<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> AvoidBinPacking = !Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a861528acbc8f4088e276034ce4dbbe1b" title="If false, a function call's or function definition's parameters will either all be on the same line o...">BinPackParameters</a> ||</div>
+<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> (Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5ecc064cf590382856b68c4568c0ce24" title="If true, clang-format detects whether function calls and definitions are formatted with one parameter...">ExperimentalAutoDetectBinPacking</a> &&</div>
+<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> (Current.PackingKind == <a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6af698c50de2f16b48e6eec09e447ebf99">PPK_OnePerLine</a> ||</div>
+<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> (!BinPackInconclusiveFunctions &&</div>
+<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> Current.PackingKind == <a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6aa198a0d4cbb39979341cb7388e93e97b">PPK_Inconclusive</a>)));</div>
+<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="comment">// If this '[' opens an ObjC call, determine whether all parameters fit</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment">// into one line and put one per line if they don't.</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a9d3cc1d7cf8da7870bc3589c39ae081e">TT_ObjCMethodExpr</a> &&</div>
+<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <a class="code" href="namespaceclang_1_1format.html#a44e471b03a24150fcce0a9f0d538aa0d">getLengthToMatchingParen</a>(Current) + State.Column ></div>
+<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5" title="Get the column limit for this line. This is the style's column limit, potentially reduced for preproc...">getColumnLimit</a>(State))</div>
+<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> }</div>
+<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
+<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordtype">bool</span> NoLineBreak = State.Stack.back().NoLineBreak ||</div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a34a613aee8d51353e36c166d3b674db6">TT_TemplateOpener</a> &&</div>
+<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> State.Stack.back().ContainsUnwrappedBuilder);</div>
+<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> State.Stack.push_back(ParenState(NewIndent, NewIndentLevel,</div>
+<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> State.Stack.back().LastSpace,</div>
+<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> AvoidBinPacking, NoLineBreak));</div>
+<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> State.Stack.back().BreakBeforeParameter = BreakBeforeParameter;</div>
+<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> ++State.ParenLevel;</div>
+<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> }</div>
+<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div>
+<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="comment">// If we encounter a closing ), ], } or >, we can remove a level from our</span></div>
+<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="comment">// stacks.</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordflow">if</span> (State.Stack.size() > 1 &&</div>
+<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> (Current.isOneOf(tok::r_paren, tok::r_square) ||</div>
+<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> (Current.is(tok::r_brace) && State.NextToken != State.Line->First) ||</div>
+<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> State.NextToken->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ae0f5f7054e11f208cdde909bce37ab92">TT_TemplateCloser</a>)) {</div>
+<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> State.Stack.pop_back();</div>
+<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> --State.ParenLevel;</div>
+<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> }</div>
+<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keywordflow">if</span> (Current.is(tok::r_square)) {</div>
+<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment">// If this ends the array subscript expr, reset the corresponding value.</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keyword">const</span> FormatToken *NextNonComment = Current.getNextNonComment();</div>
+<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="keywordflow">if</span> (NextNonComment && NextNonComment->isNot(tok::l_square))</div>
+<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> State.Stack.back().StartOfArraySubscripts = 0;</div>
+<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div>
+<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div>
+<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="comment">// Remove scopes created by fake parenthesis.</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="keywordflow">if</span> (Current.isNot(tok::r_brace) ||</div>
+<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> (Current.MatchingParen && Current.MatchingParen->BlockKind != <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaac0cd3adbed48a71039a2855df3fe8036">BK_Block</a>)) {</div>
+<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="comment">// Don't remove FakeRParens attached to r_braces that surround nested blocks</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="comment">// as they will have been removed early (see above).</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = Current.FakeRParens; i != e; ++i) {</div>
+<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordtype">unsigned</span> VariablePos = State.Stack.back().VariablePos;</div>
+<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> State.Stack.pop_back();</div>
+<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> State.Stack.back().VariablePos = VariablePos;</div>
+<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> }</div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> }</div>
+<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
+<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keywordflow">if</span> (Current.is(tok::string_literal) && State.StartOfStringLiteral == 0) {</div>
+<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> State.StartOfStringLiteral = State.Column;</div>
+<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!Current.isOneOf(tok::comment, tok::identifier, tok::hash,</div>
+<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> tok::string_literal)) {</div>
+<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> State.StartOfStringLiteral = 0;</div>
+<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> }</div>
+<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div>
+<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> State.Column += Current.ColumnWidth;</div>
+<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> State.NextToken = State.NextToken->Next;</div>
+<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordtype">unsigned</span> Penalty = breakProtrudingToken(Current, State, DryRun);</div>
+<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">if</span> (State.Column > <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5" title="Get the column limit for this line. This is the style's column limit, potentially reduced for preproc...">getColumnLimit</a>(State)) {</div>
+<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="keywordtype">unsigned</span> ExcessCharacters = State.Column - <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5" title="Get the column limit for this line. This is the style's column limit, potentially reduced for preproc...">getColumnLimit</a>(State);</div>
+<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> Penalty += Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7f2b485ba27597314723b0b11e47f099" title="The penalty for each character outside of the column limit.">PenaltyExcessCharacter</a> * ExcessCharacters;</div>
+<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> }</div>
+<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div>
+<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="comment">// If the previous has a special role, let it consume tokens as appropriate.</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="comment">// It is necessary to start at the previous token for the only implemented</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment">// role (comma separated list). That way, the decision whether or not to break</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="comment">// after the "{" is already done and both options are tried and evaluated.</span></div>
+<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="comment">// FIXME: This is ugly, find a better way.</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="keywordflow">if</span> (Previous && Previous->Role)</div>
+<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> Penalty += Previous->Role->format(State, <span class="keyword">this</span>, DryRun);</div>
+<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div>
+<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keywordflow">return</span> Penalty;</div>
+<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> }</div>
+<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div>
+<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordtype">unsigned</span> ContinuationIndenter::addMultilineToken(<span class="keyword">const</span> FormatToken &Current,</div>
+<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> LineState &State) {</div>
+<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="comment">// Break before further function parameters on all levels.</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = State.Stack.size(); i != e; ++i)</div>
+<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> State.Stack[i].BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
+<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keywordtype">unsigned</span> ColumnsUsed = State.Column;</div>
+<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="comment">// We can only affect layout of the first and the last line, so the penalty</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="comment">// for all other lines is constant, and we ignore it.</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> State.Column = Current.LastLineColumnWidth;</div>
+<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div>
+<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <a class="code" href="mm__malloc_8h.html#a682140772a1d7d2744289e6abb2ad2ff">if</a> (ColumnsUsed > <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5" title="Get the column limit for this line. This is the style's column limit, potentially reduced for preproc...">getColumnLimit</a>(State))</div>
+<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordflow">return</span> Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7f2b485ba27597314723b0b11e47f099" title="The penalty for each character outside of the column limit.">PenaltyExcessCharacter</a> * (ColumnsUsed - <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5" title="Get the column limit for this line. This is the style's column limit, potentially reduced for preproc...">getColumnLimit</a>(State));</div>
+<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> }</div>
+<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div>
+<div class="line"><a name="l00699"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#ae6e9fa9f327ffd270755562dba7347d3"> 699</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1format.html#ae6e9fa9f327ffd270755562dba7347d3">getRawStringLiteralPrefixPostfix</a>(StringRef Text,</div>
+<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> StringRef &Prefix,</div>
+<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> StringRef &Postfix) {</div>
+<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">if</span> (Text.startswith(Prefix = <span class="stringliteral">"R\""</span>) || Text.startswith(Prefix = <span class="stringliteral">"uR\""</span>) ||</div>
+<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> Text.startswith(Prefix = <span class="stringliteral">"UR\""</span>) || Text.startswith(Prefix = <span class="stringliteral">"u8R\""</span>) ||</div>
+<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> Text.startswith(Prefix = <span class="stringliteral">"LR\""</span>)) {</div>
+<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keywordtype">size_t</span> ParenPos = Text.find(<span class="charliteral">'('</span>);</div>
+<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordflow">if</span> (ParenPos != StringRef::npos) {</div>
+<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> StringRef Delimiter =</div>
+<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> Text.substr(Prefix.size(), ParenPos - Prefix.size());</div>
+<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> Prefix = Text.substr(0, ParenPos + 1);</div>
+<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> Postfix = Text.substr(Text.size() - 2 - Delimiter.size());</div>
+<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="keywordflow">return</span> Postfix.front() == <span class="charliteral">')'</span> && Postfix.back() == <span class="charliteral">'"'</span> &&</div>
+<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> Postfix.substr(1).startswith(Delimiter);</div>
+<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> }</div>
+<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> }</div>
+<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> }</div>
+<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div>
+<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keywordtype">unsigned</span> ContinuationIndenter::breakProtrudingToken(<span class="keyword">const</span> FormatToken &Current,</div>
+<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> LineState &State,</div>
+<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="keywordtype">bool</span> DryRun) {</div>
+<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="comment">// Don't break multi-line tokens other than block comments. Instead, just</span></div>
+<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="comment">// update the state.</span></div>
+<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="keywordflow">if</span> (Current.Type != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a859fe314630fc3f13b072c9ad016de0e">TT_BlockComment</a> && Current.IsMultiline)</div>
+<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keywordflow">return</span> addMultilineToken(Current, State);</div>
+<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
+<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="comment">// Don't break implicit string literals.</span></div>
+<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ab8c273d0514d57f2acdd371ff781e28a">TT_ImplicitStringLiteral</a>)</div>
+<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div>
+<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="keywordflow">if</span> (!Current.isOneOf(tok::string_literal, tok::wide_string_literal,</div>
+<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> tok::utf8_string_literal, tok::utf16_string_literal,</div>
+<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> tok::utf32_string_literal, tok::comment))</div>
+<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
+<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <a class="code" href="classllvm_1_1OwningPtr.html">llvm::OwningPtr<BreakableToken></a> <a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>;</div>
+<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="keywordtype">unsigned</span> StartColumn = State.Column - Current.ColumnWidth;</div>
+<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="keywordtype">unsigned</span> ColumnLimit = <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5" title="Get the column limit for this line. This is the style's column limit, potentially reduced for preproc...">getColumnLimit</a>(State);</div>
+<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
+<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="keywordflow">if</span> (Current.isOneOf(tok::string_literal, tok::wide_string_literal,</div>
+<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> tok::utf8_string_literal, tok::utf16_string_literal,</div>
+<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> tok::utf32_string_literal) &&</div>
+<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> Current.Type != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ab8c273d0514d57f2acdd371ff781e28a">TT_ImplicitStringLiteral</a>) {</div>
+<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="comment">// Don't break string literals inside preprocessor directives (except for</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="comment">// #define directives, as their contents are stored in separate lines and</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="comment">// are not affected by this check).</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="comment">// This way we avoid breaking code with line directives and unknown</span></div>
+<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="comment">// preprocessor directives that contain long string literals.</span></div>
+<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordflow">if</span> (State.Line->Type == <a class="code" href="namespaceclang_1_1format.html#af1aa248193ce0aa256a43af928d62171adb46bb49ded6cdf9747d8d17cf5c482c">LT_PreprocessorDirective</a>)</div>
+<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="comment">// Exempts unterminated string literals from line breaking. The user will</span></div>
+<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="comment">// likely want to terminate the string before any line breaking is done.</span></div>
+<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">if</span> (Current.IsUnterminatedLiteral)</div>
+<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> </div>
+<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> StringRef Text = Current.TokenText;</div>
+<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> StringRef Prefix;</div>
+<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> StringRef Postfix;</div>
+<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment">// FIXME: Handle whitespace between '_T', '(', '"..."', and ')'.</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment">// FIXME: Store Prefix and Suffix (or PrefixLength and SuffixLength to</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="comment">// reduce the overhead) for each FormatToken, which is a string, so that we</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="comment">// don't run multiple checks here on the hot path.</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="keywordflow">if</span> ((Text.endswith(Postfix = <span class="stringliteral">"\""</span>) &&</div>
+<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> (Text.startswith(Prefix = <span class="stringliteral">"\""</span>) || Text.startswith(Prefix = <span class="stringliteral">"u\""</span>) ||</div>
+<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> Text.startswith(Prefix = <span class="stringliteral">"U\""</span>) || Text.startswith(Prefix = <span class="stringliteral">"u8\""</span>) ||</div>
+<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> Text.startswith(Prefix = <span class="stringliteral">"L\""</span>))) ||</div>
+<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> (Text.startswith(Prefix = <span class="stringliteral">"_T(\""</span>) && Text.endswith(Postfix = <span class="stringliteral">"\")"</span>)) ||</div>
+<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <a class="code" href="namespaceclang_1_1format.html#ae6e9fa9f327ffd270755562dba7347d3">getRawStringLiteralPrefixPostfix</a>(Text, Prefix, Postfix)) {</div>
+<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> Token.reset(<span class="keyword">new</span> BreakableStringLiteral(</div>
+<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> Current, State.Line->Level, StartColumn, Prefix, Postfix,</div>
+<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> State.Line->InPPDirective, Encoding, Style));</div>
+<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> }</div>
+<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a859fe314630fc3f13b072c9ad016de0e">TT_BlockComment</a> && Current.isTrailingComment()) {</div>
+<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> Token.reset(<span class="keyword">new</span> BreakableBlockComment(</div>
+<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> Current, State.Line->Level, StartColumn, Current.OriginalColumn,</div>
+<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> !Current.Previous, State.Line->InPPDirective, Encoding, Style));</div>
+<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Current.Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a83fdf1f81a2b707b6a6f0203a186b3d6">TT_LineComment</a> &&</div>
+<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> (Current.Previous == <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> ||</div>
+<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> Current.Previous->Type != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ab8c273d0514d57f2acdd371ff781e28a">TT_ImplicitStringLiteral</a>)) {</div>
+<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> Token.reset(<span class="keyword">new</span> BreakableLineComment(Current, State.Line->Level,</div>
+<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> StartColumn, <span class="comment">/*InPPDirective=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> Encoding, Style));</div>
+<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="comment">// We don't insert backslashes when breaking line comments.</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> ColumnLimit = Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a>;</div>
+<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> }</div>
+<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">if</span> (Current.UnbreakableTailLength >= ColumnLimit)</div>
+<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> </div>
+<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordtype">unsigned</span> RemainingSpace = ColumnLimit - Current.UnbreakableTailLength;</div>
+<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keywordtype">bool</span> BreakInserted = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">unsigned</span> Penalty = 0;</div>
+<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">unsigned</span> RemainingTokenColumns = 0;</div>
+<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> LineIndex = 0, EndIndex = Token->getLineCount();</div>
+<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> LineIndex != EndIndex; ++LineIndex) {</div>
+<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="keywordflow">if</span> (!DryRun)</div>
+<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> Token->replaceWhitespaceBefore(LineIndex, Whitespaces);</div>
+<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="keywordtype">unsigned</span> TailOffset = 0;</div>
+<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> RemainingTokenColumns =</div>
+<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> Token->getLineLengthAfterSplit(LineIndex, TailOffset, StringRef::npos);</div>
+<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">while</span> (RemainingTokenColumns > RemainingSpace) {</div>
+<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a> Split =</div>
+<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> Token->getSplit(LineIndex, TailOffset, ColumnLimit);</div>
+<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="keywordflow">if</span> (Split.first == StringRef::npos) {</div>
+<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="comment">// The last line's penalty is handled in addNextStateToQueue().</span></div>
+<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">if</span> (LineIndex < EndIndex - 1)</div>
+<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> Penalty += Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7f2b485ba27597314723b0b11e47f099" title="The penalty for each character outside of the column limit.">PenaltyExcessCharacter</a> *</div>
+<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> (RemainingTokenColumns - RemainingSpace);</div>
+<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> }</div>
+<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> assert(Split.first != 0);</div>
+<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="keywordtype">unsigned</span> NewRemainingTokenColumns = Token->getLineLengthAfterSplit(</div>
+<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> LineIndex, TailOffset + Split.first + Split.second, StringRef::npos);</div>
+<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div>
+<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="comment">// We can remove extra whitespace instead of breaking the line.</span></div>
+<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keywordflow">if</span> (RemainingTokenColumns + 1 - Split.second <= RemainingSpace) {</div>
+<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> RemainingTokenColumns = 0;</div>
+<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="keywordflow">if</span> (!DryRun)</div>
+<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> Token->replaceWhitespace(LineIndex, TailOffset, Split, Whitespaces);</div>
+<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> }</div>
+<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> </div>
+<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> assert(NewRemainingTokenColumns < RemainingTokenColumns);</div>
+<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="keywordflow">if</span> (!DryRun)</div>
+<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> Token->insertBreak(LineIndex, TailOffset, Split, Whitespaces);</div>
+<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> Penalty += Current.SplitPenalty;</div>
+<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordtype">unsigned</span> ColumnsUsed =</div>
+<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> Token->getLineLengthAfterSplit(LineIndex, TailOffset, Split.first);</div>
+<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordflow">if</span> (ColumnsUsed > ColumnLimit) {</div>
+<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> Penalty += Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7f2b485ba27597314723b0b11e47f099" title="The penalty for each character outside of the column limit.">PenaltyExcessCharacter</a> * (ColumnsUsed - ColumnLimit);</div>
+<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> }</div>
+<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> TailOffset += Split.first + Split.second;</div>
+<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> RemainingTokenColumns = NewRemainingTokenColumns;</div>
+<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> BreakInserted = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> }</div>
+<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> }</div>
+<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div>
+<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> State.Column = RemainingTokenColumns;</div>
+<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div>
+<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="keywordflow">if</span> (BreakInserted) {</div>
+<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="comment">// If we break the token inside a parameter list, we need to break before</span></div>
+<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="comment">// the next parameter on all levels, so that the next parameter is clearly</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="comment">// visible. Line comments already introduce a break.</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="keywordflow">if</span> (Current.Type != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a83fdf1f81a2b707b6a6f0203a186b3d6">TT_LineComment</a>) {</div>
+<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = State.Stack.size(); i != e; ++i)</div>
+<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> State.Stack[i].BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> }</div>
+<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> </div>
+<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> Penalty += Current.is(tok::string_literal) ? Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ade360c8aa3ede11110a1e13d31a7516f" title="The penalty for each line break introduced inside a string literal.">PenaltyBreakString</a></div>
+<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> : Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ae6b9c9cefa83f57a7075e9115bceac5c" title="The penalty for each line break introduced inside a comment.">PenaltyBreakComment</a>;</div>
+<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div>
+<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> State.Stack.back().LastSpace = StartColumn;</div>
+<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> }</div>
+<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> <span class="keywordflow">return</span> Penalty;</div>
+<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> }</div>
+<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div>
+<div class="line"><a name="l00859"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5"> 859</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5" title="Get the column limit for this line. This is the style's column limit, potentially reduced for preproc...">ContinuationIndenter::getColumnLimit</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> <span class="comment">// In preprocessor directives reserve two chars for trailing " \"</span></div>
+<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> <span class="keywordflow">return</span> Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a> - (State.<a class="code" href="structclang_1_1format_1_1LineState.html#a393cd89e06b3cc75e87d9524fad50b06" title="The line that is being formatted.">Line</a>-><a class="code" href="classclang_1_1format_1_1AnnotatedLine.html#a3550dbd6af21466ee68183d34f213cbf">InPPDirective</a> ? 2 : 0);</div>
+<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> }</div>
+<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div>
+<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keywordtype">bool</span> ContinuationIndenter::NextIsMultilineString(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State) {</div>
+<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &Current = *State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>;</div>
+<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> <span class="keywordflow">if</span> (!Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::string_literal))</div>
+<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="comment">// We never consider raw string literals "multiline" for the purpose of</span></div>
+<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> <span class="comment">// AlwaysBreakBeforeMultilineStrings implementation.</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>.startswith(<span class="stringliteral">"R\""</span>))</div>
+<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a70bb88056e95d29a53586f074baa21b4" title="Whether the token text contains newlines (escaped or not).">IsMultiline</a>)</div>
+<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="keywordflow">if</span> (Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#af553e2911fcfe2ee149a158cf2ae6bed" title="Returns the next token ignoring comments.">getNextNonComment</a>() &&</div>
+<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#af553e2911fcfe2ee149a158cf2ae6bed" title="Returns the next token ignoring comments.">getNextNonComment</a>()-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::string_literal))</div>
+<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="comment">// Implicit concatenation.</span></div>
+<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="keywordflow">if</span> (State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> + Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a> + Current.<a class="code" href="structclang_1_1format_1_1FormatToken.html#ab404887ac13f8c9a424887e936d3290b" title="The length of following tokens until the next natural split point, or the next token that can be brok...">UnbreakableTailLength</a> ></div>
+<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a>)</div>
+<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="comment">// String will be split.</span></div>
+<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> }</div>
+<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div>
+<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> } <span class="comment">// namespace format</span></div>
+<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> } <span class="comment">// namespace clang</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: ContinuationIndenter.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li><li class="navelem"><a class="el" href="dir_44489bf775064c0a1fac45ff4ce7e6b1.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">ContinuationIndenter.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="ContinuationIndenter_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> /home/tstellar/llvm/tools/clang/lib/Format/Release+Asserts/ContinuationIndenter.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Format/Release+Asserts/ContinuationIndenter.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> ContinuationIndenter.cpp BreakableToken.h <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/Support/ConvertUTF.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/include/llvm/Support/Unicode.h TokenAnnotator.h \
+ UnwrappedLineParser.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Format/Format.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendAction.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Refactoring.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Tooling.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/ArgumentsAdjusters.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/CompilationDatabase.h \
+ FormatToken.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorPrecedence.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TemplateKinds.h \
+ WhitespaceManager.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/include/llvm-c/Core.h ContinuationIndenter.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/include/llvm/Support/Debug.h</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> BreakableToken.h:</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>.h:</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/include/llvm/Support/ConvertUTF.h:</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/include/llvm/Support/Unicode.h:</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> TokenAnnotator.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> UnwrappedLineParser.h:</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Format/Format.h:</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendAction.h:</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendOptions.h:</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/CommandLineSourceLoc.h:</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Refactoring.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Tooling.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Driver/Util.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/ArgumentsAdjusters.h:</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/CompilationDatabase.h:</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> FormatToken.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorPrecedence.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> WhitespaceManager.h:</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> ContinuationIndenter.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> /home/tstellar/llvm/include/llvm/Support/Debug.h:</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuationIndenter_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,406 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: ContinuationIndenter.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">ContinuationIndenter.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="ContinuationIndenter_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===--- ContinuationIndenter.h - Format C++ code ---------------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">/// \brief This file implements an indenter that manages the indentation of</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">/// continuations.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#ifndef LLVM_CLANG_FORMAT_CONTINUATION_INDENTER_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_FORMAT_CONTINUATION_INDENTER_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="Encoding_8h.html" title="Contains functions for text encoding manipulation. Supports UTF-8, 8-bit encodings and escape sequenc...">Encoding.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="Format_8h.html">clang/Format/Format.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">class </span>SourceManager;</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">namespace </span>format {</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">class </span>AnnotatedLine;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">struct </span>FormatToken;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">struct </span>LineState;</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">struct </span>ParenState;</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">class </span>WhitespaceManager;</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html"> 33</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html">ContinuationIndenter</a> {</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> /// \brief Constructs a \c ContinuationIndenter to format \p Line starting in</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> /// column \p FirstIndent.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"></span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a1f71879b6c1b1ead29c1a856bcf52001" title="Constructs a ContinuationIndenter to format Line starting in column FirstIndent.">ContinuationIndenter</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &Style, <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &SourceMgr,</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &Whitespaces,</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> Encoding,</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">bool</span> BinPackInconclusiveFunctions);</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"></span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> /// \brief Get the initial state, i.e. the state after placing \p Line's</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> /// first token at \p FirstIndent.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"></span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a2ecbffc86ea0dd8a90eefcad801b10d5" title="Get the initial state, i.e. the state after placing Line's first token at FirstIndent.">getInitialState</a>(<span class="keywordtype">unsigned</span> FirstIndent, <span class="keyword">const</span> <a class="code" href="classclang_1_1format_1_1AnnotatedLine.html">AnnotatedLine</a> *<a class="code" href="TokenAnnotator_8cpp.html#a0d95c6acfc477accd6ff1b1ca93c82cc">Line</a>,</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">bool</span> DryRun);</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// FIXME: canBreak and mustBreak aren't strictly indentation-related. Find a</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// better home.</span><span class="comment"></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> /// \brief Returns \c true, if a line break after \p State is allowed.</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a021d360c4c93b0ba0f9057a372880855" title="Returns true, if a line break after State is allowed.">canBreak</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>);</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"></span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> /// \brief Returns \c true, if a line break after \p State is mandatory.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#aaa149e0166fb78afc728af02ebf69e75" title="Returns true, if a line break after State is mandatory.">mustBreak</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State);</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"></span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> /// \brief Appends the next token to \p State and updates information</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> /// necessary for indentation.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> /// Puts the token on the current line if \p Newline is \c false and adds a</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> /// line break and necessary indentation otherwise.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> /// If \p DryRun is \c false, also creates and stores the required</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> /// \c Replacement.</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a556415a6f3870120dac6b0b2849e6083" title="Appends the next token to State and updates information necessary for indentation.">addTokenToState</a>(<a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State, <span class="keywordtype">bool</span> Newline, <span class="keywordtype">bool</span> DryRun,</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">unsigned</span> ExtraSpaces = 0);</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"></span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> /// \brief Get the column limit for this line. This is the style's column</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> /// limit, potentially reduced for preprocessor definitions.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#ac35e3279cc48b90259bea2c56beec1c5" title="Get the column limit for this line. This is the style's column limit, potentially reduced for preproc...">getColumnLimit</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> /// \brief Mark the next token as consumed in \p State and modify its stacks</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> /// accordingly.</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> moveStateToNextToken(<a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State, <span class="keywordtype">bool</span> DryRun, <span class="keywordtype">bool</span> Newline);</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"></span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> /// \brief If the current token sticks out over the end of the line, break</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> /// it if possible.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> /// \returns An extra penalty if a token was broken, otherwise 0.</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> /// The returned penalty will cover the cost of the additional line breaks and</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> /// column limit violation in all lines except for the last one. The penalty</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> /// for the column limit violation in the last line (and in single line</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> /// tokens) is handled in \c addNextStateToQueue.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> breakProtrudingToken(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="TokenAnnotator_8cpp.html#af9dd7352b5e730aa8ddb81784035c434">Current</a>, <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State,</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">bool</span> DryRun);</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"></span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> /// \brief Appends the next token to \p State and updates information</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> /// necessary for indentation.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> /// Puts the token on the current line.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> /// If \p DryRun is \c false, also creates and stores the required</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> /// \c Replacement.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"></span> <span class="keywordtype">void</span> addTokenOnCurrentLine(<a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State, <span class="keywordtype">bool</span> DryRun,</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">unsigned</span> ExtraSpaces);</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> /// \brief Appends the next token to \p State and updates information</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> /// necessary for indentation.</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> /// Adds a line break and necessary indentation.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> /// If \p DryRun is \c false, also creates and stores the required</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> /// \c Replacement.</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> addTokenOnNewLine(<a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State, <span class="keywordtype">bool</span> DryRun);</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"></span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"> /// \brief Adds a multiline token to the \p State.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// \returns Extra penalty for the first line of the literal: last line is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> /// handled in \c addNextStateToQueue, and the penalty for other lines doesn't</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// matter, as we don't change them.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> addMultilineToken(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &Current, <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State);</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"></span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> /// \brief Returns \c true if the next token starts a multiline string</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> /// literal.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /// This includes implicitly concatenated strings, strings that will be broken</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> /// by clang-format and string literals with escaped newlines.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"></span> <span class="keywordtype">bool</span> NextIsMultilineString(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &State);</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> Style;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &SourceMgr;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &Whitespaces;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> Encoding;</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">bool</span> BinPackInconclusiveFunctions;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> };</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html"> 127</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1format_1_1ParenState.html">ParenState</a> {</div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#ad472870ff1a0a656022e920eb76cbe8b"> 128</a></span> <a class="code" href="structclang_1_1format_1_1ParenState.html#ad472870ff1a0a656022e920eb76cbe8b">ParenState</a>(<span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a287a19d56a9f27d43b56f60647477547" title="The position to which a specific parenthesis level needs to be indented.">Indent</a>, <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a89ac52b1d139468aa3351c7c06365598" title="The number of indentation levels of the block.">IndentLevel</a>, <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a65f71ead4168f62e6edb7a3ca67a1412" title="The position of the last space on each level.">LastSpace</a>,</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a150b7ce6c1da1df456830456d2e9d9b1" title="Avoid bin packing, i.e. multiple parameters/elements on multiple lines, in this context.">AvoidBinPacking</a>, <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a66a14b447a94a56dac4412cdd2dcca0c" title="Line breaking in this context would break a formatting rule.">NoLineBreak</a>)</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> : Indent(Indent), IndentLevel(IndentLevel), LastSpace(LastSpace),</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a5ba8a0ac16e54759fe793e6b0d4c3dd2" title="The position the first "<<" operator encountered on each level.">FirstLessLess</a>(0), <a class="code" href="structclang_1_1format_1_1ParenState.html#a578f9ff9f8c457c6cee06232bef962b8" title="Whether a newline needs to be inserted before the block's closing brace.">BreakBeforeClosingBrace</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="structclang_1_1format_1_1ParenState.html#a6732975bff1539f7edca598ebb856886" title="The column of a ? in a conditional expression;.">QuestionColumn</a>(0),</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> AvoidBinPacking(AvoidBinPacking), <a class="code" href="structclang_1_1format_1_1ParenState.html#a395fbd6d9a539ddb2738f7480dcaa7c2" title="Break after the next comma (or all the commas in this context if AvoidBinPacking is true)...">BreakBeforeParameter</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> NoLineBreak(NoLineBreak), <a class="code" href="structclang_1_1format_1_1ParenState.html#a94bb80698fe00ea804544fe76e602664" title="The position of the colon in an ObjC method declaration/call.">ColonPos</a>(0), <a class="code" href="structclang_1_1format_1_1ParenState.html#a6e080d9eaf7264e34b7b215fd8bf1b89" title="The start of the most recent function in a builder-type call.">StartOfFunctionCall</a>(0),</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#ab1976c3f16ad42b035c22d50449be773" title="Contains the start of array subscript expressions, so that they can be aligned.">StartOfArraySubscripts</a>(0), <a class="code" href="structclang_1_1format_1_1ParenState.html#a168ae1c25de8c1ba931b7c6dc1335e98" title="If a nested name specifier was broken over multiple lines, this contains the start column of the seco...">NestedNameSpecifierContinuation</a>(0),</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#ae5d68d1d32dc8b840027aeaf02d5cb8e" title="If a call expression was broken over multiple lines, this contains the start column of the second lin...">CallContinuation</a>(0), <a class="code" href="structclang_1_1format_1_1ParenState.html#a641f24f932478f8375905e68baeb1897" title="The column of the first variable name in a variable declaration.">VariablePos</a>(0), <a class="code" href="structclang_1_1format_1_1ParenState.html#aa6aa6a9a422e217619ae4955e32c437a" title="true if this ParenState already contains a line-break.">ContainsLineBreak</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a912821652908bfc6929d04844cab2765" title="true if this ParenState contains multiple segments of a builder-type call on one line.">ContainsUnwrappedBuilder</a>(0) {}</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"></span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> /// \brief The position to which a specific parenthesis level needs to be</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> /// indented.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a287a19d56a9f27d43b56f60647477547"> 140</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a287a19d56a9f27d43b56f60647477547" title="The position to which a specific parenthesis level needs to be indented.">Indent</a>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"></span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> /// \brief The number of indentation levels of the block.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a89ac52b1d139468aa3351c7c06365598"> 143</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a89ac52b1d139468aa3351c7c06365598" title="The number of indentation levels of the block.">IndentLevel</a>;</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> /// \brief The position of the last space on each level.</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> /// Used e.g. to break like:</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> /// functionCall(Parameter, otherCall(</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"> /// OtherParameter));</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a65f71ead4168f62e6edb7a3ca67a1412"> 150</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a65f71ead4168f62e6edb7a3ca67a1412" title="The position of the last space on each level.">LastSpace</a>;</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"></span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> /// \brief The position the first "<<" operator encountered on each level.</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> /// Used to align "<<" operators. 0 if no such operator has been encountered</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> /// on a level.</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a5ba8a0ac16e54759fe793e6b0d4c3dd2"> 156</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a5ba8a0ac16e54759fe793e6b0d4c3dd2" title="The position the first "<<" operator encountered on each level.">FirstLessLess</a>;</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"></span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> /// \brief Whether a newline needs to be inserted before the block's closing</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> /// brace.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> /// We only want to insert a newline before the closing brace if there also</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> /// was a newline after the beginning left brace.</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a578f9ff9f8c457c6cee06232bef962b8"> 163</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a578f9ff9f8c457c6cee06232bef962b8" title="Whether a newline needs to be inserted before the block's closing brace.">BreakBeforeClosingBrace</a>;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"></span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> /// \brief The column of a \c ? in a conditional expression;</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a6732975bff1539f7edca598ebb856886"> 166</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a6732975bff1539f7edca598ebb856886" title="The column of a ? in a conditional expression;.">QuestionColumn</a>;</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"></span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> /// \brief Avoid bin packing, i.e. multiple parameters/elements on multiple</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> /// lines, in this context.</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a150b7ce6c1da1df456830456d2e9d9b1"> 170</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a150b7ce6c1da1df456830456d2e9d9b1" title="Avoid bin packing, i.e. multiple parameters/elements on multiple lines, in this context.">AvoidBinPacking</a>;</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"></span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> /// \brief Break after the next comma (or all the commas in this context if</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> /// \c AvoidBinPacking is \c true).</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a395fbd6d9a539ddb2738f7480dcaa7c2"> 174</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a395fbd6d9a539ddb2738f7480dcaa7c2" title="Break after the next comma (or all the commas in this context if AvoidBinPacking is true)...">BreakBeforeParameter</a>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"></span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> /// \brief Line breaking in this context would break a formatting rule.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a66a14b447a94a56dac4412cdd2dcca0c"> 177</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a66a14b447a94a56dac4412cdd2dcca0c" title="Line breaking in this context would break a formatting rule.">NoLineBreak</a>;</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"></span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> /// \brief The position of the colon in an ObjC method declaration/call.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a94bb80698fe00ea804544fe76e602664"> 180</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a94bb80698fe00ea804544fe76e602664" title="The position of the colon in an ObjC method declaration/call.">ColonPos</a>;</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"></span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"> /// \brief The start of the most recent function in a builder-type call.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a6e080d9eaf7264e34b7b215fd8bf1b89"> 183</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a6e080d9eaf7264e34b7b215fd8bf1b89" title="The start of the most recent function in a builder-type call.">StartOfFunctionCall</a>;</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"></span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> /// \brief Contains the start of array subscript expressions, so that they</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> /// can be aligned.</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#ab1976c3f16ad42b035c22d50449be773"> 187</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#ab1976c3f16ad42b035c22d50449be773" title="Contains the start of array subscript expressions, so that they can be aligned.">StartOfArraySubscripts</a>;</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"></span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> /// \brief If a nested name specifier was broken over multiple lines, this</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> /// contains the start column of the second line. Otherwise 0.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a168ae1c25de8c1ba931b7c6dc1335e98"> 191</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a168ae1c25de8c1ba931b7c6dc1335e98" title="If a nested name specifier was broken over multiple lines, this contains the start column of the seco...">NestedNameSpecifierContinuation</a>;</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"></span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> /// \brief If a call expression was broken over multiple lines, this</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> /// contains the start column of the second line. Otherwise 0.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#ae5d68d1d32dc8b840027aeaf02d5cb8e"> 195</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#ae5d68d1d32dc8b840027aeaf02d5cb8e" title="If a call expression was broken over multiple lines, this contains the start column of the second lin...">CallContinuation</a>;</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"></span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> /// \brief The column of the first variable name in a variable declaration.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> /// Used to align further variables if necessary.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a641f24f932478f8375905e68baeb1897"> 200</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a641f24f932478f8375905e68baeb1897" title="The column of the first variable name in a variable declaration.">VariablePos</a>;</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"></span></div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> /// \brief \c true if this \c ParenState already contains a line-break.</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> /// The first line break in a certain \c ParenState causes extra penalty so</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> /// that clang-format prefers similar breaks, i.e. breaks in the same</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> /// parenthesis.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#aa6aa6a9a422e217619ae4955e32c437a"> 207</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#aa6aa6a9a422e217619ae4955e32c437a" title="true if this ParenState already contains a line-break.">ContainsLineBreak</a>;</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"></span></div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> /// \brief \c true if this \c ParenState contains multiple segments of a</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> /// builder-type call on one line.</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a912821652908bfc6929d04844cab2765"> 211</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a912821652908bfc6929d04844cab2765" title="true if this ParenState contains multiple segments of a builder-type call on one line.">ContainsUnwrappedBuilder</a>;</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1ParenState.html#a62f27419533d537491fa2e0913feaced"> 213</a></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a62f27419533d537491fa2e0913feaced">operator<</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1ParenState.html">ParenState</a> &Other)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a287a19d56a9f27d43b56f60647477547" title="The position to which a specific parenthesis level needs to be indented.">Indent</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a287a19d56a9f27d43b56f60647477547" title="The position to which a specific parenthesis level needs to be indented.">Indent</a>)</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a287a19d56a9f27d43b56f60647477547" title="The position to which a specific parenthesis level needs to be indented.">Indent</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a287a19d56a9f27d43b56f60647477547" title="The position to which a specific parenthesis level needs to be indented.">Indent</a>;</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a65f71ead4168f62e6edb7a3ca67a1412" title="The position of the last space on each level.">LastSpace</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a65f71ead4168f62e6edb7a3ca67a1412" title="The position of the last space on each level.">LastSpace</a>)</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a65f71ead4168f62e6edb7a3ca67a1412" title="The position of the last space on each level.">LastSpace</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a65f71ead4168f62e6edb7a3ca67a1412" title="The position of the last space on each level.">LastSpace</a>;</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a5ba8a0ac16e54759fe793e6b0d4c3dd2" title="The position the first "<<" operator encountered on each level.">FirstLessLess</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a5ba8a0ac16e54759fe793e6b0d4c3dd2" title="The position the first "<<" operator encountered on each level.">FirstLessLess</a>)</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a5ba8a0ac16e54759fe793e6b0d4c3dd2" title="The position the first "<<" operator encountered on each level.">FirstLessLess</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a5ba8a0ac16e54759fe793e6b0d4c3dd2" title="The position the first "<<" operator encountered on each level.">FirstLessLess</a>;</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a578f9ff9f8c457c6cee06232bef962b8" title="Whether a newline needs to be inserted before the block's closing brace.">BreakBeforeClosingBrace</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a578f9ff9f8c457c6cee06232bef962b8" title="Whether a newline needs to be inserted before the block's closing brace.">BreakBeforeClosingBrace</a>)</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a578f9ff9f8c457c6cee06232bef962b8" title="Whether a newline needs to be inserted before the block's closing brace.">BreakBeforeClosingBrace</a>;</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a6732975bff1539f7edca598ebb856886" title="The column of a ? in a conditional expression;.">QuestionColumn</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a6732975bff1539f7edca598ebb856886" title="The column of a ? in a conditional expression;.">QuestionColumn</a>)</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a6732975bff1539f7edca598ebb856886" title="The column of a ? in a conditional expression;.">QuestionColumn</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a6732975bff1539f7edca598ebb856886" title="The column of a ? in a conditional expression;.">QuestionColumn</a>;</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a150b7ce6c1da1df456830456d2e9d9b1" title="Avoid bin packing, i.e. multiple parameters/elements on multiple lines, in this context.">AvoidBinPacking</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a150b7ce6c1da1df456830456d2e9d9b1" title="Avoid bin packing, i.e. multiple parameters/elements on multiple lines, in this context.">AvoidBinPacking</a>)</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a150b7ce6c1da1df456830456d2e9d9b1" title="Avoid bin packing, i.e. multiple parameters/elements on multiple lines, in this context.">AvoidBinPacking</a>;</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a395fbd6d9a539ddb2738f7480dcaa7c2" title="Break after the next comma (or all the commas in this context if AvoidBinPacking is true)...">BreakBeforeParameter</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a395fbd6d9a539ddb2738f7480dcaa7c2" title="Break after the next comma (or all the commas in this context if AvoidBinPacking is true)...">BreakBeforeParameter</a>)</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a395fbd6d9a539ddb2738f7480dcaa7c2" title="Break after the next comma (or all the commas in this context if AvoidBinPacking is true)...">BreakBeforeParameter</a>;</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a66a14b447a94a56dac4412cdd2dcca0c" title="Line breaking in this context would break a formatting rule.">NoLineBreak</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a66a14b447a94a56dac4412cdd2dcca0c" title="Line breaking in this context would break a formatting rule.">NoLineBreak</a>)</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a66a14b447a94a56dac4412cdd2dcca0c" title="Line breaking in this context would break a formatting rule.">NoLineBreak</a>;</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a94bb80698fe00ea804544fe76e602664" title="The position of the colon in an ObjC method declaration/call.">ColonPos</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a94bb80698fe00ea804544fe76e602664" title="The position of the colon in an ObjC method declaration/call.">ColonPos</a>)</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a94bb80698fe00ea804544fe76e602664" title="The position of the colon in an ObjC method declaration/call.">ColonPos</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a94bb80698fe00ea804544fe76e602664" title="The position of the colon in an ObjC method declaration/call.">ColonPos</a>;</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a6e080d9eaf7264e34b7b215fd8bf1b89" title="The start of the most recent function in a builder-type call.">StartOfFunctionCall</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a6e080d9eaf7264e34b7b215fd8bf1b89" title="The start of the most recent function in a builder-type call.">StartOfFunctionCall</a>)</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a6e080d9eaf7264e34b7b215fd8bf1b89" title="The start of the most recent function in a builder-type call.">StartOfFunctionCall</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a6e080d9eaf7264e34b7b215fd8bf1b89" title="The start of the most recent function in a builder-type call.">StartOfFunctionCall</a>;</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#ab1976c3f16ad42b035c22d50449be773" title="Contains the start of array subscript expressions, so that they can be aligned.">StartOfArraySubscripts</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#ab1976c3f16ad42b035c22d50449be773" title="Contains the start of array subscript expressions, so that they can be aligned.">StartOfArraySubscripts</a>)</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#ab1976c3f16ad42b035c22d50449be773" title="Contains the start of array subscript expressions, so that they can be aligned.">StartOfArraySubscripts</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#ab1976c3f16ad42b035c22d50449be773" title="Contains the start of array subscript expressions, so that they can be aligned.">StartOfArraySubscripts</a>;</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#ae5d68d1d32dc8b840027aeaf02d5cb8e" title="If a call expression was broken over multiple lines, this contains the start column of the second lin...">CallContinuation</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#ae5d68d1d32dc8b840027aeaf02d5cb8e" title="If a call expression was broken over multiple lines, this contains the start column of the second lin...">CallContinuation</a>)</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#ae5d68d1d32dc8b840027aeaf02d5cb8e" title="If a call expression was broken over multiple lines, this contains the start column of the second lin...">CallContinuation</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#ae5d68d1d32dc8b840027aeaf02d5cb8e" title="If a call expression was broken over multiple lines, this contains the start column of the second lin...">CallContinuation</a>;</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a641f24f932478f8375905e68baeb1897" title="The column of the first variable name in a variable declaration.">VariablePos</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a641f24f932478f8375905e68baeb1897" title="The column of the first variable name in a variable declaration.">VariablePos</a>)</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a641f24f932478f8375905e68baeb1897" title="The column of the first variable name in a variable declaration.">VariablePos</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a641f24f932478f8375905e68baeb1897" title="The column of the first variable name in a variable declaration.">VariablePos</a>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#aa6aa6a9a422e217619ae4955e32c437a" title="true if this ParenState already contains a line-break.">ContainsLineBreak</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#aa6aa6a9a422e217619ae4955e32c437a" title="true if this ParenState already contains a line-break.">ContainsLineBreak</a>)</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#aa6aa6a9a422e217619ae4955e32c437a" title="true if this ParenState already contains a line-break.">ContainsLineBreak</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#aa6aa6a9a422e217619ae4955e32c437a" title="true if this ParenState already contains a line-break.">ContainsLineBreak</a>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1ParenState.html#a912821652908bfc6929d04844cab2765" title="true if this ParenState contains multiple segments of a builder-type call on one line.">ContainsUnwrappedBuilder</a> != Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a912821652908bfc6929d04844cab2765" title="true if this ParenState contains multiple segments of a builder-type call on one line.">ContainsUnwrappedBuilder</a>)</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1ParenState.html#a912821652908bfc6929d04844cab2765" title="true if this ParenState contains multiple segments of a builder-type call on one line.">ContainsUnwrappedBuilder</a> < Other.<a class="code" href="structclang_1_1format_1_1ParenState.html#a912821652908bfc6929d04844cab2765" title="true if this ParenState contains multiple segments of a builder-type call on one line.">ContainsUnwrappedBuilder</a>;</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> };</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"></span></div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">/// \brief The current state when indenting a unwrapped line.</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">/// As the indenting tries different combinations this is copied by value.</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html"> 251</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment"> /// \brief The number of used columns in the current line.</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c"> 253</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a>;</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"></span></div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> /// \brief The token that needs to be next formatted.</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1"> 256</a></span> <span class="comment"></span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>;</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"></span></div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> /// \brief \c true if this line contains a continued for-loop section.</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#aa5aa1a3e3c19ec8cb0f27318cfed4811"> 259</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1LineState.html#aa5aa1a3e3c19ec8cb0f27318cfed4811" title="true if this line contains a continued for-loop section.">LineContainsContinuedForLoopSection</a>;</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment"></span></div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment"> /// \brief The level of nesting inside (), [], <> and {}.</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858"> 262</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a>;</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment"></span></div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> /// \brief The \c ParenLevel at the start of this line.</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#ad89461175e656d9ebf327e8a51899538"> 265</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1LineState.html#ad89461175e656d9ebf327e8a51899538" title="The ParenLevel at the start of this line.">StartOfLineLevel</a>;</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"></span></div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> /// \brief The lowest \c ParenLevel on the current line.</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#a2340ca707b6859e930a060aa9338346a"> 268</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a2340ca707b6859e930a060aa9338346a" title="The lowest ParenLevel on the current line.">LowestLevelOnLine</a>;</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"></span></div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> /// \brief The start column of the string literal, if we're in a string</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> /// literal sequence, 0 otherwise.</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#a1a323764a746c9ecbaf39d8c04ecec2d"> 272</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a1a323764a746c9ecbaf39d8c04ecec2d" title="The start column of the string literal, if we're in a string literal sequence, 0 otherwise.">StartOfStringLiteral</a>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"></span></div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment"> /// \brief A stack keeping track of properties applying to parenthesis</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"> /// levels.</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651"> 276</a></span> <span class="comment"></span> std::vector<ParenState> <a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>;</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment"></span></div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment"> /// \brief Ignore the stack of \c ParenStates for state comparison.</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment"> /// In long and deeply nested unwrapped lines, the current algorithm can</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> /// be insufficient for finding the best formatting with a reasonable amount</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> /// of time and memory. Setting this flag will effectively lead to the</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"> /// algorithm not analyzing some combinations. However, these combinations</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> /// rarely contain the optimal solution: In short, accepting a higher</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"> /// penalty early would need to lead to different values in the \c</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment"> /// ParenState stack (in an otherwise identical state) and these different</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> /// values would need to lead to a significant amount of avoided penalty</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"> /// later.</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment"> /// FIXME: Come up with a better algorithm instead.</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#a1b8416cf69649c1a904f61391b8242a4"> 291</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a1b8416cf69649c1a904f61391b8242a4" title="Ignore the stack of ParenStates for state comparison.">IgnoreStackForComparison</a>;</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"></span></div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> /// \brief The indent of the first token.</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#ae20fb3c7d86baf744b10106ef5acc930"> 294</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1LineState.html#ae20fb3c7d86baf744b10106ef5acc930" title="The indent of the first token.">FirstIndent</a>;</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"></span></div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> /// \brief The line that is being formatted.</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> /// Does not need to be considered for memoization because it doesn't change.</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#a393cd89e06b3cc75e87d9524fad50b06"> 299</a></span> <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1format_1_1AnnotatedLine.html">AnnotatedLine</a> *<a class="code" href="structclang_1_1format_1_1LineState.html#a393cd89e06b3cc75e87d9524fad50b06" title="The line that is being formatted.">Line</a>;</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment"></span></div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> /// \brief Comparison operator to be able to used \c LineState in \c map.</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1LineState.html#ad8e09fb5620d9c0fd1adb6029e031f79"> 302</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1LineState.html#ad8e09fb5620d9c0fd1adb6029e031f79" title="Comparison operator to be able to used LineState in map.">operator<</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &Other)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a> != Other.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>)</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a> < Other.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>;</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> != Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a>)</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> < Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a>;</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1LineState.html#aa5aa1a3e3c19ec8cb0f27318cfed4811" title="true if this line contains a continued for-loop section.">LineContainsContinuedForLoopSection</a> !=</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> Other.<a class="code" href="structclang_1_1format_1_1LineState.html#aa5aa1a3e3c19ec8cb0f27318cfed4811" title="true if this line contains a continued for-loop section.">LineContainsContinuedForLoopSection</a>)</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1LineState.html#aa5aa1a3e3c19ec8cb0f27318cfed4811" title="true if this line contains a continued for-loop section.">LineContainsContinuedForLoopSection</a>;</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a> != Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a>)</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a> < Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a69fccece6dde323db8cab75495be2858" title="The level of nesting inside (), [], <> and {}.">ParenLevel</a>;</div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1LineState.html#ad89461175e656d9ebf327e8a51899538" title="The ParenLevel at the start of this line.">StartOfLineLevel</a> != Other.<a class="code" href="structclang_1_1format_1_1LineState.html#ad89461175e656d9ebf327e8a51899538" title="The ParenLevel at the start of this line.">StartOfLineLevel</a>)</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1LineState.html#ad89461175e656d9ebf327e8a51899538" title="The ParenLevel at the start of this line.">StartOfLineLevel</a> < Other.<a class="code" href="structclang_1_1format_1_1LineState.html#ad89461175e656d9ebf327e8a51899538" title="The ParenLevel at the start of this line.">StartOfLineLevel</a>;</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1LineState.html#a2340ca707b6859e930a060aa9338346a" title="The lowest ParenLevel on the current line.">LowestLevelOnLine</a> != Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a2340ca707b6859e930a060aa9338346a" title="The lowest ParenLevel on the current line.">LowestLevelOnLine</a>)</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a2340ca707b6859e930a060aa9338346a" title="The lowest ParenLevel on the current line.">LowestLevelOnLine</a> < Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a2340ca707b6859e930a060aa9338346a" title="The lowest ParenLevel on the current line.">LowestLevelOnLine</a>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1LineState.html#a1a323764a746c9ecbaf39d8c04ecec2d" title="The start column of the string literal, if we're in a string literal sequence, 0 otherwise.">StartOfStringLiteral</a> != Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a1a323764a746c9ecbaf39d8c04ecec2d" title="The start column of the string literal, if we're in a string literal sequence, 0 otherwise.">StartOfStringLiteral</a>)</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a1a323764a746c9ecbaf39d8c04ecec2d" title="The start column of the string literal, if we're in a string literal sequence, 0 otherwise.">StartOfStringLiteral</a> < Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a1a323764a746c9ecbaf39d8c04ecec2d" title="The start column of the string literal, if we're in a string literal sequence, 0 otherwise.">StartOfStringLiteral</a>;</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1format_1_1LineState.html#a1b8416cf69649c1a904f61391b8242a4" title="Ignore the stack of ParenStates for state comparison.">IgnoreStackForComparison</a> || Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a1b8416cf69649c1a904f61391b8242a4" title="Ignore the stack of ParenStates for state comparison.">IgnoreStackForComparison</a>)</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a> < Other.<a class="code" href="structclang_1_1format_1_1LineState.html#a8398e386959b64cf5bd8fd6aa8e6d651" title="A stack keeping track of properties applying to parenthesis levels.">Stack</a>;</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> };</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> } <span class="comment">// end namespace format</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor">#endif // LLVM_CLANG_FORMAT_CONTINUATION_INDENTER_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuousRangeMap_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuousRangeMap_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuousRangeMap_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ContinuousRangeMap_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: ContinuousRangeMap.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_0dc2050340a96003388a0ee3c6e6b064.html">Serialization</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">ContinuousRangeMap.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="ContinuousRangeMap_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===--- ContinuousRangeMap.h - Map with int range as key -------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This file defines the ContinuousRangeMap class, which is a highly</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// specialized container used by serialization.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef LLVM_CLANG_SERIALIZATION_CONTINUOUS_RANGE_MAP_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_SERIALIZATION_CONTINUOUS_RANGE_MAP_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "llvm/ADT/SmallVector.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <algorithm></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <utility></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">/// \brief A map from continuous integer ranges to some value, with a very</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/// specialized interface.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/// CRM maps from integer ranges to values. The ranges are continuous, i.e.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/// where one ends, the next one begins. So if the map contains the stops I0-3,</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/// the first range is from I0 to I1, the second from I1 to I2, the third from</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/// I2 to I3 and the last from I3 to infinity.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/// Ranges must be inserted in order. Inserting a new stop I4 into the map will</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/// shrink the fourth range to I3 to I4 and add the new range I4 to inf.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Int, <span class="keyword">typename</span> V, <span class="keywordtype">unsigned</span> InitialCapacity></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html"> 36</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ContinuousRangeMap.html" title="A map from continuous integer ranges to some value, with a very specialized interface.">ContinuousRangeMap</a> {</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a1cd690ecc049d916ffacf0c4e528488a"> 38</a></span> <span class="keyword">typedef</span> std::pair<Int, V> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a1cd690ecc049d916ffacf0c4e528488a">value_type</a>;</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#aa4c4477d83e3ffe551c8bf745acbed5d"> 39</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a1cd690ecc049d916ffacf0c4e528488a">value_type</a> &<a class="code" href="classclang_1_1ContinuousRangeMap.html#aa4c4477d83e3ffe551c8bf745acbed5d">reference</a>;</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a2cc6bd96dc2eefbdd6dfa38147707e89"> 40</a></span> <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a1cd690ecc049d916ffacf0c4e528488a">value_type</a> &<a class="code" href="classclang_1_1ContinuousRangeMap.html#a2cc6bd96dc2eefbdd6dfa38147707e89">const_reference</a>;</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#afd04400b195f73dcee6070186135ea9b"> 41</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a1cd690ecc049d916ffacf0c4e528488a">value_type</a> *<a class="code" href="classclang_1_1ContinuousRangeMap.html#afd04400b195f73dcee6070186135ea9b">pointer</a>;</div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a2901c65d687c8ce2fa11ae601b0c97a2"> 42</a></span> <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a1cd690ecc049d916ffacf0c4e528488a">value_type</a> *<a class="code" href="classclang_1_1ContinuousRangeMap.html#a2901c65d687c8ce2fa11ae601b0c97a2">const_pointer</a>;</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<value_type, InitialCapacity></a> <a class="code" href="classllvm_1_1SmallVector.html">Representation</a>;</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <a class="code" href="classllvm_1_1SmallVector.html">Representation</a> Rep;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">struct </span>Compare {</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">bool</span> operator ()(<a class="code" href="classclang_1_1ContinuousRangeMap.html#a2cc6bd96dc2eefbdd6dfa38147707e89">const_reference</a> L, Int R)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span> L.first < R;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> }</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">bool</span> operator ()(Int L, <a class="code" href="classclang_1_1ContinuousRangeMap.html#a2cc6bd96dc2eefbdd6dfa38147707e89">const_reference</a> R)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> L < R.first;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">bool</span> operator ()(Int L, Int R)<span class="keyword"> const </span>{ </div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">return</span> L < R;</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">bool</span> operator ()(<a class="code" href="classclang_1_1ContinuousRangeMap.html#a2cc6bd96dc2eefbdd6dfa38147707e89">const_reference</a> L, <a class="code" href="classclang_1_1ContinuousRangeMap.html#a2cc6bd96dc2eefbdd6dfa38147707e89">const_reference</a> R)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">return</span> L.first < R.first;</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> }</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> };</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a8fa8b51a0840a8a85b904326c92321f8"> 64</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a8fa8b51a0840a8a85b904326c92321f8">insert</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a1cd690ecc049d916ffacf0c4e528488a">value_type</a> &Val) {</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">if</span> (!Rep.empty() && Rep.back() == Val)</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> assert((Rep.empty() || Rep.back().first < Val.first) &&</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="stringliteral">"Must insert keys in order."</span>);</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> Rep.push_back(Val);</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a237246b096892a14da454f4a06cec731"> 73</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a237246b096892a14da454f4a06cec731">insertOrReplace</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a1cd690ecc049d916ffacf0c4e528488a">value_type</a> &Val) {</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a429d826b069d184264dc7e46fc6e7d2b">iterator</a> I = std::lower_bound(Rep.begin(), Rep.end(), Val, Compare());</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">if</span> (I != Rep.end() && I->first == Val.first) {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> I->second = Val.second;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> }</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> Rep.insert(I, Val);</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> }</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a429d826b069d184264dc7e46fc6e7d2b"> 83</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> Representation::iterator <a class="code" href="classclang_1_1ContinuousRangeMap.html#a429d826b069d184264dc7e46fc6e7d2b">iterator</a>;</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a92c947ddf63a319c4d90f7e60e940a03"> 84</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> Representation::const_iterator <a class="code" href="classclang_1_1ContinuousRangeMap.html#a92c947ddf63a319c4d90f7e60e940a03">const_iterator</a>;</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#aa30ffcf77e63a0506b422dc23d7a68e7"> 86</a></span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a429d826b069d184264dc7e46fc6e7d2b">iterator</a> <a class="code" href="classclang_1_1ContinuousRangeMap.html#aa30ffcf77e63a0506b422dc23d7a68e7">begin</a>() { <span class="keywordflow">return</span> Rep.begin(); }</div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#ab41da90d6c752df09de12361c3d2b978"> 87</a></span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a429d826b069d184264dc7e46fc6e7d2b">iterator</a> <a class="code" href="classclang_1_1ContinuousRangeMap.html#ab41da90d6c752df09de12361c3d2b978">end</a>() { <span class="keywordflow">return</span> Rep.end(); }</div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a1f0b0b8ce38492474a3283b08595d37a"> 88</a></span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a92c947ddf63a319c4d90f7e60e940a03">const_iterator</a> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a1f0b0b8ce38492474a3283b08595d37a">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Rep.begin(); }</div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a2bbba7405dc3014b43b9f56d6435d549"> 89</a></span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a92c947ddf63a319c4d90f7e60e940a03">const_iterator</a> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a2bbba7405dc3014b43b9f56d6435d549">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Rep.end(); }</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a06262ebf6496cd8a76111461eeb977f9"> 91</a></span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a429d826b069d184264dc7e46fc6e7d2b">iterator</a> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a06262ebf6496cd8a76111461eeb977f9">find</a>(Int K) {</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a429d826b069d184264dc7e46fc6e7d2b">iterator</a> I = std::upper_bound(Rep.begin(), Rep.end(), K, Compare());</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// I points to the first entry with a key > K, which is the range that</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// follows the one containing K.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span> (I == Rep.begin())</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">return</span> Rep.end();</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> --I;</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> I;</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a14dec0e4f4c7d7915664fdf438b2c775"> 100</a></span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a92c947ddf63a319c4d90f7e60e940a03">const_iterator</a> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a14dec0e4f4c7d7915664fdf438b2c775">find</a>(Int K)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1ContinuousRangeMap.html" title="A map from continuous integer ranges to some value, with a very specialized interface.">ContinuousRangeMap</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1ContinuousRangeMap.html#a06262ebf6496cd8a76111461eeb977f9">find</a>(K);</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a15193712c3ce492a2777c9fe1365eabe"> 104</a></span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#aa4c4477d83e3ffe551c8bf745acbed5d">reference</a> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a15193712c3ce492a2777c9fe1365eabe">back</a>() { <span class="keywordflow">return</span> Rep.back(); }</div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a30c94e79a7015ce89a2991e90a461ae8"> 105</a></span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a2cc6bd96dc2eefbdd6dfa38147707e89">const_reference</a> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a30c94e79a7015ce89a2991e90a461ae8">back</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Rep.back(); }</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"></span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> /// \brief An object that helps properly build a continuous range map</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// from a set of values.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html"> 109</a></span> <span class="comment"></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html" title="An object that helps properly build a continuous range map from a set of values.">Builder</a> {</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html" title="A map from continuous integer ranges to some value, with a very specialized interface.">ContinuousRangeMap</a> &Self;</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html" title="An object that helps properly build a continuous range map from a set of values.">Builder</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html" title="An object that helps properly build a continuous range map from a set of values.">Builder</a>&) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html" title="An object that helps properly build a continuous range map from a set of values.">Builder</a> &operator=(<span class="keyword">const</span> <a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html" title="An object that helps properly build a continuous range map from a set of values.">Builder</a>&) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html#a640272dfa8e208c96088c84baad994dc"> 116</a></span> <span class="keyword">explicit</span> <a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html#a640272dfa8e208c96088c84baad994dc">Builder</a>(<a class="code" href="classclang_1_1ContinuousRangeMap.html" title="A map from continuous integer ranges to some value, with a very specialized interface.">ContinuousRangeMap</a> &Self) : Self(Self) { }</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html#af085ab3b3baacd7a2c6e5adc67e5e38c"> 118</a></span> <a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html#af085ab3b3baacd7a2c6e5adc67e5e38c">~Builder</a>() {</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> std::sort(Self.Rep.begin(), Self.Rep.end(), Compare());</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html#ae9f5c48bdd30c8a3069997e6cfcf23d1"> 122</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ContinuousRangeMap_1_1Builder.html#ae9f5c48bdd30c8a3069997e6cfcf23d1">insert</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html#a1cd690ecc049d916ffacf0c4e528488a">value_type</a> &Val) {</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> Self.Rep.push_back(Val);</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> };</div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="classclang_1_1ContinuousRangeMap.html#a870e4066b979b9cef642eb091f8f3d95"> 126</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ContinuousRangeMap.html#a870e4066b979b9cef642eb091f8f3d95">Builder</a>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> };</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> }</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,787 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: CoreEngine.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_8c061bf4f1cf580e717ceaf4321c4465.html">Core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CoreEngine.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CoreEngine_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//==- CoreEngine.cpp - Path-Sensitive Dataflow Engine ------------*- C++ -*-//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This file defines a generic engine for intraprocedural, path-sensitive,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// dataflow analysis via graph reachability engine.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno"><a class="code" href="CoreEngine_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d"> 15</a></span> <span class="preprocessor">#define DEBUG_TYPE "CoreEngine"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="CoreEngine_8h.html">clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="Expr_8h.html">clang/AST/Expr.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="StmtCXX_8h.html">clang/AST/StmtCXX.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="AnalysisManager_8h.html">clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="ExprEngine_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "llvm/ADT/DenseMap.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "llvm/ADT/Statistic.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "llvm/Support/Casting.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">using namespace </span>ento;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <a class="code" href="CallGraph_8cpp.html#a2bed9d73ef554d78be708587a7633001">STATISTIC</a>(NumSteps,</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="stringliteral">"The # of steps executed."</span>);</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <a class="code" href="CallGraph_8cpp.html#a2bed9d73ef554d78be708587a7633001">STATISTIC</a>(NumReachedMaxSteps,</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="stringliteral">"The # of times we reached the max number of steps."</span>);</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <a class="code" href="CallGraph_8cpp.html#a2bed9d73ef554d78be708587a7633001">STATISTIC</a>(NumPathsExplored,</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="stringliteral">"The # of paths explored by the analyzer."</span>);</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// Worklist classes for exploration of reachable states.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1WorkList_1_1Visitor.html#ae83d735188fdce4c77ebcd592568f290"> 40</a></span> <a class="code" href="classclang_1_1ento_1_1WorkList_1_1Visitor.html#ae83d735188fdce4c77ebcd592568f290">WorkList::Visitor::~Visitor</a>() {}</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">class </span>DFS : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html">WorkList</a> {</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<WorkListUnit,20></a> <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>;</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#a021b0610633b66c2ec9d3c36c716c5a3">hasWork</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> !<a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.empty();</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> }</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#aee1672bc045537c20bdb186d24e245e2">enqueue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a>& U) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.push_back(U);</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a> <a class="code" href="classclang_1_1ento_1_1WorkList.html#a5c3df6b5c0f2a266d906297fcdbaccbd">dequeue</a>() {</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> assert (!<a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.empty());</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a>& U = <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.back();</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.pop_back(); <span class="comment">// This technically "invalidates" U, but we are fine.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">return</span> U;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#ad61bc355f83a0c1b2d2c0bcf91639a4e">visitItemsInWorkList</a>(Visitor &V) {</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<WorkListUnit>::iterator</a></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> I = <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.begin(), E = <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">if</span> (V.visit(*I))</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> }</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> };</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">class </span>BFS : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html">WorkList</a> {</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> std::deque<WorkListUnit> Queue;</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#a021b0610633b66c2ec9d3c36c716c5a3">hasWork</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">return</span> !Queue.empty();</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#aee1672bc045537c20bdb186d24e245e2">enqueue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a>& U) {</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> Queue.push_back(U);</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a> <a class="code" href="classclang_1_1ento_1_1WorkList.html#a5c3df6b5c0f2a266d906297fcdbaccbd">dequeue</a>() {</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a> U = Queue.front();</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> Queue.pop_front();</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">return</span> U;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#ad61bc355f83a0c1b2d2c0bcf91639a4e">visitItemsInWorkList</a>(Visitor &V) {</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">for</span> (std::deque<WorkListUnit>::iterator</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> I = Queue.begin(), E = Queue.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">if</span> (V.visit(*I))</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> }</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> };</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">// Place the dstor for WorkList here because it contains virtual member</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">// functions, and we the code for the dstor generated in one compilation unit.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1WorkList.html#a2c088a7c8f6a28515c38a3e5db227ba6"> 102</a></span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#a2c088a7c8f6a28515c38a3e5db227ba6">WorkList::~WorkList</a>() {}</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1WorkList.html#a1b349cbdab042f3b838c997e9ea9ba7f"> 104</a></span> <a class="code" href="classclang_1_1ento_1_1WorkList.html">WorkList</a> *<a class="code" href="classclang_1_1ento_1_1WorkList.html#a1b349cbdab042f3b838c997e9ea9ba7f">WorkList::makeDFS</a>() { <span class="keywordflow">return</span> <span class="keyword">new</span> DFS(); }</div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1WorkList.html#ab0ae6e73f6a03c0021dc2c8ae2892881"> 105</a></span> <a class="code" href="classclang_1_1ento_1_1WorkList.html">WorkList</a> *<a class="code" href="classclang_1_1ento_1_1WorkList.html#ab0ae6e73f6a03c0021dc2c8ae2892881">WorkList::makeBFS</a>() { <span class="keywordflow">return</span> <span class="keyword">new</span> BFS(); }</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">class </span>BFSBlockDFSContents : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html">WorkList</a> {</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> std::deque<WorkListUnit> Queue;</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<WorkListUnit,20></a> <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#a021b0610633b66c2ec9d3c36c716c5a3">hasWork</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> !Queue.empty() || !<a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.empty();</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#aee1672bc045537c20bdb186d24e245e2">enqueue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a>& U) {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">if</span> (U.<a class="code" href="classclang_1_1ento_1_1WorkListUnit.html#ac3d2ef92d0d1d566efe7cd5e5126f4f6" title="Returns the node associated with the worklist unit.">getNode</a>()-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>().<a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a><<a class="code" href="classclang_1_1BlockEntrance.html">BlockEntrance</a>>())</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> Queue.push_front(U);</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.push_back(U);</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> }</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a> <a class="code" href="classclang_1_1ento_1_1WorkList.html#a5c3df6b5c0f2a266d906297fcdbaccbd">dequeue</a>() {</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">// Process all basic blocks to completion.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (!<a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.empty()) {</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a>& U = <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.back();</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.pop_back(); <span class="comment">// This technically "invalidates" U, but we are fine.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">return</span> U;</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> }</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> assert(!Queue.empty());</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">// Don't use const reference. The subsequent pop_back() might make it</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">// unsafe.</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a> U = Queue.front();</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> Queue.pop_front();</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">return</span> U;</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#ad61bc355f83a0c1b2d2c0bcf91639a4e">visitItemsInWorkList</a>(Visitor &V) {</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<WorkListUnit>::iterator</a></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> I = <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.begin(), E = <a class="code" href="UnwrappedLineParser_8cpp.html#a118f9e9887ee5c70966fe9b74b815f79">Stack</a>.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">if</span> (V.visit(*I))</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">for</span> (std::deque<WorkListUnit>::iterator</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> I = Queue.begin(), E = Queue.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (V.visit(*I))</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> };</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1WorkList.html#af15262ccc2c0153879ce9c35e281be1b"> 155</a></span> <a class="code" href="classclang_1_1ento_1_1WorkList.html">WorkList</a>* <a class="code" href="classclang_1_1ento_1_1WorkList.html#af15262ccc2c0153879ce9c35e281be1b">WorkList::makeBFSBlockDFSContents</a>() {</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">return</span> <span class="keyword">new</span> BFSBlockDFSContents();</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">// Core analysis engine.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"></span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">/// ExecuteWorkList - Run the worklist algorithm for a maximum number of steps.</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aacfebeb573f5ffdc7d9b1bc4a7b9daf2"> 164</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aacfebeb573f5ffdc7d9b1bc4a7b9daf2" title="ExecuteWorkList - Run the worklist algorithm for a maximum number of steps.">CoreEngine::ExecuteWorkList</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L, <span class="keywordtype">unsigned</span> Steps,</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> InitState) {</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (G->num_roots() == 0) { <span class="comment">// Initialize the analysis by constructing</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// the root if none exists.</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Entry = &(L-><a class="code" href="classclang_1_1LocationContext.html#a4914bdb5772f9fc1274d1e3ec6900f9e">getCFG</a>()-><a class="code" href="classclang_1_1CFG.html#ad5618d5c0636efb4d71510bd66c066cf">getEntry</a>());</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> assert (Entry-><a class="code" href="classclang_1_1CFGBlock.html#a6ada8898caf2ac3bdd6f52531cf42ac3">empty</a>() &&</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="stringliteral">"Entry block must be empty."</span>);</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> assert (Entry-><a class="code" href="classclang_1_1CFGBlock.html#a2b57cc985337076f6072ca63ceae400e">succ_size</a>() == 1 &&</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="stringliteral">"Entry block must have 1 successor."</span>);</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">// Mark the entry block as visited.</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> FunctionSummaries->markVisitedBasicBlock(Entry-><a class="code" href="classclang_1_1CFGBlock.html#ab32c4ed9a5a96fd078e3df31ec6c5a07">getBlockID</a>(),</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> L-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>(),</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> L-><a class="code" href="classclang_1_1LocationContext.html#a4914bdb5772f9fc1274d1e3ec6900f9e">getCFG</a>()-><a class="code" href="classclang_1_1CFG.html#a35bad5dfa501d6d2b2c570434c22727b">getNumBlockIDs</a>());</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">// Get the solitary successor.</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Succ = *(Entry-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>());</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">// Construct an edge representing the</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">// starting location in the function.</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> StartLoc(Entry, Succ, L);</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">// Set the current block counter to being empty.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> WList->setBlockCounter(BCounterFactory.GetEmptyCounter());</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span> (!InitState)</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">// Generate the root.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> generateNode(StartLoc, SubEng.getInitialState(L), 0);</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> generateNode(StartLoc, InitState, 0);</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">// Check if we have a steps limit</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">bool</span> UnlimitedSteps = Steps == 0;</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">while</span> (WList->hasWork()) {</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (!UnlimitedSteps) {</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span> (Steps == 0) {</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> NumReachedMaxSteps++;</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> --Steps;</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> NumSteps++;</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a>& WU = WList->dequeue();</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">// Set the current block counter.</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> WList->setBlockCounter(WU.<a class="code" href="classclang_1_1ento_1_1WorkListUnit.html#a200fffbdd4046fb276f38ddf0b193120" title="Returns the block counter map associated with the worklist unit.">getBlockCounter</a>());</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">// Retrieve the node.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="ASTMatchFinder_8cpp.html#a1dfddff6f4d91f415ffe4b9a6da5f489">Node</a> = WU.<a class="code" href="classclang_1_1ento_1_1WorkListUnit.html#ac3d2ef92d0d1d566efe7cd5e5126f4f6" title="Returns the node associated with the worklist unit.">getNode</a>();</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> dispatchWorkItem(Node, Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>(), WU);</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> SubEng.processEndWorklist(hasWorkRemaining());</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">return</span> WList->hasWork();</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a29536159efaac3e8e2846998a8e0f39f"> 228</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a29536159efaac3e8e2846998a8e0f39f">CoreEngine::dispatchWorkItem</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a>* Pred, <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>,</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a>& WU) {</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// Dispatch on the location type.</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">switch</span> (Loc.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>()) {</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a95ba271ee42e845a8cdd9ab62200bd54">ProgramPoint::BlockEdgeKind</a>:</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> HandleBlockEdge(Loc.<a class="code" href="classclang_1_1ProgramPoint.html#acf0c9041df6b7f0ed809f566052d4ecf" title="Convert to the specified ProgramPoint type, asserting that this ProgramPoint is of the desired type...">castAs</a><<a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>>(), Pred);</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af0e1b3c3e85bbcfadc2d78e258993c46">ProgramPoint::BlockEntranceKind</a>:</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> HandleBlockEntrance(Loc.<a class="code" href="classclang_1_1ProgramPoint.html#acf0c9041df6b7f0ed809f566052d4ecf" title="Convert to the specified ProgramPoint type, asserting that this ProgramPoint is of the desired type...">castAs</a><<a class="code" href="classclang_1_1BlockEntrance.html">BlockEntrance</a>>(), Pred);</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a1ad283a33404be59afc0b192e2069fb8">ProgramPoint::BlockExitKind</a>:</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> assert (<span class="keyword">false</span> && <span class="stringliteral">"BlockExit location never occur in forward analysis."</span>);</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6aadf9132d5c5bec9fb3e8f3ac35a5936e">ProgramPoint::CallEnterKind</a>: {</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <a class="code" href="classclang_1_1CallEnter.html">CallEnter</a> CEnter = Loc.<a class="code" href="classclang_1_1ProgramPoint.html#acf0c9041df6b7f0ed809f566052d4ecf" title="Convert to the specified ProgramPoint type, asserting that this ProgramPoint is of the desired type...">castAs</a><<a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>>();</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> SubEng.processCallEnter(CEnter, Pred);</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> }</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af63b514941bc148432b0fa0550505a8b">ProgramPoint::CallExitBeginKind</a>:</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> SubEng.processCallExit(Pred);</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a17e2a293b1abf7fddc5f22c9fa9bac08">ProgramPoint::EpsilonKind</a>: {</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> assert(Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#accba558e4c3afe55512fefc6c8d802dd">hasSinglePred</a>() &&</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="stringliteral">"Assume epsilon has exactly one predecessor by construction"</span>);</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PNode = Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a003d62d3ec7257e7a547a6348a5c1d70">getFirstPred</a>();</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> dispatchWorkItem(Pred, PNode-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>(), WU);</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> assert(Loc.<a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a><<a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>>() ||</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> Loc.<a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a><<a class="code" href="classclang_1_1PostInitializer.html">PostInitializer</a>>() ||</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> Loc.<a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a><<a class="code" href="classclang_1_1PostImplicitCall.html">PostImplicitCall</a>>() ||</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> Loc.<a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a><<a class="code" href="classclang_1_1CallExitEnd.html">CallExitEnd</a>>());</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> HandlePostStmt(WU.<a class="code" href="classclang_1_1ento_1_1WorkListUnit.html#ad2fb9e73f88177d333168c74add51ad7" title="Returns the CFGblock associated with the worklist unit.">getBlock</a>(), WU.<a class="code" href="classclang_1_1ento_1_1WorkListUnit.html#a4a2d57dc7c5a51fdda0ef3c7b88cb06a" title="Return the index within the CFGBlock for the worklist unit.">getIndex</a>(), Pred);</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aa77d1dd2edfedbbb4689791fdcb53e2e"> 271</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aa77d1dd2edfedbbb4689791fdcb53e2e" title="Returns true if there is still simulation state on the worklist.">CoreEngine::ExecuteWorkListWithInitialState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordtype">unsigned</span> Steps,</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> InitState, </div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &Dst) {</div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">bool</span> DidNotFinish = ExecuteWorkList(L, Steps, InitState);</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1ExplodedGraph.html#ab38ea6c13e8ad72ddbeae5c658a2dadc">ExplodedGraph::eop_iterator</a> I = G->eop_begin(), </div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> E = G->eop_end(); I != E; ++I) {</div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> Dst.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#aba7834a108cef5041addb325faa56cf8">Add</a>(*I);</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> }</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">return</span> DidNotFinish;</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">void</span> CoreEngine::HandleBlockEdge(<span class="keyword">const</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> &L, <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred) {</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Blk = L.<a class="code" href="classclang_1_1BlockEdge.html#a7d9fd91c4755e13f66c1b24d80202c59">getDst</a>();</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> BuilderCtx(*<span class="keyword">this</span>, Blk, Pred);</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment">// Mark this block as visited.</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC = Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> FunctionSummaries->markVisitedBasicBlock(Blk-><a class="code" href="classclang_1_1CFGBlock.html#ab32c4ed9a5a96fd078e3df31ec6c5a07">getBlockID</a>(),</div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> LC-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>(),</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> LC-><a class="code" href="classclang_1_1LocationContext.html#a4914bdb5772f9fc1274d1e3ec6900f9e">getCFG</a>()-><a class="code" href="classclang_1_1CFG.html#a35bad5dfa501d6d2b2c570434c22727b">getNumBlockIDs</a>());</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment">// Check if we are entering the EXIT block.</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">if</span> (Blk == &(L.<a class="code" href="classclang_1_1ProgramPoint.html#a8cbb6a970892b9289912f1232c8e2589">getLocationContext</a>()-><a class="code" href="classclang_1_1LocationContext.html#a4914bdb5772f9fc1274d1e3ec6900f9e">getCFG</a>()-><a class="code" href="classclang_1_1CFG.html#a2ff1ea015dc3922825441ce7a2ec13b7">getExit</a>())) {</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> assert (L.<a class="code" href="classclang_1_1ProgramPoint.html#a8cbb6a970892b9289912f1232c8e2589">getLocationContext</a>()-><a class="code" href="classclang_1_1LocationContext.html#a4914bdb5772f9fc1274d1e3ec6900f9e">getCFG</a>()-><a class="code" href="classclang_1_1CFG.html#a2ff1ea015dc3922825441ce7a2ec13b7">getExit</a>().<a class="code" href="classclang_1_1CFGBlock.html#aa21606beb0e135d35f7ceee4bae797bf">size</a>() == 0</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> && <span class="stringliteral">"EXIT block cannot contain Stmts."</span>);</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment">// Process the final state transition.</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> SubEng.processEndOfFunction(BuilderCtx, Pred);</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">// This path is done. Don't enqueue any more nodes.</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">// Call into the SubEngine to process entering the CFGBlock.</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> dstNodes;</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <a class="code" href="classclang_1_1BlockEntrance.html">BlockEntrance</a> BE(Blk, Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html" title="This node builder keeps track of the generated sink nodes.">NodeBuilderWithSinks</a> nodeBuilder(Pred, dstNodes, BuilderCtx, BE);</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> SubEng.processCFGBlockEntrance(L, nodeBuilder, Pred);</div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment">// Auto-generate a node.</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span> (!nodeBuilder.hasGeneratedNodes()) {</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> nodeBuilder.generateNode(Pred->State, Pred);</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> }</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment">// Enqueue nodes onto the worklist.</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#aee1672bc045537c20bdb186d24e245e2">enqueue</a>(dstNodes);</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordtype">void</span> CoreEngine::HandleBlockEntrance(<span class="keyword">const</span> <a class="code" href="classclang_1_1BlockEntrance.html">BlockEntrance</a> &L,</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred) {</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment">// Increment the block counter.</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC = Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordtype">unsigned</span> BlockId = L.<a class="code" href="classclang_1_1BlockEntrance.html#aad4a9211fdb0eb00ae2e7ae6eb636578">getBlock</a>()-><a class="code" href="classclang_1_1CFGBlock.html#ab32c4ed9a5a96fd078e3df31ec6c5a07">getBlockID</a>();</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <a class="code" href="classclang_1_1ento_1_1BlockCounter.html" title="An abstract data type used to count the number of times a given block has been visited along a path a...">BlockCounter</a> Counter = WList->getBlockCounter();</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> Counter = BCounterFactory.IncrementCount(Counter, LC-><a class="code" href="classclang_1_1LocationContext.html#ad4512d946266fda30b7439564a9f831c">getCurrentStackFrame</a>(),</div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> BlockId);</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> WList->setBlockCounter(Counter);</div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment">// Process the entrance of the block.</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<CFGElement></a> E = L.<a class="code" href="classclang_1_1BlockEntrance.html#aa30a0b7127ee8dccdce96815ab1bfc2f">getFirstElement</a>()) {</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> Ctx(*<span class="keyword">this</span>, L.<a class="code" href="classclang_1_1BlockEntrance.html#aad4a9211fdb0eb00ae2e7ae6eb636578">getBlock</a>(), Pred);</div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> SubEng.processCFGElement(*E, Pred, 0, &Ctx);</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> HandleBlockExit(L.<a class="code" href="classclang_1_1BlockEntrance.html#aad4a9211fdb0eb00ae2e7ae6eb636578">getBlock</a>(), Pred);</div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> }</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">void</span> CoreEngine::HandleBlockExit(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> * B, <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred) {</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Term = B-><a class="code" href="classclang_1_1CFGBlock.html#af1276a7d6dea5546ea7421b85162375a">getTerminator</a>()) {</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">switch</span> (Term->getStmtClass()) {</div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> llvm_unreachable(<span class="stringliteral">"Analysis for this terminator not implemented."</span>);</div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment">// Model static initializers.</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">case</span> Stmt::DeclStmtClass:</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> HandleStaticInit(cast<DeclStmt>(Term), B, Pred);</div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">case</span> Stmt::BinaryOperatorClass: <span class="comment">// '&&' and '||'</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> HandleBranch(cast<BinaryOperator>(Term)->getLHS(), Term, B, Pred);</div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">case</span> Stmt::BinaryConditionalOperatorClass:</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">case</span> Stmt::ConditionalOperatorClass:</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> HandleBranch(cast<AbstractConditionalOperator>(Term)->getCond(),</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> Term, B, Pred);</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment">// FIXME: Use constant-folding in CFG construction to simplify this</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">// case.</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">case</span> Stmt::ChooseExprClass:</div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> HandleBranch(cast<ChooseExpr>(Term)->getCond(), Term, B, Pred);</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">case</span> Stmt::CXXTryStmtClass: {</div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment">// Generate a node for each of the successors.</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment">// Our logic for EH analysis can certainly be improved.</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1CFGBlock.html">CFGBlock::const_succ_iterator</a> it = B-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>(),</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> et = B-><a class="code" href="classclang_1_1CFGBlock.html#a1bcc002635a676581313a5e832b31cbc">succ_end</a>(); it != et; ++it) {</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *succ = *it) {</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> generateNode(<a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(B, succ, Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>()),</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> Pred->State, Pred);</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> }</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> }</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> }</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">case</span> Stmt::DoStmtClass:</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> HandleBranch(cast<DoStmt>(Term)->getCond(), Term, B, Pred);</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">case</span> Stmt::CXXForRangeStmtClass:</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> HandleBranch(cast<CXXForRangeStmt>(Term)->getCond(), Term, B, Pred);</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">case</span> Stmt::ForStmtClass:</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> HandleBranch(cast<ForStmt>(Term)->getCond(), Term, B, Pred);</div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">case</span> Stmt::ContinueStmtClass:</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="keywordflow">case</span> Stmt::BreakStmtClass:</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">case</span> Stmt::GotoStmtClass:</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">case</span> Stmt::IfStmtClass:</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> HandleBranch(cast<IfStmt>(Term)->getCond(), Term, B, Pred);</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">case</span> Stmt::IndirectGotoStmtClass: {</div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment">// Only 1 successor: the indirect goto dispatch block.</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> assert (B-><a class="code" href="classclang_1_1CFGBlock.html#a2b57cc985337076f6072ca63ceae400e">succ_size</a>() == 1);</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html">IndirectGotoNodeBuilder</a></div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> builder(Pred, B, cast<IndirectGotoStmt>(Term)->getTarget(),</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> *(B-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>()), <span class="keyword">this</span>);</div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> SubEng.processIndirectGoto(builder);</div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">case</span> Stmt::ObjCForCollectionStmtClass: {</div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="comment">// In the case of ObjCForCollectionStmt, it appears twice in a CFG:</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="comment">// (1) inside a basic block, which represents the binding of the</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="comment">// 'element' variable to a value.</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="comment">// (2) in a terminator, which represents the branch.</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="comment">// For (1), subengines will bind a value (i.e., 0 or 1) indicating</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment">// whether or not collection contains any more elements. We cannot</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="comment">// just test to see if the element is nil because a container can</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="comment">// contain nil elements.</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> HandleBranch(Term, Term, B, Pred);</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">case</span> Stmt::SwitchStmtClass: {</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html">SwitchNodeBuilder</a> builder(Pred, B, cast<SwitchStmt>(Term)->getCond(),</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keyword">this</span>);</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> SubEng.processSwitch(builder);</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> }</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">case</span> Stmt::WhileStmtClass:</div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> HandleBranch(cast<WhileStmt>(Term)->getCond(), Term, B, Pred);</div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> }</div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> }</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> assert (B-><a class="code" href="classclang_1_1CFGBlock.html#a2b57cc985337076f6072ca63ceae400e">succ_size</a>() == 1 &&</div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="stringliteral">"Blocks with no terminator should have at most 1 successor."</span>);</div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> generateNode(<a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(B, *(B-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>()), Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>()),</div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> Pred->State, Pred);</div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> }</div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordtype">void</span> CoreEngine::HandleBranch(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Cond, <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Term, </div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> * B, <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred) {</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> assert(B-><a class="code" href="classclang_1_1CFGBlock.html#a2b57cc985337076f6072ca63ceae400e">succ_size</a>() == 2);</div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> Ctx(*<span class="keyword">this</span>, B, Pred);</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> Dst;</div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> SubEng.processBranch(Cond, Term, Ctx, Pred, Dst,</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> *(B-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>()), *(B-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>()+1));</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="comment">// Enqueue the new frontier onto the worklist.</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#aee1672bc045537c20bdb186d24e245e2">enqueue</a>(Dst);</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">void</span> CoreEngine::HandleStaticInit(<span class="keyword">const</span> <a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> *DS, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B,</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred) {</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> assert(B-><a class="code" href="classclang_1_1CFGBlock.html#a2b57cc985337076f6072ca63ceae400e">succ_size</a>() == 2);</div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> Ctx(*<span class="keyword">this</span>, B, Pred);</div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> Dst;</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> SubEng.processStaticInitializer(DS, Ctx, Pred, Dst,</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> *(B-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>()), *(B-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>()+1));</div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment">// Enqueue the new frontier onto the worklist.</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <a class="code" href="classclang_1_1ento_1_1WorkList.html#aee1672bc045537c20bdb186d24e245e2">enqueue</a>(Dst);</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> }</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordtype">void</span> CoreEngine::HandlePostStmt(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <span class="keywordtype">unsigned</span> StmtIdx, </div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred) {</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> assert(B);</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> assert(!B-><a class="code" href="classclang_1_1CFGBlock.html#a6ada8898caf2ac3bdd6f52531cf42ac3">empty</a>());</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">if</span> (StmtIdx == B-><a class="code" href="classclang_1_1CFGBlock.html#aa21606beb0e135d35f7ceee4bae797bf">size</a>())</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> HandleBlockExit(B, Pred);</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> Ctx(*<span class="keyword">this</span>, B, Pred);</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> SubEng.processCFGElement((*B)[StmtIdx], Pred, StmtIdx, &Ctx);</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> }</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"></span></div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment">/// generateNode - Utility method to generate nodes, hook up successors,</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment">/// and add nodes to the worklist.</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"></span><span class="keywordtype">void</span> CoreEngine::generateNode(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>,</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred) {</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keywordtype">bool</span> IsNew;</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="ASTMatchFinder_8cpp.html#a1dfddff6f4d91f415ffe4b9a6da5f489">Node</a> = G->getNode(Loc, State, <span class="keyword">false</span>, &IsNew);</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordflow">if</span> (Pred)</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a463503d050cb1b2afa49318c3cb90e63">addPredecessor</a>(Pred, *G); <span class="comment">// Link 'Node' with its predecessor.</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> assert (IsNew);</div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> G->addRoot(Node); <span class="comment">// 'Node' has no predecessor. Make it a root.</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> }</div>
+<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">// Only add 'Node' to the worklist if it was freshly generated.</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">if</span> (IsNew) WList->enqueue(Node);</div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
+<div class="line"><a name="l00510"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a16d2a2038182d9190d609cf33d79aacd"> 510</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a16d2a2038182d9190d609cf33d79aacd" title="Enqueue a single node created as a result of statement processing.">CoreEngine::enqueueStmtNode</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block, <span class="keywordtype">unsigned</span> Idx) {</div>
+<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> assert(Block);</div>
+<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> assert (!N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a7dfe6317dff0b26ce46c1aff70d834c6">isSink</a>());</div>
+<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="comment">// Check if this node entered a callee.</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">if</span> (N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>().<a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a><<a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>>()) {</div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="comment">// Still use the index of the CallExpr. It's needed to create the callee</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="comment">// StackFrameContext.</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> WList->enqueue(N, Block, Idx);</div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> }</div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div>
+<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="comment">// Do not create extra nodes. Move to the next CFG element.</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="keywordflow">if</span> (N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>().<a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a><<a class="code" href="classclang_1_1PostInitializer.html">PostInitializer</a>>() ||</div>
+<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>().<a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a><<a class="code" href="classclang_1_1PostImplicitCall.html">PostImplicitCall</a>>()) {</div>
+<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> WList->enqueue(N, Block, Idx+1);</div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div>
+<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
+<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="keywordflow">if</span> (N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>().<a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a><<a class="code" href="classclang_1_1EpsilonPoint.html">EpsilonPoint</a>>()) {</div>
+<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> WList->enqueue(N, Block, Idx);</div>
+<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> }</div>
+<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
+<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="comment">// At this point, we know we're processing a normal statement.</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <a class="code" href="classclang_1_1CFGStmt.html">CFGStmt</a> CS = (*Block)[Idx].<a class="code" href="classclang_1_1CFGElement.html#afd7ac15036c3d2bc76afe3433657ac96" title="Convert to the specified CFGElement type, asserting that this CFGElement is of the desired type...">castAs</a><<a class="code" href="classclang_1_1CFGStmt.html">CFGStmt</a>>();</div>
+<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a> Loc(CS.<a class="code" href="classclang_1_1CFGStmt.html#a5ee8e559b08d6f99d3476a3eca5eebdb">getStmt</a>(), N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
+<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="keywordflow">if</span> (Loc == N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>()) {</div>
+<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="comment">// Note: 'N' should be a fresh node because otherwise it shouldn't be</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="comment">// a member of Deferred.</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> WList->enqueue(N, Block, Idx+1);</div>
+<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div>
+<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
+<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordtype">bool</span> IsNew;</div>
+<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Succ = G->getNode(Loc, N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>(), <span class="keyword">false</span>, &IsNew);</div>
+<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a463503d050cb1b2afa49318c3cb90e63">addPredecessor</a>(N, *G);</div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="keywordflow">if</span> (IsNew)</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> WList->enqueue(Succ, Block, Idx+1);</div>
+<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> }</div>
+<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
+<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *CoreEngine::generateCallExitBeginNode(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="comment">// Create a CallExitBegin node and enqueue it.</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *LocCtx</div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> = cast<StackFrameContext>(N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div>
+<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="comment">// Use the callee location context.</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <a class="code" href="classclang_1_1CallExitBegin.html">CallExitBegin</a> Loc(LocCtx);</div>
+<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
+<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordtype">bool</span> isNew;</div>
+<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Node = G->getNode(Loc, N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>(), <span class="keyword">false</span>, &isNew);</div>
+<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a463503d050cb1b2afa49318c3cb90e63">addPredecessor</a>(N, *G);</div>
+<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordflow">return</span> isNew ? Node : 0;</div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> }</div>
+<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
+<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
+<div class="line"><a name="l00569"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#afc524ea3e9b1d335c19fc4a857dedcf4"> 569</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#afc524ea3e9b1d335c19fc4a857dedcf4" title="Enqueue the given set of nodes onto the work list.">CoreEngine::enqueue</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &Set) {</div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#adece9a4cb80a114fde7ca1592e1b498b">ExplodedNodeSet::iterator</a> I = Set.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ae867478a80d850c6837f780d47952d29">begin</a>(),</div>
+<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> E = Set.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ad0bceca183403a2b571e20f2fd233bea">end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> WList->enqueue(*I);</div>
+<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> }</div>
+<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> }</div>
+<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div>
+<div class="line"><a name="l00576"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a5480d5f7edecc52528a82c5f0c6c6de7"> 576</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#afc524ea3e9b1d335c19fc4a857dedcf4" title="Enqueue the given set of nodes onto the work list.">CoreEngine::enqueue</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &Set,</div>
+<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block, <span class="keywordtype">unsigned</span> Idx) {</div>
+<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#adece9a4cb80a114fde7ca1592e1b498b">ExplodedNodeSet::iterator</a> I = Set.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ae867478a80d850c6837f780d47952d29">begin</a>(),</div>
+<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> E = Set.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ad0bceca183403a2b571e20f2fd233bea">end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> enqueueStmtNode(*I, Block, Idx);</div>
+<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> }</div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> }</div>
+<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
+<div class="line"><a name="l00584"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#ae5033b0658c1835938b83554b36905c8"> 584</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#ae5033b0658c1835938b83554b36905c8" title="enqueue the nodes corresponding to the end of function onto the end of path / work list...">CoreEngine::enqueueEndOfFunction</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &Set) {</div>
+<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#adece9a4cb80a114fde7ca1592e1b498b">ExplodedNodeSet::iterator</a> I = Set.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ae867478a80d850c6837f780d47952d29">begin</a>(), E = Set.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ad0bceca183403a2b571e20f2fd233bea">end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N = *I;</div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment">// If we are in an inlined call, generate CallExitBegin node.</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordflow">if</span> (N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>()-><a class="code" href="classclang_1_1LocationContext.html#a4a200c6c56997dbcef69ea2cb7c67b75">getParent</a>()) {</div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> N = generateCallExitBeginNode(N);</div>
+<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordflow">if</span> (N)</div>
+<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> WList->enqueue(N);</div>
+<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="comment">// TODO: We should run remove dead bindings here.</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> G->addEndOfPath(N);</div>
+<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> NumPathsExplored++;</div>
+<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
+<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> }</div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> }</div>
+<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div>
+<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
+<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordtype">void</span> NodeBuilder::anchor() { }</div>
+<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
+<div class="line"><a name="l00603"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab9998b0a738f9ee2e0f481f2019e348a"> 603</a></span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a>* <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab9998b0a738f9ee2e0f481f2019e348a">NodeBuilder::generateNodeImpl</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Loc,</div>
+<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State,</div>
+<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *FromN,</div>
+<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="keywordtype">bool</span> MarkAsSink) {</div>
+<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> HasGeneratedNodes = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="keywordtype">bool</span> IsNew;</div>
+<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N = C.Eng.G->getNode(Loc, State, MarkAsSink, &IsNew);</div>
+<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a463503d050cb1b2afa49318c3cb90e63">addPredecessor</a>(FromN, *C.Eng.G);</div>
+<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> Frontier.erase(FromN);</div>
+<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
+<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordflow">if</span> (!IsNew)</div>
+<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> </div>
+<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">if</span> (!MarkAsSink)</div>
+<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> Frontier.Add(N);</div>
+<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
+<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="keywordflow">return</span> N;</div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> }</div>
+<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
+<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordtype">void</span> NodeBuilderWithSinks::anchor() { }</div>
+<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
+<div class="line"><a name="l00624"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#a6bc5af07e2f758e61dfcf9aa7ea2b855"> 624</a></span> <a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#a6bc5af07e2f758e61dfcf9aa7ea2b855">StmtNodeBuilder::~StmtNodeBuilder</a>() {</div>
+<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="keywordflow">if</span> (EnclosingBldr)</div>
+<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#adece9a4cb80a114fde7ca1592e1b498b">ExplodedNodeSet::iterator</a> I = Frontier.begin(),</div>
+<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> E = Frontier.end(); I != E; ++I )</div>
+<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> EnclosingBldr->addNodes(*I);</div>
+<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> }</div>
+<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> </div>
+<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keywordtype">void</span> BranchNodeBuilder::anchor() { }</div>
+<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> </div>
+<div class="line"><a name="l00633"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a679e68231ed36df7fd61ad3b9163d051"> 633</a></span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a679e68231ed36df7fd61ad3b9163d051">BranchNodeBuilder::generateNode</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State,</div>
+<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="keywordtype">bool</span> branch,</div>
+<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *NodePred) {</div>
+<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment">// If the branch has been marked infeasible we should not generate a node.</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="keywordflow">if</span> (!isFeasible(branch))</div>
+<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div>
+<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> Loc = <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(C.Block, branch ? DstT:DstF,</div>
+<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> NodePred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Succ = generateNodeImpl(Loc, State, NodePred);</div>
+<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">return</span> Succ;</div>
+<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> }</div>
+<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div>
+<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a>*</div>
+<div class="line"><a name="l00647"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#ace644d579b74cf804eda8e684d9b398e"> 647</a></span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#ace644d579b74cf804eda8e684d9b398e">IndirectGotoNodeBuilder::generateNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html">iterator</a> &I,</div>
+<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> St,</div>
+<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="keywordtype">bool</span> IsSink) {</div>
+<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="keywordtype">bool</span> IsNew;</div>
+<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Succ = Eng.G->getNode(<a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(Src, I.<a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#aa63fab1217a1a8832be09a227e6f0ba0">getBlock</a>(),</div>
+<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>()), St,</div>
+<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> IsSink, &IsNew);</div>
+<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a463503d050cb1b2afa49318c3cb90e63">addPredecessor</a>(Pred, *Eng.G);</div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div>
+<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="keywordflow">if</span> (!IsNew)</div>
+<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div>
+<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">if</span> (!IsSink)</div>
+<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> Eng.WList->enqueue(Succ);</div>
+<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div>
+<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordflow">return</span> Succ;</div>
+<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> }</div>
+<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
+<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> </div>
+<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a>*</div>
+<div class="line"><a name="l00667"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a85d6e1bed79ee50a6ffaf68aa7b04914"> 667</a></span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a85d6e1bed79ee50a6ffaf68aa7b04914">SwitchNodeBuilder::generateCaseStmtNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a> &I,</div>
+<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> St) {</div>
+<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> </div>
+<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="keywordtype">bool</span> IsNew;</div>
+<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Succ = Eng.G->getNode(<a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(Src, I.<a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#a5b354b4c42f196a1523231056bf4acc2">getBlock</a>(),</div>
+<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>()), St,</div>
+<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="keyword">false</span>, &IsNew);</div>
+<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a463503d050cb1b2afa49318c3cb90e63">addPredecessor</a>(Pred, *Eng.G);</div>
+<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">if</span> (!IsNew)</div>
+<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
+<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> Eng.WList->enqueue(Succ);</div>
+<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="keywordflow">return</span> Succ;</div>
+<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> }</div>
+<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div>
+<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div>
+<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a>*</div>
+<div class="line"><a name="l00684"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a8578ec54618034a941b51e273746d146"> 684</a></span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a8578ec54618034a941b51e273746d146">SwitchNodeBuilder::generateDefaultCaseNode</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> St,</div>
+<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keywordtype">bool</span> IsSink) {</div>
+<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="comment">// Get the block for the default case.</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> assert(Src->succ_rbegin() != Src->succ_rend());</div>
+<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *DefaultBlock = *Src-><a class="code" href="classclang_1_1CFGBlock.html#a79076f1bda3aaa5124b0fe05a7bfbc10">succ_rbegin</a>();</div>
+<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div>
+<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="comment">// Sanity check for default blocks that are unreachable and not caught</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="comment">// by earlier stages.</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordflow">if</span> (!DefaultBlock)</div>
+<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
+<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keywordtype">bool</span> IsNew;</div>
+<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Succ = Eng.G->getNode(<a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(Src, DefaultBlock,</div>
+<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>()), St,</div>
+<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> IsSink, &IsNew);</div>
+<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a463503d050cb1b2afa49318c3cb90e63">addPredecessor</a>(Pred, *Eng.G);</div>
+<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div>
+<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="keywordflow">if</span> (!IsNew)</div>
+<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> </div>
+<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordflow">if</span> (!IsSink)</div>
+<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> Eng.WList->enqueue(Succ);</div>
+<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
+<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="keywordflow">return</span> Succ;</div>
+<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,559 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: CoreEngine.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_8c061bf4f1cf580e717ceaf4321c4465.html">Core</a></li><li class="navelem"><a class="el" href="dir_9dfcb8f019bd52e3ad37a9c9467cc9bb.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CoreEngine.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CoreEngine_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/Release+Asserts/CoreEngine.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/Release+Asserts/CoreEngine.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> CoreEngine.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/AnalysisContext.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/CFG.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/Support/BumpVector.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/ProgramPoint.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> /home/tstellar/llvm/include/llvm/ADT/BitVector.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtCXX.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def \</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> /home/tstellar/llvm/include/llvm/ADT/Statistic.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> /home/tstellar/llvm/include/llvm/Support/Atomic.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> /home/tstellar/llvm/include/llvm/Support/Valgrind.h</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h:</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/AnalysisContext.h:</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/CFG.h:</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/Support/BumpVector.h:</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h:</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h:</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h:</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/ProgramPoint.h:</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h:</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h:</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h:</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h:</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h:</div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.h:</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h:</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h:</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h:</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h:</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h:</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h:</div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h:</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.h:</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h:</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h:</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h:</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h:</div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> /home/tstellar/llvm/include/llvm/ADT/BitVector.h:</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h:</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtCXX.h:</div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h:</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:</div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def:</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h:</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h:</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> /home/tstellar/llvm/include/llvm/ADT/ilist.h:</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.h:</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.h:</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h:</div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h:</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h:</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h:</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> /home/tstellar/llvm/include/llvm/ADT/Statistic.h:</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> /home/tstellar/llvm/include/llvm/Support/Atomic.h:</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> /home/tstellar/llvm/include/llvm/Support/Valgrind.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CoreEngine_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,629 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: CoreEngine.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_70579d56c0ce0f64b5ed66d6a11cf1c7.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_734a8767d7ca7d508f91a2e813224558.html">Core</a></li><li class="navelem"><a class="el" href="dir_bee9744499c06630fee7a102afddbe3a.html">PathSensitive</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CoreEngine.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CoreEngine_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//==- CoreEngine.h - Path-Sensitive Dataflow Engine ----------------*- C++ -*-//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This file defines a generic engine for intraprocedural, path-sensitive,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// dataflow analysis via graph reachability.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef LLVM_CLANG_GR_COREENGINE</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_GR_COREENGINE</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="Expr_8h.html">clang/AST/Expr.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="AnalysisContext_8h.html">clang/Analysis/AnalysisContext.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="BlockCounter_8h.html">clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="ExplodedGraph_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="FunctionSummary_8h.html">clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="WorkList_8h.html">clang/StaticAnalyzer/Core/PathSensitive/WorkList.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "llvm/ADT/OwningPtr.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">class </span>ProgramPointTag;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">class </span>NodeBuilder;</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/// CoreEngine - Implements the core logic of the graph-reachability</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/// analysis. It traverses the CFG and generates the ExplodedGraph.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/// Program "states" are treated as opaque void pointers.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/// The template class CoreEngine (which subclasses CoreEngine)</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/// provides the matching component to the engine that knows the actual types</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/// for states. Note that this engine only dispatches to transfer functions</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/// at the statement and block-level. The analyses themselves must implement</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/// any transfer function logic and the sub-expression level (if any).</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html"> 43</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a> {</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a544df9a76205b125137796695b2f4d4e"> 44</a></span> <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a>;</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a3698ada19fa4946ec1b589a2b23e695f"> 45</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a>;</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a134e20c8d5a550fd6f84eb8e2181083a"> 46</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1ExprEngine.html">ExprEngine</a>;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a2867a3c8b66cc5b0f6918e4c4c287861"> 47</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a2867a3c8b66cc5b0f6918e4c4c287861">CommonNodeBuilder</a>;</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a5ab5c77f80533d5cf685befbd5123aa4"> 48</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html">IndirectGotoNodeBuilder</a>;</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a03b13d881c96049b76ffa007b1f55b37"> 49</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html">SwitchNodeBuilder</a>;</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aadbc8e598051d602ec7eaf61d76852f0"> 50</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aadbc8e598051d602ec7eaf61d76852f0">EndOfFunctionNodeBuilder</a>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">typedef</span> std::vector<std::pair<BlockEdge, const ExplodedNode*> ></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aa2041aa3547d8c6b64d5c0bfd9606276"> 53</a></span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aa2041aa3547d8c6b64d5c0bfd9606276">BlocksExhausted</a>;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">typedef</span> std::vector<std::pair<const CFGBlock*, const ExplodedNode*> ></div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#af1962a3f9470fee2756efb7122c6804b"> 56</a></span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#af1962a3f9470fee2756efb7122c6804b">BlocksAborted</a>;</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a>& SubEng;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"></span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> /// G - The simulation graph. Each node is a (location,state) pair.</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"></span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<ExplodedGraph></a> G;</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"></span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> /// WList - A set of queued nodes that need to be processed by the</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> /// worklist algorithm. It is up to the implementation of WList to decide</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> /// the order that nodes are processed.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<WorkList></a> WList;</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"></span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> /// BCounterFactory - A factory object for created BlockCounter objects.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> /// These are used to record for key nodes in the ExplodedGraph the</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> /// number of times different CFGBlocks have been visited along a path.</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1BlockCounter_1_1Factory.html">BlockCounter::Factory</a> BCounterFactory;</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"></span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> /// The locations where we stopped doing work because we visited a location</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> /// too many times.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aa2041aa3547d8c6b64d5c0bfd9606276">BlocksExhausted</a> blocksExhausted;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"></span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> /// The locations where we stopped because the engine aborted analysis,</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> /// usually because it could not reason about something.</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#af1962a3f9470fee2756efb7122c6804b">BlocksAborted</a> blocksAborted;</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> /// The information about functions shared by the whole translation unit.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> /// (This data is owned by AnalysisConsumer.)</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1FunctionSummariesTy.html">FunctionSummariesTy</a> *FunctionSummaries;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">void</span> generateNode(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>,</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred);</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">void</span> HandleBlockEdge(<span class="keyword">const</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> &E, <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred);</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">void</span> HandleBlockEntrance(<span class="keyword">const</span> <a class="code" href="classclang_1_1BlockEntrance.html">BlockEntrance</a> &E, <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred);</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">void</span> HandleBlockExit(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred);</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">void</span> HandlePostStmt(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <span class="keywordtype">unsigned</span> StmtIdx, <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred);</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">void</span> HandleBranch(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Cond, <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Term, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B,</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred);</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"></span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> /// Handle conditional logic for running static initializers.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"></span> <span class="keywordtype">void</span> HandleStaticInit(<span class="keyword">const</span> <a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> *DS, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B,</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred);</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">void</span> operator=(const <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *generateCallExitBeginNode(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N);</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> public:<span class="comment"></span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// Construct a CoreEngine object to analyze the provided CFG.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#acd06c00e292d279d24c069842188c907"> 111</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a>(<a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a>& subengine,</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <a class="code" href="classclang_1_1ento_1_1FunctionSummariesTy.html">FunctionSummariesTy</a> *FS)</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> : SubEng(subengine), G(new <a class="code" href="classclang_1_1ento_1_1ExplodedGraph.html">ExplodedGraph</a>()),</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> WList(<a class="code" href="classclang_1_1ento_1_1WorkList.html">WorkList</a>::makeDFS()),</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> BCounterFactory(G->getAllocator()),</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> FunctionSummaries(FS){}</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"></span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> /// getGraph - Returns the exploded graph.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a6ec413697f65cc4495bb24917fb27877"> 119</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1ExplodedGraph.html">ExplodedGraph</a>& <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a6ec413697f65cc4495bb24917fb27877" title="getGraph - Returns the exploded graph.">getGraph</a>() { <span class="keywordflow">return</span> *G.get(); }</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"></span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> /// takeGraph - Returns the exploded graph. Ownership of the graph is</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> /// transferred to the caller.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a8220e1d27408598152a0c0bde8dade77"> 123</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1ExplodedGraph.html">ExplodedGraph</a>* <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a8220e1d27408598152a0c0bde8dade77">takeGraph</a>() { <span class="keywordflow">return</span> G.take(); }</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"></span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> /// ExecuteWorkList - Run the worklist algorithm for a maximum number of</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> /// steps. Returns true if there is still simulation state on the worklist.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aacfebeb573f5ffdc7d9b1bc4a7b9daf2" title="ExecuteWorkList - Run the worklist algorithm for a maximum number of steps.">ExecuteWorkList</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L, <span class="keywordtype">unsigned</span> Steps,</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> InitState);<span class="comment"></span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> /// Returns true if there is still simulation state on the worklist.</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aa77d1dd2edfedbbb4689791fdcb53e2e" title="Returns true if there is still simulation state on the worklist.">ExecuteWorkListWithInitialState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">unsigned</span> Steps,</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> InitState, </div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &Dst);</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"></span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> /// Dispatch the work list item based on the given location information.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> /// Use Pred parameter as the predecessor state.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a29536159efaac3e8e2846998a8e0f39f">dispatchWorkItem</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a>* Pred, <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>,</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1WorkListUnit.html">WorkListUnit</a>& WU);</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">// Functions for external checking of whether we have unfinished work</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a026c74ca4f2a702d7cd0b06bec0ead8a"> 141</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a026c74ca4f2a702d7cd0b06bec0ead8a">wasBlockAborted</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !blocksAborted.empty(); }</div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a98b715b5637ca324c0fe4a0d41799692"> 142</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a98b715b5637ca324c0fe4a0d41799692">wasBlocksExhausted</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !blocksExhausted.empty(); }</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aeb6d80fb85428f5e2e4a11fa4e553ca9"> 143</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aeb6d80fb85428f5e2e4a11fa4e553ca9">hasWorkRemaining</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a98b715b5637ca324c0fe4a0d41799692">wasBlocksExhausted</a>() || </div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> WList->hasWork() || </div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a026c74ca4f2a702d7cd0b06bec0ead8a">wasBlockAborted</a>(); }</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"></span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> /// Inform the CoreEngine that a basic block was aborted because</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> /// it could not be completely analyzed.</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a042e864df9e08cc693c89cbafd5f523e"> 149</a></span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a042e864df9e08cc693c89cbafd5f523e">addAbortedBlock</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *node, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *block) {</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> blocksAborted.push_back(std::make_pair(block, node));</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a0c3259535b0dba4025b899b5e44e475c"> 153</a></span> <a class="code" href="classclang_1_1ento_1_1WorkList.html">WorkList</a> *<a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a0c3259535b0dba4025b899b5e44e475c">getWorkList</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> WList.get(); }</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#ad2283cc14f1955f1171b3a195c105d40"> 155</a></span> BlocksExhausted::const_iterator <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#ad2283cc14f1955f1171b3a195c105d40">blocks_exhausted_begin</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">return</span> blocksExhausted.begin();</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a16a3fa196313d6b2075c2cafc3442479"> 158</a></span> BlocksExhausted::const_iterator <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a16a3fa196313d6b2075c2cafc3442479">blocks_exhausted_end</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">return</span> blocksExhausted.end();</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aed6527e4fe71f137e4a2f79f8aa4c307"> 161</a></span> BlocksAborted::const_iterator <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#aed6527e4fe71f137e4a2f79f8aa4c307">blocks_aborted_begin</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span> blocksAborted.begin();</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a2c28f7dbaf970c38fe85eecdb18b3e82"> 164</a></span> BlocksAborted::const_iterator <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a2c28f7dbaf970c38fe85eecdb18b3e82">blocks_aborted_end</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">return</span> blocksAborted.end();</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"></span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> /// \brief Enqueue the given set of nodes onto the work list.</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#afc524ea3e9b1d335c19fc4a857dedcf4" title="Enqueue the given set of nodes onto the work list.">enqueue</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &Set);</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"></span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> /// \brief Enqueue nodes that were created as a result of processing</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> /// a statement onto the work list.</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#afc524ea3e9b1d335c19fc4a857dedcf4" title="Enqueue the given set of nodes onto the work list.">enqueue</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &Set, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block, <span class="keywordtype">unsigned</span> Idx);</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"></span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> /// \brief enqueue the nodes corresponding to the end of function onto the</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> /// end of path / work list.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#ae5033b0658c1835938b83554b36905c8" title="enqueue the nodes corresponding to the end of function onto the end of path / work list...">enqueueEndOfFunction</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &Set);</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"></span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> /// \brief Enqueue a single node created as a result of statement processing.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html#a16d2a2038182d9190d609cf33d79aacd" title="Enqueue a single node created as a result of statement processing.">enqueueStmtNode</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Block, <span class="keywordtype">unsigned</span> Idx);</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> };</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">// TODO: Turn into a calss.</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html"> 184</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> {</div>
+<div class="line"><a name="l00185"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a913ce2502da40dc5b370828758ac3458"> 185</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a> &<a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a913ce2502da40dc5b370828758ac3458">Eng</a>;</div>
+<div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a81a1575f26caf41d9ae2bab30353b85f"> 186</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a81a1575f26caf41d9ae2bab30353b85f">Block</a>;</div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#ab1147977b82a3c87f7348b17aa200c72"> 187</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *<a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#ab1147977b82a3c87f7348b17aa200c72">LC</a>;</div>
+<div class="line"><a name="l00188"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a6b4ac76432a5ee9bb065aecf58af4a24"> 188</a></span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a6b4ac76432a5ee9bb065aecf58af4a24">NodeBuilderContext</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a> &E, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N)</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> : <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a913ce2502da40dc5b370828758ac3458">Eng</a>(E), <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a81a1575f26caf41d9ae2bab30353b85f">Block</a>(B), <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#ab1147977b82a3c87f7348b17aa200c72">LC</a>(N->getLocationContext()) { assert(B); }</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"></span></div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment"> /// \brief Return the CFGBlock associated with this builder.</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#af5ee3a469a6bab2674aaff6e76db88c8"> 192</a></span> <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#af5ee3a469a6bab2674aaff6e76db88c8" title="Return the CFGBlock associated with this builder.">getBlock</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a81a1575f26caf41d9ae2bab30353b85f">Block</a>; }</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"></span></div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> /// \brief Returns the number of times the current basic block has been</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> /// visited on the exploded graph path.</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#ae45de34e56570a26404d476375e8cb49"> 196</a></span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#ae45de34e56570a26404d476375e8cb49" title="Returns the number of times the current basic block has been visited on the exploded graph path...">blockCount</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a913ce2502da40dc5b370828758ac3458">Eng</a>.WList->getBlockCounter().getNumVisited(</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#ab1147977b82a3c87f7348b17aa200c72">LC</a>-><a class="code" href="classclang_1_1LocationContext.html#ad4512d946266fda30b7439564a9f831c">getCurrentStackFrame</a>(),</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html#a81a1575f26caf41d9ae2bab30353b85f">Block</a>-><a class="code" href="classclang_1_1CFGBlock.html#ab32c4ed9a5a96fd078e3df31ec6c5a07">getBlockID</a>());</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> };</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"></span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/// \class NodeBuilder</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/// \brief This is the simplest builder which generates nodes in the</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">/// ExplodedGraph.</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">/// The main benefit of the builder is that it automatically tracks the</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/// frontier nodes (or destination set). This is the set of nodes which should</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">/// be propagated to the next step / builder. They are the nodes which have been</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/// added to the builder (either as the input node set or as the newly</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/// constructed nodes) but did not have any outgoing transitions added.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html"> 212</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a> {</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> anchor();</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a00f0c293f09f04995958b45c2feb47a4"> 215</a></span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> &<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a00f0c293f09f04995958b45c2feb47a4">C</a>;</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment"></span></div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment"> /// Specifies if the builder results have been finalized. For example, if it</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment"> /// is set to false, autotransitions are yet to be generated.</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a12c7cd9c55b04895a18ee196b7aa3f19"> 219</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a12c7cd9c55b04895a18ee196b7aa3f19">Finalized</a>;</div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#adbd784d7c4ea2114a4cfe607a1707746"> 220</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#adbd784d7c4ea2114a4cfe607a1707746">HasGeneratedNodes</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> /// \brief The frontier set - a set of nodes which need to be propagated after</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> /// the builder dies.</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03"> 223</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>;</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"></span></div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> /// Checkes if the results are ready.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab56d1e8662408eae3c599c2c11cc93f5"> 226</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab56d1e8662408eae3c599c2c11cc93f5" title="Checkes if the results are ready.">checkResults</a>() {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a12c7cd9c55b04895a18ee196b7aa3f19">Finalized</a>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a920c89661fbc576e764b005c584ed7b2"> 232</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a920c89661fbc576e764b005c584ed7b2">hasNoSinksInFrontier</a>() {</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#affb45f212df94fdc6de138dd09e8a15c">iterator</a> I = <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ae867478a80d850c6837f780d47952d29">begin</a>(), E = <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ad0bceca183403a2b571e20f2fd233bea">end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">if</span> ((*I)->isSink())</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment"></span></div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment"> /// Allow subclasses to finalize results before result_begin() is executed.</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a0454476131e975f6811d56a6e84a64e4"> 241</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a0454476131e975f6811d56a6e84a64e4" title="Allow subclasses to finalize results before result_begin() is executed.">finalizeResults</a>() {}</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab9998b0a738f9ee2e0f481f2019e348a">generateNodeImpl</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &PP,</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred,</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordtype">bool</span> MarkAsSink = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00249"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a73c2e83ee9b45b5f5ce4dd0eafb7396e"> 249</a></span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a73c2e83ee9b45b5f5ce4dd0eafb7396e">NodeBuilder</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *SrcNode, <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &DstSet,</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> &Ctx, <span class="keywordtype">bool</span> F = <span class="keyword">true</span>)</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> : <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a00f0c293f09f04995958b45c2feb47a4">C</a>(Ctx), <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a12c7cd9c55b04895a18ee196b7aa3f19">Finalized</a>(F), <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#adbd784d7c4ea2114a4cfe607a1707746">HasGeneratedNodes</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>(DstSet) {</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#aba7834a108cef5041addb325faa56cf8">Add</a>(SrcNode);</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#aacd2fd02b07140cb375b9d11d6b989f6"> 255</a></span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a73c2e83ee9b45b5f5ce4dd0eafb7396e">NodeBuilder</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &SrcSet, <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &DstSet,</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> &Ctx, <span class="keywordtype">bool</span> F = <span class="keyword">true</span>)</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> : <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a00f0c293f09f04995958b45c2feb47a4">C</a>(Ctx), <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a12c7cd9c55b04895a18ee196b7aa3f19">Finalized</a>(F), <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#adbd784d7c4ea2114a4cfe607a1707746">HasGeneratedNodes</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>(DstSet) {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#a934ff40e703cf8565fda7d4dd6746a99">insert</a>(SrcSet);</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> assert(<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a920c89661fbc576e764b005c584ed7b2">hasNoSinksInFrontier</a>());</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a69dc3083be9d6363ffb19f88e73f50bb"> 262</a></span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a69dc3083be9d6363ffb19f88e73f50bb">~NodeBuilder</a>() {}</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment"></span></div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> /// \brief Generates a node in the ExplodedGraph.</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab8da62b15d39aad0e4f13f8deaaba6aa"> 265</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab8da62b15d39aad0e4f13f8deaaba6aa" title="Generates a node in the ExplodedGraph.">generateNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &PP,</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred) {</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab9998b0a738f9ee2e0f481f2019e348a">generateNodeImpl</a>(PP, State, Pred, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"></span></div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> /// \brief Generates a sink in the ExplodedGraph.</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> /// When a node is marked as sink, the exploration from the node is stopped -</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment"> /// the node becomes the last node on the path and certain kinds of bugs are</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"> /// suppressed.</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a910d1dbb62f7b66b8c7936c93e33c17c"> 276</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a910d1dbb62f7b66b8c7936c93e33c17c" title="Generates a sink in the ExplodedGraph.">generateSink</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &PP,</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred) {</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab9998b0a738f9ee2e0f481f2019e348a">generateNodeImpl</a>(PP, State, Pred, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ac9a2c081140f6b1aee6b6384a071d870"> 282</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ac9a2c081140f6b1aee6b6384a071d870">getResults</a>() {</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a0454476131e975f6811d56a6e84a64e4" title="Allow subclasses to finalize results before result_begin() is executed.">finalizeResults</a>();</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> assert(<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab56d1e8662408eae3c599c2c11cc93f5" title="Checkes if the results are ready.">checkResults</a>());</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>;</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#affb45f212df94fdc6de138dd09e8a15c"> 288</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#adece9a4cb80a114fde7ca1592e1b498b">ExplodedNodeSet::iterator</a> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#affb45f212df94fdc6de138dd09e8a15c">iterator</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> /// \brief Iterators through the results frontier.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a36dd70f8cc88fe20c90c2a5c9cf34e58"> 290</a></span> <span class="comment"></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#affb45f212df94fdc6de138dd09e8a15c">iterator</a> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a36dd70f8cc88fe20c90c2a5c9cf34e58" title="Iterators through the results frontier.">begin</a>() {</div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a0454476131e975f6811d56a6e84a64e4" title="Allow subclasses to finalize results before result_begin() is executed.">finalizeResults</a>();</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> assert(<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab56d1e8662408eae3c599c2c11cc93f5" title="Checkes if the results are ready.">checkResults</a>());</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ae867478a80d850c6837f780d47952d29">begin</a>();</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
+<div class="line"><a name="l00295"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a1863e714c138adc71c7eef74f34db5ce"> 295</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#affb45f212df94fdc6de138dd09e8a15c">iterator</a> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a1863e714c138adc71c7eef74f34db5ce">end</a>() {</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a0454476131e975f6811d56a6e84a64e4" title="Allow subclasses to finalize results before result_begin() is executed.">finalizeResults</a>();</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ad0bceca183403a2b571e20f2fd233bea">end</a>();</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ae0f581a6d7cf5c59381342c0541a30ad"> 300</a></span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> &<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ae0f581a6d7cf5c59381342c0541a30ad">getContext</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a00f0c293f09f04995958b45c2feb47a4">C</a>; }</div>
+<div class="line"><a name="l00301"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab3f5fd8eb51e4fe85b0ad3fe18483ea5"> 301</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab3f5fd8eb51e4fe85b0ad3fe18483ea5">hasGeneratedNodes</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#adbd784d7c4ea2114a4cfe607a1707746">HasGeneratedNodes</a>; }</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a5fbe3a122da17078071b2bb419c85094"> 303</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a5fbe3a122da17078071b2bb419c85094">takeNodes</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#adece9a4cb80a114fde7ca1592e1b498b">ExplodedNodeSet::iterator</a> I = S.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ae867478a80d850c6837f780d47952d29">begin</a>(), E = S.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ad0bceca183403a2b571e20f2fd233bea">end</a>(); I != E; ++I )</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#a49c931fd8e75de40234a1506d2a31d97">erase</a>(*I);</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div>
+<div class="line"><a name="l00307"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a207f45b74582ff607d7830121912cbcb"> 307</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a207f45b74582ff607d7830121912cbcb">takeNodes</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) { <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#a49c931fd8e75de40234a1506d2a31d97">erase</a>(N); }</div>
+<div class="line"><a name="l00308"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#aa488190c1d75c5db582cedb1daf0c1f4"> 308</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#aa488190c1d75c5db582cedb1daf0c1f4">addNodes</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#a934ff40e703cf8565fda7d4dd6746a99">insert</a>(S); }</div>
+<div class="line"><a name="l00309"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a854804b7a760f87bf3eede5a7235905c"> 309</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a854804b7a760f87bf3eede5a7235905c">addNodes</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) { <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a84b965288a5207d32b39882399878f03" title="The frontier set - a set of nodes which need to be propagated after the builder dies.">Frontier</a>.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#aba7834a108cef5041addb325faa56cf8">Add</a>(N); }</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> };</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment"></span></div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment">/// \class NodeBuilderWithSinks</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment">/// \brief This node builder keeps track of the generated sink nodes.</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html"> 314</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html" title="This node builder keeps track of the generated sink nodes.">NodeBuilderWithSinks</a>: <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a> {</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> anchor();</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00317"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#aae9b23dddffc8644e5d411984c0e5b60"> 317</a></span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<ExplodedNode*, 2></a> <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#aae9b23dddffc8644e5d411984c0e5b60">sinksGenerated</a>;</div>
+<div class="line"><a name="l00318"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a88293aa97fdbda7d7822f2b6e1af919d"> 318</a></span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &<a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a88293aa97fdbda7d7822f2b6e1af919d">Location</a>;</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00321"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a4c6a7a6d9eb4358375717b254e136d0b"> 321</a></span> <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a4c6a7a6d9eb4358375717b254e136d0b">NodeBuilderWithSinks</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred, <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &DstSet,</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> &Ctx, <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &L)</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> : <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a>(Pred, DstSet, Ctx), <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a88293aa97fdbda7d7822f2b6e1af919d">Location</a>(L) {}</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#ac693643344974cd60f52fa763ebb8c1d"> 325</a></span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#ac693643344974cd60f52fa763ebb8c1d">generateNode</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred,</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *Tag = 0) {</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &LocalLoc = (Tag ? <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a88293aa97fdbda7d7822f2b6e1af919d">Location</a>.<a class="code" href="classclang_1_1ProgramPoint.html#a351395c583b1d7f89ef02b3eecabec6a">withTag</a>(Tag) : <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a88293aa97fdbda7d7822f2b6e1af919d">Location</a>);</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab8da62b15d39aad0e4f13f8deaaba6aa" title="Generates a node in the ExplodedGraph.">NodeBuilder::generateNode</a>(LocalLoc, State, Pred);</div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a50bef6c1326ef6f8c4bd93b6b19a551d"> 332</a></span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a50bef6c1326ef6f8c4bd93b6b19a551d">generateSink</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred,</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *Tag = 0) {</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &LocalLoc = (Tag ? <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a88293aa97fdbda7d7822f2b6e1af919d">Location</a>.<a class="code" href="classclang_1_1ProgramPoint.html#a351395c583b1d7f89ef02b3eecabec6a">withTag</a>(Tag) : <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#a88293aa97fdbda7d7822f2b6e1af919d">Location</a>);</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N = <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a910d1dbb62f7b66b8c7936c93e33c17c" title="Generates a sink in the ExplodedGraph.">NodeBuilder::generateSink</a>(LocalLoc, State, Pred);</div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span> (N && N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a7dfe6317dff0b26ce46c1aff70d834c6">isSink</a>())</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#aae9b23dddffc8644e5d411984c0e5b60">sinksGenerated</a>.push_back(N);</div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">return</span> N;</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#af6c713bdfe13fc7a1afe44bbf4fd4750"> 341</a></span> <span class="keyword">const</span> <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<ExplodedNode*></a> &<a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#af6c713bdfe13fc7a1afe44bbf4fd4750">getSinks</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilderWithSinks.html#aae9b23dddffc8644e5d411984c0e5b60">sinksGenerated</a>;</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> }</div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> };</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"></span></div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment">/// \class StmtNodeBuilder</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment">/// \brief This builder class is useful for generating nodes that resulted from</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment">/// visiting a statement. The main difference from its parent NodeBuilder is</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment">/// that it creates a statement specific ProgramPoint.</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html"> 350</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html" title="This builder class is useful for generating nodes that resulted from visiting a statement. The main difference from its parent NodeBuilder is that it creates a statement specific ProgramPoint.">StmtNodeBuilder</a>: <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a> {</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a> *EnclosingBldr;</div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment"></span></div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> /// \brief Constructs a StmtNodeBuilder. If the builder is going to process</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> /// nodes currently owned by another builder(with larger scope), use</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"> /// Enclosing builder to transfer ownership.</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#a516179de1dd91776e000d884080f6e59"> 357</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#a516179de1dd91776e000d884080f6e59" title="Constructs a StmtNodeBuilder. If the builder is going to process nodes currently owned by another bui...">StmtNodeBuilder</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *SrcNode, <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &DstSet,</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> &Ctx, <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a> *Enclosing = 0)</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> : <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a>(SrcNode, DstSet, Ctx), EnclosingBldr(Enclosing) {</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">if</span> (EnclosingBldr)</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> EnclosingBldr-><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a5fbe3a122da17078071b2bb419c85094">takeNodes</a>(SrcNode);</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#af72760d01b2d935e3cd11da28f2b43c3"> 364</a></span> <a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#a516179de1dd91776e000d884080f6e59" title="Constructs a StmtNodeBuilder. If the builder is going to process nodes currently owned by another bui...">StmtNodeBuilder</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &SrcSet, <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &DstSet,</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> &Ctx, <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a> *Enclosing = 0)</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> : <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a>(SrcSet, DstSet, Ctx), EnclosingBldr(Enclosing) {</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">if</span> (EnclosingBldr)</div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#adece9a4cb80a114fde7ca1592e1b498b">ExplodedNodeSet::iterator</a> I = SrcSet.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ae867478a80d850c6837f780d47952d29">begin</a>(),</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> E = SrcSet.<a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html#ad0bceca183403a2b571e20f2fd233bea">end</a>(); I != E; ++I )</div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> EnclosingBldr-><a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a5fbe3a122da17078071b2bb419c85094">takeNodes</a>(*I);</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> }</div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#a6bc5af07e2f758e61dfcf9aa7ea2b855">~StmtNodeBuilder</a>();</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab8da62b15d39aad0e4f13f8deaaba6aa" title="Generates a node in the ExplodedGraph.">NodeBuilder::generateNode</a>;</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a910d1dbb62f7b66b8c7936c93e33c17c" title="Generates a sink in the ExplodedGraph.">NodeBuilder::generateSink</a>;</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#af59c01a2f8c50bf6de37aa74c852b8c3"> 378</a></span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#af59c01a2f8c50bf6de37aa74c852b8c3">generateNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>,</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred,</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> St,</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0,</div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">ProgramPoint::Kind</a> K = <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9bcf6985265d7a1e7f75791fba53cda9">ProgramPoint::PostStmtKind</a>){</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &L = <a class="code" href="classclang_1_1ProgramPoint.html#a240a6013a192e52369c11d80974f1a72">ProgramPoint::getProgramPoint</a>(S, K,</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>(), tag);</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#ab8da62b15d39aad0e4f13f8deaaba6aa" title="Generates a node in the ExplodedGraph.">NodeBuilder::generateNode</a>(L, St, Pred);</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#a32d168d8f8c2b3c5aaaa51ddf362caf9"> 388</a></span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1StmtNodeBuilder.html#a32d168d8f8c2b3c5aaaa51ddf362caf9">generateSink</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>,</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred,</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> St,</div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0,</div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">ProgramPoint::Kind</a> K = <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9bcf6985265d7a1e7f75791fba53cda9">ProgramPoint::PostStmtKind</a>){</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &L = <a class="code" href="classclang_1_1ProgramPoint.html#a240a6013a192e52369c11d80974f1a72">ProgramPoint::getProgramPoint</a>(S, K,</div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>(), tag);</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a910d1dbb62f7b66b8c7936c93e33c17c" title="Generates a sink in the ExplodedGraph.">NodeBuilder::generateSink</a>(L, St, Pred);</div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> }</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> };</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"></span></div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment">/// \brief BranchNodeBuilder is responsible for constructing the nodes</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment">/// corresponding to the two branches of the if statement - true and false.</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html"> 401</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html" title="BranchNodeBuilder is responsible for constructing the nodes corresponding to the two branches of the ...">BranchNodeBuilder</a>: <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a> {</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> anchor();</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *DstT;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *DstF;</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordtype">bool</span> InFeasibleTrue;</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keywordtype">bool</span> InFeasibleFalse;</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00410"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a0092d09dc6419ce2edcff5ea550213bc"> 410</a></span> <a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a0092d09dc6419ce2edcff5ea550213bc">BranchNodeBuilder</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *SrcNode, <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &DstSet,</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> &<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a00f0c293f09f04995958b45c2feb47a4">C</a>,</div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *dstT, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *dstF)</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> : <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a>(SrcNode, DstSet, C), DstT(dstT), DstF(dstF),</div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> InFeasibleTrue(!DstT), InFeasibleFalse(!DstF) {</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment">// The branch node builder does not generate autotransitions.</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="comment">// If there are no successors it means that both branches are infeasible.</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a5fbe3a122da17078071b2bb419c85094">takeNodes</a>(SrcNode);</div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> }</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#ad2c97bec38e4275f61184df1eff80b04"> 420</a></span> <a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a0092d09dc6419ce2edcff5ea550213bc">BranchNodeBuilder</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &SrcSet, <a class="code" href="classclang_1_1ento_1_1ExplodedNodeSet.html">ExplodedNodeSet</a> &DstSet,</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1NodeBuilderContext.html">NodeBuilderContext</a> &<a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a00f0c293f09f04995958b45c2feb47a4">C</a>,</div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *dstT, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *dstF)</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> : <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html" title="This is the simplest builder which generates nodes in the ExplodedGraph.">NodeBuilder</a>(SrcSet, DstSet, C), DstT(dstT), DstF(dstF),</div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> InFeasibleTrue(!DstT), InFeasibleFalse(!DstF) {</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <a class="code" href="classclang_1_1ento_1_1NodeBuilder.html#a5fbe3a122da17078071b2bb419c85094">takeNodes</a>(SrcSet);</div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> }</div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a679e68231ed36df7fd61ad3b9163d051">generateNode</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, <span class="keywordtype">bool</span> branch,</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred);</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a5189105a06e471921df066607f95f1c9"> 431</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a5189105a06e471921df066607f95f1c9">getTargetBlock</a>(<span class="keywordtype">bool</span> branch)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">return</span> branch ? DstT : DstF;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div>
+<div class="line"><a name="l00435"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a489e766b6727c0de1d1f6c349a602950"> 435</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a489e766b6727c0de1d1f6c349a602950">markInfeasible</a>(<span class="keywordtype">bool</span> branch) {</div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordflow">if</span> (branch)</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> InFeasibleTrue = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> InFeasibleFalse = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> }</div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
+<div class="line"><a name="l00442"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a9d800924846d82788fbb94d4a0919537"> 442</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1BranchNodeBuilder.html#a9d800924846d82788fbb94d4a0919537">isFeasible</a>(<span class="keywordtype">bool</span> branch) {</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">return</span> branch ? !InFeasibleTrue : !InFeasibleFalse;</div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> }</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> };</div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
+<div class="line"><a name="l00447"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html"> 447</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html">IndirectGotoNodeBuilder</a> {</div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a>& Eng;</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Src;</div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> &DispatchBlock;</div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E;</div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred;</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00455"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#a64c47ad1985d4a13dc0b4c4d544728bd"> 455</a></span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#a64c47ad1985d4a13dc0b4c4d544728bd">IndirectGotoNodeBuilder</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *pred, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *src, </div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *e, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *dispatch, <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a>* eng)</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> : Eng(*eng), Src(src), DispatchBlock(*dispatch), E(e), Pred(pred) {}</div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div>
+<div class="line"><a name="l00459"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html"> 459</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html">iterator</a> {</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock::const_succ_iterator</a> I;</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#a5ab5c77f80533d5cf685befbd5123aa4"> 462</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html">IndirectGotoNodeBuilder</a>;</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html">iterator</a>(<a class="code" href="classclang_1_1CFGBlock.html">CFGBlock::const_succ_iterator</a> i) : I(i) {}</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
+<div class="line"><a name="l00466"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#a2ad1c1a4c0a641a0af5ab5b1fa7f72cb"> 466</a></span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html">iterator</a> &<a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#a2ad1c1a4c0a641a0af5ab5b1fa7f72cb">operator++</a>() { ++I; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00467"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#a2afcf37459ebe9ca3e713933ee46d243"> 467</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#a2afcf37459ebe9ca3e713933ee46d243">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html">iterator</a> &<a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I != X.I; }</div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div>
+<div class="line"><a name="l00469"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#a41a3797284b2b4f246790c9d2fa2c94c"> 469</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *<a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#a41a3797284b2b4f246790c9d2fa2c94c">getLabel</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordflow">return</span> cast<LabelStmt>((*I)->getLabel())->getDecl();</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> }</div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
+<div class="line"><a name="l00473"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#aa63fab1217a1a8832be09a227e6f0ba0"> 473</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html#aa63fab1217a1a8832be09a227e6f0ba0">getBlock</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keywordflow">return</span> *I;</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> }</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> };</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#a4756c6a55041ed31d6bd1b65ebe96761"> 478</a></span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html">iterator</a> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#a4756c6a55041ed31d6bd1b65ebe96761">begin</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html">iterator</a>(DispatchBlock.<a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>()); }</div>
+<div class="line"><a name="l00479"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#a89a31f51944eb80d3cb8038bce243daa"> 479</a></span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html">iterator</a> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#a89a31f51944eb80d3cb8038bce243daa">end</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder_1_1iterator.html">iterator</a>(DispatchBlock.<a class="code" href="classclang_1_1CFGBlock.html#a1bcc002635a676581313a5e832b31cbc">succ_end</a>()); }</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#ace644d579b74cf804eda8e684d9b398e">generateNode</a>(<span class="keyword">const</span> iterator &I,</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keywordtype">bool</span> isSink = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div>
+<div class="line"><a name="l00485"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#abe057d3043379c11df6704cfad5bc504"> 485</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#abe057d3043379c11df6704cfad5bc504">getTarget</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> E; }</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
+<div class="line"><a name="l00487"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#af51a88ef55cd87c5f69489499aef81e0"> 487</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#af51a88ef55cd87c5f69489499aef81e0">getState</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Pred->State; }</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
+<div class="line"><a name="l00489"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#a30a705ed1288cae0016c9041781a883a"> 489</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *<a class="code" href="classclang_1_1ento_1_1IndirectGotoNodeBuilder.html#a30a705ed1288cae0016c9041781a883a">getLocationContext</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">return</span> Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> };</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html"> 494</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html">SwitchNodeBuilder</a> {</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a>& Eng;</div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Src;</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Condition;</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred;</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00501"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#aa2d7deff09bc0e7dab6800a63b12eb2d"> 501</a></span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#aa2d7deff09bc0e7dab6800a63b12eb2d">SwitchNodeBuilder</a>(<a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *pred, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *src,</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *condition, <a class="code" href="classclang_1_1ento_1_1CoreEngine.html">CoreEngine</a>* eng)</div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> : Eng(*eng), Src(src), Condition(condition), Pred(pred) {}</div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
+<div class="line"><a name="l00505"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html"> 505</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a> {</div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <a class="code" href="classclang_1_1CFGBlock.html#a4cc56ea38909057bf09d4e45493d89d1">CFGBlock::const_succ_reverse_iterator</a> I;</div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
+<div class="line"><a name="l00508"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#a03b13d881c96049b76ffa007b1f55b37"> 508</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html">SwitchNodeBuilder</a>;</div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a>(<a class="code" href="classclang_1_1CFGBlock.html#a4cc56ea38909057bf09d4e45493d89d1">CFGBlock::const_succ_reverse_iterator</a> i) : I(i) {}</div>
+<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
+<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00512"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#a5306c777b664b261693c09f7ccd7048b"> 512</a></span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a> &<a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#a5306c777b664b261693c09f7ccd7048b">operator++</a>() { ++I; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00513"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#aac2e02c8743a18883943ac17c9a59cc9"> 513</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#aac2e02c8743a18883943ac17c9a59cc9">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a> &<a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I != X.I; }</div>
+<div class="line"><a name="l00514"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#add3e8851fc6afcfb35c759c675a28d0f"> 514</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#add3e8851fc6afcfb35c759c675a28d0f">operator==</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a> &<a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I == X.I; }</div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div>
+<div class="line"><a name="l00516"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#afa969e268a913f71acd1864bcb06a27e"> 516</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CaseStmt.html">CaseStmt</a> *<a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#afa969e268a913f71acd1864bcb06a27e">getCase</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">return</span> cast<CaseStmt>((*I)->getLabel());</div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> }</div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
+<div class="line"><a name="l00520"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#a5b354b4c42f196a1523231056bf4acc2"> 520</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html#a5b354b4c42f196a1523231056bf4acc2">getBlock</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">return</span> *I;</div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> }</div>
+<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> };</div>
+<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
+<div class="line"><a name="l00525"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a62806b92d9aba38675b9988dd11e1d04"> 525</a></span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a62806b92d9aba38675b9988dd11e1d04">begin</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a>(Src-><a class="code" href="classclang_1_1CFGBlock.html#a79076f1bda3aaa5124b0fe05a7bfbc10">succ_rbegin</a>()+1); }</div>
+<div class="line"><a name="l00526"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a7ec97d562a6ef8c89ad9f4b10ff60ea3"> 526</a></span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a7ec97d562a6ef8c89ad9f4b10ff60ea3">end</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder_1_1iterator.html">iterator</a>(Src-><a class="code" href="classclang_1_1CFGBlock.html#a4ae64c2e973ad6d1589589412423cc51">succ_rend</a>()); }</div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
+<div class="line"><a name="l00528"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a743544d2549b17c336d6c61e73a3149c"> 528</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1SwitchStmt.html">SwitchStmt</a> *<a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a743544d2549b17c336d6c61e73a3149c">getSwitch</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">return</span> cast<SwitchStmt>(Src-><a class="code" href="classclang_1_1CFGBlock.html#af1276a7d6dea5546ea7421b85162375a">getTerminator</a>());</div>
+<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> }</div>
+<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
+<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a85d6e1bed79ee50a6ffaf68aa7b04914">generateCaseStmtNode</a>(<span class="keyword">const</span> iterator &I,</div>
+<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>);</div>
+<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div>
+<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a8578ec54618034a941b51e273746d146">generateDefaultCaseNode</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordtype">bool</span> isSink = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
+<div class="line"><a name="l00538"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#af7fd8c6e8572335a6784e9169d8932dc"> 538</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#af7fd8c6e8572335a6784e9169d8932dc">getCondition</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Condition; }</div>
+<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
+<div class="line"><a name="l00540"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a49a9d7a8db5976ab4df1ed35b7c8d183"> 540</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a49a9d7a8db5976ab4df1ed35b7c8d183">getState</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Pred->State; }</div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
+<div class="line"><a name="l00542"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a64d19f3a70b9b8ec10da8e0486096574"> 542</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *<a class="code" href="classclang_1_1ento_1_1SwitchNodeBuilder.html#a64d19f3a70b9b8ec10da8e0486096574">getLocationContext</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordflow">return</span> Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div>
+<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> };</div>
+<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
+<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> } <span class="comment">// end ento namespace</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> } <span class="comment">// end clang namespace</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Core_2Release_09Asserts_2CommonBugCategories_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Core_2Release_09Asserts_2CommonBugCategories_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Core_2Release_09Asserts_2CommonBugCategories_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Core_2Release_09Asserts_2CommonBugCategories_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: CommonBugCategories.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_8c061bf4f1cf580e717ceaf4321c4465.html">Core</a></li><li class="navelem"><a class="el" href="dir_9dfcb8f019bd52e3ad37a9c9467cc9bb.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Core/Release+Asserts/CommonBugCategories.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Core_2Release_09Asserts_2CommonBugCategories_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/Release+Asserts/CommonBugCategories.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/Release+Asserts/CommonBugCategories.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> CommonBugCategories.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CreateInvocationFromCommandLine_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CreateInvocationFromCommandLine_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CreateInvocationFromCommandLine_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CreateInvocationFromCommandLine_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: CreateInvocationFromCommandLine.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_cfd7caa53089bfce4c036750f74ca8fe.html">Frontend</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CreateInvocationFromCommandLine.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CreateInvocationFromCommandLine_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===--- CreateInvocationFromCommandLine.cpp - CompilerInvocation from Args ==//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// Construct a compiler invocation object for command line driver arguments</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="Utils_8h.html">clang/Frontend/Utils.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="DiagnosticOptions_8h.html">clang/Basic/DiagnosticOptions.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="Compilation_8h.html">clang/Driver/Compilation.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="Driver_8h.html">clang/Driver/Driver.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="Options_8h.html">clang/Driver/Options.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="Tool_8h.html">clang/Driver/Tool.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="CompilerInstance_8h.html">clang/Frontend/CompilerInstance.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="FrontendDiagnostic_8h.html">clang/Frontend/FrontendDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "llvm/Option/ArgList.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "llvm/Support/Host.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">using namespace </span>llvm::opt;</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/// createInvocationFromCommandLine - Construct a compiler invocation object for</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/// a command line argument vector.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/// \return A CompilerInvocation, or 0 if none was built for the given</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/// argument vector.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"></span><a class="code" href="classclang_1_1CompilerInvocation.html" title="Helper class for holding the data necessary to invoke the compiler.">CompilerInvocation</a> *</div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="namespaceclang.html#a05f3c391ae3c3f0a6fa8223c8e4211b7"> 33</a></span> <a class="code" href="namespaceclang.html#a05f3c391ae3c3f0a6fa8223c8e4211b7">clang::createInvocationFromCommandLine</a>(<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<const char *></a> ArgList,</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticsEngine></a> Diags) {</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">if</span> (!Diags.getPtr()) {</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// No diagnostics engine was provided, so create our own diagnostics object</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// with the default options.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> Diags = <a class="code" href="classclang_1_1CompilerInstance.html#ac82999fc69998009afeb1342e86b04b3">CompilerInstance::createDiagnostics</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a>);</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> }</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<const char *, 16></a> <a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>;</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> Args.push_back(<span class="stringliteral">"<clang>"</span>); <span class="comment">// FIXME: Remove dummy argument.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> Args.insert(Args.end(), ArgList.begin(), ArgList.end());</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// FIXME: Find a cleaner way to force the driver into restricted modes.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> Args.push_back(<span class="stringliteral">"-fsyntax-only"</span>);</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// FIXME: We shouldn't have to pass in the path info.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">driver::Driver</a> TheDriver(<span class="stringliteral">"clang"</span>, llvm::sys::getDefaultTargetTriple(),</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="stringliteral">"a.out"</span>, *Diags);</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// Don't check that inputs exist, they may have been remapped.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> TheDriver.<a class="code" href="classclang_1_1driver_1_1Driver.html#a2610a7aa5de2b7a82daf22e40ab25e50">setCheckInputsExist</a>(<span class="keyword">false</span>);</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<driver::Compilation></a> C(TheDriver.<a class="code" href="classclang_1_1driver_1_1Driver.html#ae0652bc49299a5f4cfec664351a5c76b">BuildCompilation</a>(Args));</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// Just print the cc1 options if -### was present.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">if</span> (C->getArgs().hasArg(driver::options::OPT__HASH_HASH_HASH)) {</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> C->getJobs().Print(llvm::errs(), <span class="stringliteral">"\n"</span>, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> }</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">// We expect to get back exactly one command job, if we didn't something</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">// failed.</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1JobList.html" title="JobList - A sequence of jobs to perform.">driver::JobList</a> &Jobs = C-><a class="code" href="classclang_1_1driver_1_1JobList.html#a13d61322cf229cc8ce52421db89a0f4e">getJobs</a>();</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">if</span> (Jobs.<a class="code" href="classclang_1_1driver_1_1JobList.html#aebe97411fc052b807180c7585a2bceb0">size</a>() != 1 || !isa<driver::Command>(*Jobs.<a class="code" href="classclang_1_1driver_1_1JobList.html#aeeda6d07404d2522b551cdbc5d4fa98c">begin</a>())) {</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> Msg;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> llvm::raw_svector_ostream OS(Msg);</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> Jobs.<a class="code" href="classclang_1_1driver_1_1JobList.html#a984eb6e2c0fe1bf26ab1044df15e54e6">Print</a>(OS, <span class="stringliteral">"; "</span>, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> Diags->Report(diag::err_fe_expected_compiler_job) << OS.str();</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Command.html">driver::Command</a> *Cmd = cast<driver::Command>(*Jobs.<a class="code" href="classclang_1_1driver_1_1JobList.html#aeeda6d07404d2522b551cdbc5d4fa98c">begin</a>());</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">if</span> (StringRef(Cmd-><a class="code" href="classclang_1_1driver_1_1Command.html#a170fb38a9b2009c1c212020f1393b4e6" title="getCreator - Return the Tool which caused the creation of this job.">getCreator</a>().<a class="code" href="classclang_1_1driver_1_1Tool.html#a6948c2d6549d4f3e6c459119436f5945">getName</a>()) != <span class="stringliteral">"clang"</span>) {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> Diags->Report(diag::err_fe_expected_clang_command);</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> }</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> ArgStringList &CCArgs = Cmd-><a class="code" href="classclang_1_1driver_1_1Command.html#a20347014816c55322fab68dd465a9361">getArguments</a>();</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<CompilerInvocation></a> CI(<span class="keyword">new</span> <a class="code" href="classclang_1_1CompilerInvocation.html" title="Helper class for holding the data necessary to invoke the compiler.">CompilerInvocation</a>());</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1CompilerInvocation.html#aa6263e2b0e6445cbd63a527a8cafe4ad" title="Create a compiler invocation from a list of input options.">CompilerInvocation::CreateFromArgs</a>(*CI,</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> const_cast<const char **>(CCArgs.data()),</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> const_cast<const char **>(CCArgs.data()) +</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> CCArgs.size(),</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> *Diags))</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">return</span> CI.take();</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CreateInvocationFromCommandLine_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CreateInvocationFromCommandLine_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CreateInvocationFromCommandLine_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CreateInvocationFromCommandLine_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,370 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: CreateInvocationFromCommandLine.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_cfd7caa53089bfce4c036750f74ca8fe.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_d028e0ee810452766990d0b974c930cc.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CreateInvocationFromCommandLine.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="CreateInvocationFromCommandLine_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> /home/tstellar/llvm/tools/clang/lib/Frontend/Release+Asserts/CreateInvocationFromCommandLine.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Frontend/Release+Asserts/CreateInvocationFromCommandLine.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> CreateInvocationFromCommandLine.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Compilation.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Job.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/include/llvm/Option/Option.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/include/llvm/Option/OptTable.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/include/llvm/Support/Path.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Driver.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Phases.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Types.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Types.def \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Options.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Options.inc \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Tool.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CompilerInstance.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CompilerInvocation.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CodeGenOptions.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CodeGenOptions.def \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/DependencyOutputOptions.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LangStandard.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LangStandards.def \</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/MigratorOptions.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/PreprocessorOutputOptions.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearchOptions.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorOptions.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def \</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendDiagnostic.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticFrontendKinds.inc \</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> /home/tstellar/llvm/include/llvm/Option/ArgList.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/include/llvm/Support/Host.h</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.h:</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h:</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Compilation.h:</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Job.h:</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> /home/tstellar/llvm/include/llvm/Option/Option.h:</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> /home/tstellar/llvm/include/llvm/Option/OptTable.h:</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h:</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Util.h:</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> /home/tstellar/llvm/include/llvm/Support/Path.h:</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Driver.h:</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Phases.h:</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Types.h:</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Types.def:</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Options.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Options.inc:</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Driver/Tool.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CompilerInstance.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CompilerInvocation.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TargetOptions.h:</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CodeGenOptions.h:</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CodeGenOptions.def:</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/DependencyOutputOptions.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendOptions.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/CommandLineSourceLoc.h:</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h:</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LangStandard.h:</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/LangStandards.def:</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/MigratorOptions.h:</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/PreprocessorOutputOptions.h:</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearchOptions.h:</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorOptions.h:</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:</div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def:</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h:</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/FrontendDiagnostic.h:</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticFrontendKinds.inc:</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> /home/tstellar/llvm/include/llvm/Option/ArgList.h:</div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> /home/tstellar/llvm/include/llvm/Support/Host.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DataflowSolver_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DataflowSolver_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DataflowSolver_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DataflowSolver_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,421 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: DataflowSolver.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_08cb8dd42fdabd3361bfbdc9f41acf33.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_3d47a49fad364975c43565cdfc1de1ef.html">FlowSensitive</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">DataflowSolver.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="DataflowSolver_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===--- DataflowSolver.h - Skeleton Dataflow Analysis Code -----*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This file defines skeleton code for implementing dataflow analyses.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#ifndef LLVM_CLANG_ANALYSES_DATAFLOW_SOLVER</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_ANALYSES_DATAFLOW_SOLVER</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "functional"</span> <span class="comment">// STL</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="CFG_8h.html">clang/Analysis/CFG.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="DataflowValues_8h.html">clang/Analysis/FlowSensitive/DataflowValues.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="ProgramPoint_8h.html">clang/Analysis/ProgramPoint.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "llvm/ADT/DenseMap.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "llvm/ADT/SmallVector.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/// DataflowWorkListTy - Data structure representing the worklist used for</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/// dataflow algorithms.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowWorkListTy.html"> 31</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1DataflowWorkListTy.html">DataflowWorkListTy</a> {</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> llvm::DenseMap<const CFGBlock*, unsigned char> BlockSet;</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<const CFGBlock *, 10></a> BlockQueue;</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> /// enqueue - Add a block to the worklist. Blocks already on the</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> /// worklist are not added a second time.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowWorkListTy.html#a3d8edd1bd6874b2a2c24112ec0257729"> 37</a></span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DataflowWorkListTy.html#a3d8edd1bd6874b2a2c24112ec0257729">enqueue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> &x = BlockSet[B];</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">if</span> (x == 1)</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> x = 1;</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> BlockQueue.push_back(B);</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> }</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"></span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> /// dequeue - Remove a block from the worklist.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowWorkListTy.html#a7bbd73162c49016f7ebc84d3a2e3c188"> 46</a></span> <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="classclang_1_1DataflowWorkListTy.html#a7bbd73162c49016f7ebc84d3a2e3c188" title="dequeue - Remove a block from the worklist.">dequeue</a>() {</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> assert(!BlockQueue.empty());</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B = BlockQueue.pop_back_val();</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> BlockSet[B] = 0;</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span> B;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> }</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"></span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> /// isEmpty - Return true if the worklist is empty.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowWorkListTy.html#aff312d186f38697550cfc606f066f2ae"> 54</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DataflowWorkListTy.html#aff312d186f38697550cfc606f066f2ae" title="isEmpty - Return true if the worklist is empty.">isEmpty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> BlockQueue.empty(); }</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> };</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// BlockItrTraits - Traits classes that allow transparent iteration</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">// over successors/predecessors of a block depending on the direction</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">// of our dataflow analysis.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="namespaceclang_1_1dataflow.html"> 63</a></span> <span class="keyword">namespace </span>dataflow {</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits.html"> 64</a></span> <span class="keyword">template</span><<span class="keyword">typename</span> Tag> <span class="keyword">struct </span><a class="code" href="structclang_1_1dataflow_1_1ItrTraits.html">ItrTraits</a> {};</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html"> 66</a></span> <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structclang_1_1dataflow_1_1ItrTraits.html">ItrTraits</a><<a class="code" href="structclang_1_1dataflow_1_1forward__analysis__tag.html">forward_analysis_tag</a>> {</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#aa9bf04aeca54ffa159fd40659f464ffd"> 67</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock::const_pred_iterator</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#aa9bf04aeca54ffa159fd40659f464ffd">PrevBItr</a>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a1a77787fa59a50da3e96c37cbc9c413f"> 68</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock::const_succ_iterator</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a1a77787fa59a50da3e96c37cbc9c413f">NextBItr</a>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a59971a4941215d7be1c000adf9b24cfa"> 69</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1CFGBlock.html#a464348f33435ca9aa27de9017f6dee88">CFGBlock::const_iterator</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a59971a4941215d7be1c000adf9b24cfa">StmtItr</a>;</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a2bbe15423f05da91bc2c135cf1c9d436"> 71</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGBlock.html">PrevBItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a2bbe15423f05da91bc2c135cf1c9d436">PrevBegin</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#ac0001ac14b86768c641f769c5fb1f4c6">pred_begin</a>(); }</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a57b1ecffe2ee1a0c9b1fdca57765b60b"> 72</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGBlock.html">PrevBItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a57b1ecffe2ee1a0c9b1fdca57765b60b">PrevEnd</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a172965bda787bf3795bb7f02b2520033">pred_end</a>(); }</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a8c711d627d6629475d470d4b4663d1a7"> 74</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGBlock.html">NextBItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a8c711d627d6629475d470d4b4663d1a7">NextBegin</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>(); }</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a05ef92895480b2bc4016ddfb83936434"> 75</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGBlock.html">NextBItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a05ef92895480b2bc4016ddfb83936434">NextEnd</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a1bcc002635a676581313a5e832b31cbc">succ_end</a>(); }</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#ac58776d24f6f05558bb029b517bafa9b"> 77</a></span> <span class="keyword">static</span> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a59971a4941215d7be1c000adf9b24cfa">StmtItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#ac58776d24f6f05558bb029b517bafa9b">StmtBegin</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a6f23244410ba39354a8ce965328a7155">begin</a>(); }</div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#aed55610bc52ad2d71c49f57d95cf9370"> 78</a></span> <span class="keyword">static</span> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a59971a4941215d7be1c000adf9b24cfa">StmtItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#aed55610bc52ad2d71c49f57d95cf9370">StmtEnd</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#acaa9a29bf0b724c80860bee0f663a07e">end</a>(); }</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a9a7c8e4da2121fe0d94d2f0860491d15"> 80</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#a9a7c8e4da2121fe0d94d2f0860491d15">PrevEdge</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Prev) {</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(Prev, B, 0);</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> }</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#ac4199da2ab261005a8c4352febc0fa03"> 84</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01forward__analysis__tag_01_4.html#ac4199da2ab261005a8c4352febc0fa03">NextEdge</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Next) {</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(B, Next, 0);</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> };</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html"> 89</a></span> <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structclang_1_1dataflow_1_1ItrTraits.html">ItrTraits</a><<a class="code" href="structclang_1_1dataflow_1_1backward__analysis__tag.html">backward_analysis_tag</a>> {</div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a21c0e455ef8cdb81eb35842b58c16ec1"> 90</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock::const_succ_iterator</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a21c0e455ef8cdb81eb35842b58c16ec1">PrevBItr</a>;</div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a4782147cc10973440631991e4c057a04"> 91</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock::const_pred_iterator</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a4782147cc10973440631991e4c057a04">NextBItr</a>;</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a5a3a1cd3a14b3b17e1d66bb21ee8c732"> 92</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1CFGElement.html" title="CFGElement - Represents a top-level expression in a basic block.">CFGBlock::const_reverse_iterator</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a5a3a1cd3a14b3b17e1d66bb21ee8c732">StmtItr</a>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#adcac742dc12627a65b6f75afed6b9ed8"> 94</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGBlock.html">PrevBItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#adcac742dc12627a65b6f75afed6b9ed8">PrevBegin</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>(); }</div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#ab73e05c2cb252828f749cf4bcdce07d8"> 95</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGBlock.html">PrevBItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#ab73e05c2cb252828f749cf4bcdce07d8">PrevEnd</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a1bcc002635a676581313a5e832b31cbc">succ_end</a>(); }</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a4f1a02085efc6a1711e4f07f3bbb1a66"> 97</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGBlock.html">NextBItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a4f1a02085efc6a1711e4f07f3bbb1a66">NextBegin</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#ac0001ac14b86768c641f769c5fb1f4c6">pred_begin</a>(); }</div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a31eab41ce6a427df803e8676bb95167f"> 98</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGBlock.html">NextBItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a31eab41ce6a427df803e8676bb95167f">NextEnd</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a172965bda787bf3795bb7f02b2520033">pred_end</a>(); }</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a38153ff604e4c8913e3793dca179eb7d"> 100</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGElement.html" title="CFGElement - Represents a top-level expression in a basic block.">StmtItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a38153ff604e4c8913e3793dca179eb7d">StmtBegin</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a28d1c9e2bcd34217a4debc899ebb8a58">rbegin</a>(); }</div>
+<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a8b83508b5f947f8fb4024440c5e06520"> 101</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1CFGElement.html" title="CFGElement - Represents a top-level expression in a basic block.">StmtItr</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a8b83508b5f947f8fb4024440c5e06520">StmtEnd</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) { <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a3f50816a051e41aeddd0cdacaaa5f1b4">rend</a>(); }</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a6f6bcb8a5141a0ada4706d47ec59c335"> 103</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#a6f6bcb8a5141a0ada4706d47ec59c335">PrevEdge</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Prev) {</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(B, Prev, 0);</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#ae86b947977777489c892bfafdf6dcb88"> 107</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits_3_01backward__analysis__tag_01_4.html#ae86b947977777489c892bfafdf6dcb88">NextEdge</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *Next) {</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(Next, B, 0);</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> };</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> } <span class="comment">// end namespace dataflow</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/// DataflowSolverTy - Generic dataflow solver.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">template</span> <<span class="keyword">typename</span> _DFValuesTy, <span class="comment">// Usually a subclass of DataflowValues</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">typename</span> _TransferFuncsTy,</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">typename</span> _MergeOperatorTy,</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">typename</span> _Equal = std::equal_to<typename _DFValuesTy::ValTy> ></div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html"> 121</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1DataflowSolver.html" title="DataflowSolverTy - Generic dataflow solver.">DataflowSolver</a> {</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">//===----------------------------------------------------===//</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">// Type declarations.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">//===----------------------------------------------------===//</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a7743f8ffa77dcb5a0e03ce3270e035ea"> 128</a></span> <span class="keyword">typedef</span> _DFValuesTy <a class="code" href="classclang_1_1DataflowSolver.html#a7743f8ffa77dcb5a0e03ce3270e035ea">DFValuesTy</a>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a07b559fd013c79231e4286ba54e2b38d"> 129</a></span> <span class="keyword">typedef</span> _TransferFuncsTy <a class="code" href="classclang_1_1DataflowSolver.html#a07b559fd013c79231e4286ba54e2b38d">TransferFuncsTy</a>;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#ae9eff0596739de711b3797c0eeedd774"> 130</a></span> <span class="keyword">typedef</span> _MergeOperatorTy <a class="code" href="classclang_1_1DataflowSolver.html#ae9eff0596739de711b3797c0eeedd774">MergeOperatorTy</a>;</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a65d96f52e756a0c377611d601ed4dc66"> 132</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> _DFValuesTy::AnalysisDirTag <a class="code" href="classclang_1_1DataflowSolver.html#a65d96f52e756a0c377611d601ed4dc66">AnalysisDirTag</a>;</div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a9332f5ecb1243ea6a557b612bffbacfa"> 133</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> _DFValuesTy::ValTy <a class="code" href="classclang_1_1DataflowSolver.html#a9332f5ecb1243ea6a557b612bffbacfa">ValTy</a>;</div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a2e9374c2ff20930ed6f92043db35256a"> 134</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> _DFValuesTy::EdgeDataMapTy <a class="code" href="classclang_1_1DataflowSolver.html#a2e9374c2ff20930ed6f92043db35256a">EdgeDataMapTy</a>;</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a8b70fd20247e9b328c6740f16b02c3b8"> 135</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> _DFValuesTy::BlockDataMapTy <a class="code" href="classclang_1_1DataflowSolver.html#a8b70fd20247e9b328c6740f16b02c3b8">BlockDataMapTy</a>;</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a244a387b8a5d15f651f59b8b76606736"> 137</a></span> <span class="keyword">typedef</span> <a class="code" href="structclang_1_1dataflow_1_1ItrTraits.html">dataflow::ItrTraits<AnalysisDirTag></a> <a class="code" href="classclang_1_1DataflowSolver.html#a244a387b8a5d15f651f59b8b76606736">ItrTraits</a>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a1ddae0145071a8d8a4feb612e888ce70"> 138</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> ItrTraits::NextBItr <a class="code" href="classclang_1_1DataflowSolver.html#a1ddae0145071a8d8a4feb612e888ce70">NextBItr</a>;</div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#afaadac206833a3651f3ab91c0a437ce7"> 139</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> ItrTraits::PrevBItr <a class="code" href="classclang_1_1DataflowSolver.html#afaadac206833a3651f3ab91c0a437ce7">PrevBItr</a>;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a42dbc3dce3dff5ab1ef0b2095491f749"> 140</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> ItrTraits::StmtItr <a class="code" href="classclang_1_1DataflowSolver.html#a42dbc3dce3dff5ab1ef0b2095491f749">StmtItr</a>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">//===----------------------------------------------------===//</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">// External interface: constructing and running the solver.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment">//===----------------------------------------------------===//</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#abc4a7cb9a272ef95a582f02b10517c94"> 147</a></span> <a class="code" href="classclang_1_1DataflowSolver.html#abc4a7cb9a272ef95a582f02b10517c94">DataflowSolver</a>(<a class="code" href="classclang_1_1DataflowSolver.html#a7743f8ffa77dcb5a0e03ce3270e035ea">DFValuesTy</a>& d) : D(d), TF(d.getAnalysisData()) {}</div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a5e85169e2fc4d68ccdd15c6cd7cd7c50"> 148</a></span> <a class="code" href="classclang_1_1DataflowSolver.html#a5e85169e2fc4d68ccdd15c6cd7cd7c50">~DataflowSolver</a>() {}</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"></span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> /// runOnCFG - Computes dataflow values for all blocks in a CFG.</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a68f0ca2a6c37275a12317310bb2f829e"> 151</a></span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DataflowSolver.html#a68f0ca2a6c37275a12317310bb2f829e" title="runOnCFG - Computes dataflow values for all blocks in a CFG.">runOnCFG</a>(<a class="code" href="classclang_1_1CFG.html">CFG</a>& cfg, <span class="keywordtype">bool</span> recordStmtValues = <span class="keyword">false</span>) {</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">// Set initial dataflow values and boundary conditions.</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> D.InitializeValues(cfg);</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// Solve the dataflow equations. This will populate D.EdgeDataMap</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// with dataflow values.</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> SolveDataflowEquations(cfg, recordStmtValues);</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"></span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> /// runOnBlock - Computes dataflow values for a given block. This</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> /// should usually be invoked only after previously computing</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> /// dataflow values using runOnCFG, as runOnBlock is intended to</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> /// only be used for querying the dataflow values within a block</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> /// with and Observer object.</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a48e57e8c37e2046b72bf3a00ceb055b7"> 164</a></span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DataflowSolver.html#a48e57e8c37e2046b72bf3a00ceb055b7">runOnBlock</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <span class="keywordtype">bool</span> recordStmtValues) {</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <a class="code" href="classclang_1_1DataflowSolver.html#a8b70fd20247e9b328c6740f16b02c3b8">BlockDataMapTy</a>& M = D.getBlockDataMap();</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">typename</span> BlockDataMapTy::iterator I = M.find(B);</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">if</span> (I != M.end()) {</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> TF.getVal().copyValues(I->second);</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> ProcessBlock(B, recordStmtValues, <a class="code" href="classclang_1_1DataflowSolver.html#a65d96f52e756a0c377611d601ed4dc66">AnalysisDirTag</a>());</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#ada791d28a01f2ad68d4e4c705a448668"> 174</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DataflowSolver.html#ada791d28a01f2ad68d4e4c705a448668">runOnBlock</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> &B, <span class="keywordtype">bool</span> recordStmtValues) {</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <a class="code" href="classclang_1_1DataflowSolver.html#a48e57e8c37e2046b72bf3a00ceb055b7">runOnBlock</a>(&B, recordStmtValues);</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
+<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#ac0002704ccf11a1d2c4de4e4e69efae7"> 177</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DataflowSolver.html#ac0002704ccf11a1d2c4de4e4e69efae7">runOnBlock</a>(<a class="code" href="classclang_1_1CFGBlock.html">CFG::iterator</a> &I, <span class="keywordtype">bool</span> recordStmtValues) {</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <a class="code" href="classclang_1_1DataflowSolver.html#a48e57e8c37e2046b72bf3a00ceb055b7">runOnBlock</a>(*I, recordStmtValues);</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div>
+<div class="line"><a name="l00180"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a744de319fedcdaa2f1cead4b1d3b69a8"> 180</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DataflowSolver.html#a744de319fedcdaa2f1cead4b1d3b69a8">runOnBlock</a>(<a class="code" href="classclang_1_1CFGBlock.html">CFG::const_iterator</a> &I, <span class="keywordtype">bool</span> recordStmtValues) {</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <a class="code" href="classclang_1_1DataflowSolver.html#a48e57e8c37e2046b72bf3a00ceb055b7">runOnBlock</a>(*I, recordStmtValues);</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> }</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowSolver.html#a2e1cc41cba658642f99c09c6d789a7b3"> 184</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DataflowSolver.html#a2e1cc41cba658642f99c09c6d789a7b3">runOnAllBlocks</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFG.html">CFG</a>& cfg, <span class="keywordtype">bool</span> recordStmtValues = <span class="keyword">false</span>) {</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1CFGBlock.html">CFG::const_iterator</a> I=cfg.<a class="code" href="classclang_1_1CFG.html#a908c392e8ab90beaa7dd0dc70b8e2ab2">begin</a>(), E=cfg.<a class="code" href="classclang_1_1CFG.html#a2013eeb0c97e5c50514c9ca54d00c621">end</a>(); I!=E; ++I)</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <a class="code" href="classclang_1_1DataflowSolver.html#a48e57e8c37e2046b72bf3a00ceb055b7">runOnBlock</a>(I, recordStmtValues);</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">//===----------------------------------------------------===//</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">// Internal solver logic.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="comment">//===----------------------------------------------------===//</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"></span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> /// SolveDataflowEquations - Perform the actual worklist algorithm</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> /// to compute dataflow values.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"></span> <span class="keywordtype">void</span> SolveDataflowEquations(<a class="code" href="classclang_1_1CFG.html">CFG</a>& cfg, <span class="keywordtype">bool</span> recordStmtValues) {</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> EnqueueBlocksOnWorklist(cfg, <a class="code" href="classclang_1_1DataflowSolver.html#a65d96f52e756a0c377611d601ed4dc66">AnalysisDirTag</a>());</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">while</span> (!WorkList.<a class="code" href="classclang_1_1DataflowWorkListTy.html#aff312d186f38697550cfc606f066f2ae" title="isEmpty - Return true if the worklist is empty.">isEmpty</a>()) {</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B = WorkList.<a class="code" href="classclang_1_1DataflowWorkListTy.html#a7bbd73162c49016f7ebc84d3a2e3c188" title="dequeue - Remove a block from the worklist.">dequeue</a>();</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> ProcessMerge(cfg, B);</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> ProcessBlock(B, recordStmtValues, <a class="code" href="classclang_1_1DataflowSolver.html#a65d96f52e756a0c377611d601ed4dc66">AnalysisDirTag</a>());</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> UpdateEdges(cfg, B, TF.getVal());</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> }</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">void</span> EnqueueBlocksOnWorklist(CFG &cfg, dataflow::forward_analysis_tag) {</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">// Enqueue all blocks to ensure the dataflow values are computed</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">// for every block. Not all blocks are guaranteed to reach the exit block.</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1CFG.html#a22462462dec41af9c53bb207403ac092">CFG::iterator</a> I=cfg.<a class="code" href="classclang_1_1CFGBlock.html#a6f23244410ba39354a8ce965328a7155">begin</a>(), E=cfg.end(); I!=E; ++I)</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> WorkList.<a class="code" href="classclang_1_1DataflowWorkListTy.html#a3d8edd1bd6874b2a2c24112ec0257729">enqueue</a>(&**I);</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordtype">void</span> EnqueueBlocksOnWorklist(CFG &cfg, dataflow::backward_analysis_tag) {</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">// Enqueue all blocks to ensure the dataflow values are computed</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">// for every block. Not all blocks are guaranteed to reach the exit block.</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">// Enqueue in reverse order since that will more likely match with</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">// the order they should ideally processed by the dataflow algorithm.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1CFG.html#a2638246dde80aec2025ef8b5867d892d">CFG::reverse_iterator</a> I=cfg.rbegin(), E=cfg.rend(); I!=E; ++I)</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> WorkList.<a class="code" href="classclang_1_1DataflowWorkListTy.html#a3d8edd1bd6874b2a2c24112ec0257729">enqueue</a>(&**I);</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">void</span> ProcessMerge(CFG& cfg, <span class="keyword">const</span> CFGBlock *B) {</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <a class="code" href="classclang_1_1DataflowSolver.html#a9332f5ecb1243ea6a557b612bffbacfa">ValTy</a>& V = TF.getVal();</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> TF.SetTopValue(V);</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">// Merge dataflow values from all predecessors of this block.</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <a class="code" href="classclang_1_1DataflowSolver.html#ae9eff0596739de711b3797c0eeedd774">MergeOperatorTy</a> Merge;</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <a class="code" href="classclang_1_1DataflowSolver.html#a2e9374c2ff20930ed6f92043db35256a">EdgeDataMapTy</a>& M = D.getEdgeDataMap();</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">bool</span> firstMerge = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">bool</span> noEdges = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DataflowSolver.html#afaadac206833a3651f3ab91c0a437ce7">PrevBItr</a> I=ItrTraits::PrevBegin(B),E=ItrTraits::PrevEnd(B); I!=E; ++I){</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> CFGBlock *PrevBlk = *I;</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (!PrevBlk)</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">typename</span> EdgeDataMapTy::iterator EI =</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> M.find(ItrTraits::PrevEdge(B, PrevBlk));</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">if</span> (EI != M.end()) {</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> noEdges = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span> (firstMerge) {</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> firstMerge = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> V.copyValues(EI->second);</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> Merge(V, EI->second);</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> }</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">bool</span> isInitialized = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">typename</span> BlockDataMapTy::iterator BI = D.getBlockDataMap().find(B);</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">if</span>(BI == D.getBlockDataMap().end()) {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> isInitialized = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> BI = D.getBlockDataMap().insert( std::make_pair(B,<a class="code" href="classclang_1_1DataflowSolver.html#a9332f5ecb1243ea6a557b612bffbacfa">ValTy</a>()) ).first;</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">// If no edges have been found, it means this is the first time the solver </span></div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">// has been called on block B, we copy the initialization values (if any)</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment">// as current value for V (which will be used as edge data)</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">if</span>(noEdges && isInitialized) </div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> Merge(V, BI->second);</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment">// Set the data for the block.</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> BI->second.copyValues(V);</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"></span></div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> /// ProcessBlock - Process the transfer functions for a given block.</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"></span> <span class="keywordtype">void</span> ProcessBlock(<span class="keyword">const</span> CFGBlock *B, <span class="keywordtype">bool</span> recordStmtValues,</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> dataflow::forward_analysis_tag) {</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> TF.setCurrentBlock(B);</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DataflowSolver.html#a42dbc3dce3dff5ab1ef0b2095491f749">StmtItr</a> I=ItrTraits::StmtBegin(B), E=ItrTraits::StmtEnd(B); I!=E;++I) {</div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> CFGElement El = *I;</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> CFGStmt *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a> = El.getAs<CFGStmt>())</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> ProcessStmt(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>->getStmt(), recordStmtValues, <a class="code" href="classclang_1_1DataflowSolver.html#a65d96f52e756a0c377611d601ed4dc66">AnalysisDirTag</a>());</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> TF.VisitTerminator(const_cast<CFGBlock*>(B));</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">void</span> ProcessBlock(<span class="keyword">const</span> CFGBlock *B, <span class="keywordtype">bool</span> recordStmtValues,</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> dataflow::backward_analysis_tag) {</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> TF.setCurrentBlock(B);</div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> TF.VisitTerminator(const_cast<CFGBlock*>(B));</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DataflowSolver.html#a42dbc3dce3dff5ab1ef0b2095491f749">StmtItr</a> I=ItrTraits::StmtBegin(B), E=ItrTraits::StmtEnd(B); I!=E;++I) {</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> CFGElement El = *I;</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> CFGStmt *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a> = El.getAs<CFGStmt>())</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> ProcessStmt(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>->getStmt(), recordStmtValues, <a class="code" href="classclang_1_1DataflowSolver.html#a65d96f52e756a0c377611d601ed4dc66">AnalysisDirTag</a>());</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">void</span> ProcessStmt(<span class="keyword">const</span> Stmt *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <span class="keywordtype">bool</span> record, dataflow::forward_analysis_tag) {</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">if</span> (record) D.getStmtDataMap()[<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>] = TF.getVal();</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> TF.BlockStmt_Visit(const_cast<Stmt*>(S));</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">void</span> ProcessStmt(<span class="keyword">const</span> Stmt *S, <span class="keywordtype">bool</span> record, dataflow::backward_analysis_tag){</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> TF.BlockStmt_Visit(const_cast<Stmt*>(S));</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span> (record) D.getStmtDataMap()[<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>] = TF.getVal();</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment"></span></div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment"> /// UpdateEdges - After processing the transfer functions for a</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment"> /// block, update the dataflow value associated with the block's</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment"> /// outgoing/incoming edges (depending on whether we do a</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment"></span> <span class="comment">// forward/backward analysis respectively)</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">void</span> UpdateEdges(CFG& cfg, <span class="keyword">const</span> CFGBlock *B, <a class="code" href="classclang_1_1DataflowSolver.html#a9332f5ecb1243ea6a557b612bffbacfa">ValTy</a>& V) {</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DataflowSolver.html#a1ddae0145071a8d8a4feb612e888ce70">NextBItr</a> I=ItrTraits::NextBegin(B), E=ItrTraits::NextEnd(B); I!=E; ++I)</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> (CFGBlock *NextBlk = *I)</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> UpdateEdgeValue(ItrTraits::NextEdge(B, NextBlk),V, NextBlk);</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> }</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment"></span></div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> /// UpdateEdgeValue - Update the value associated with a given edge.</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"></span> <span class="keywordtype">void</span> UpdateEdgeValue(BlockEdge E, <a class="code" href="classclang_1_1DataflowSolver.html#a9332f5ecb1243ea6a557b612bffbacfa">ValTy</a>& V, <span class="keyword">const</span> CFGBlock *TargetBlock) {</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <a class="code" href="classclang_1_1DataflowSolver.html#a2e9374c2ff20930ed6f92043db35256a">EdgeDataMapTy</a>& M = D.getEdgeDataMap();</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keyword">typename</span> EdgeDataMapTy::iterator I = M.find(E);</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">if</span> (I == M.end()) { <span class="comment">// First computed value for this edge?</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> M[E].copyValues(V);</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> WorkList.<a class="code" href="classclang_1_1DataflowWorkListTy.html#a3d8edd1bd6874b2a2c24112ec0257729">enqueue</a>(TargetBlock);</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!_Equal()(V,I->second)) {</div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> I->second.copyValues(V);</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> WorkList.<a class="code" href="classclang_1_1DataflowWorkListTy.html#a3d8edd1bd6874b2a2c24112ec0257729">enqueue</a>(TargetBlock);</div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> }</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> }</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <a class="code" href="classclang_1_1DataflowSolver.html#a7743f8ffa77dcb5a0e03ce3270e035ea">DFValuesTy</a>& D;</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> DataflowWorkListTy WorkList;</div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <a class="code" href="classclang_1_1DataflowSolver.html#a07b559fd013c79231e4286ba54e2b38d">TransferFuncsTy</a> TF;</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> };</div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DataflowValues_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DataflowValues_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DataflowValues_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DataflowValues_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: DataflowValues.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_08cb8dd42fdabd3361bfbdc9f41acf33.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_3d47a49fad364975c43565cdfc1de1ef.html">FlowSensitive</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">DataflowValues.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="DataflowValues_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===--- DataflowValues.h - Data structure for dataflow values --*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This file defines a skeleton data structure for encapsulating the dataflow</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// values for a CFG. Typically this is subclassed to provide methods for</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// computing these values from a CFG.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#ifndef LLVM_CLANG_ANALYSES_DATAFLOW_VALUES</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_ANALYSES_DATAFLOW_VALUES</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="CFG_8h.html">clang/Analysis/CFG.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="ProgramPoint_8h.html">clang/Analysis/ProgramPoint.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "llvm/ADT/DenseMap.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/// Dataflow Directional Tag Classes. These are used for tag dispatching</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">/// within the dataflow solver/transfer functions to determine what direction</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/// a dataflow analysis flows.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">namespace </span>dataflow {</div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1forward__analysis__tag.html"> 31</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1dataflow_1_1forward__analysis__tag.html">forward_analysis_tag</a> {};</div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="structclang_1_1dataflow_1_1backward__analysis__tag.html"> 32</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1dataflow_1_1backward__analysis__tag.html">backward_analysis_tag</a> {};</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> } <span class="comment">// end namespace dataflow</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/// DataflowValues. Container class to store dataflow values for a CFG.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">template</span> <<span class="keyword">typename</span> ValueTypes,</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">typename</span> _AnalysisDirTag = <a class="code" href="structclang_1_1dataflow_1_1forward__analysis__tag.html">dataflow::forward_analysis_tag</a> ></div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html"> 41</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1DataflowValues.html" title="DataflowValues. Container class to store dataflow values for a CFG.">DataflowValues</a> {</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// Type declarations.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a89baf8bc4ede2deae39af7b3c4420ab4"> 48</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> ValueTypes::ValTy <a class="code" href="classclang_1_1DataflowValues.html#a89baf8bc4ede2deae39af7b3c4420ab4">ValTy</a>;</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#ae3d7ddfeb4b0e5b6d4414b39e67947ac"> 49</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> ValueTypes::AnalysisDataTy <a class="code" href="classclang_1_1DataflowValues.html#ae3d7ddfeb4b0e5b6d4414b39e67947ac">AnalysisDataTy</a>;</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#ac115fce1259db352ff36c735521d119a"> 50</a></span> <span class="keyword">typedef</span> _AnalysisDirTag <a class="code" href="classclang_1_1DataflowValues.html#ac115fce1259db352ff36c735521d119a">AnalysisDirTag</a>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#ad9457dca447035adc10b53fbb383dc52"> 51</a></span> <span class="keyword">typedef</span> llvm::DenseMap<ProgramPoint, ValTy> <a class="code" href="classclang_1_1DataflowValues.html#ad9457dca447035adc10b53fbb383dc52">EdgeDataMapTy</a>;</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a845ae69fd75087f242ae3a953b7f2a65"> 52</a></span> <span class="keyword">typedef</span> llvm::DenseMap<const CFGBlock*, ValTy> <a class="code" href="classclang_1_1DataflowValues.html#a845ae69fd75087f242ae3a953b7f2a65">BlockDataMapTy</a>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a9a9891b89d9faf2df3608c7bc39583d5"> 53</a></span> <span class="keyword">typedef</span> llvm::DenseMap<const Stmt*, ValTy> <a class="code" href="classclang_1_1DataflowValues.html#a9a9891b89d9faf2df3608c7bc39583d5">StmtDataMapTy</a>;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">// Predicates.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> /// isForwardAnalysis - Returns true if the dataflow values are computed</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> /// from a forward analysis.</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a359a5749fcdba2664adadbe7ed939103"> 62</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DataflowValues.html#a359a5749fcdba2664adadbe7ed939103">isForwardAnalysis</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DataflowValues.html#a359a5749fcdba2664adadbe7ed939103">isForwardAnalysis</a>(<a class="code" href="classclang_1_1DataflowValues.html#ac115fce1259db352ff36c735521d119a">AnalysisDirTag</a>()); }</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"></span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> /// isBackwardAnalysis - Returns true if the dataflow values are computed</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> /// from a backward analysis.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a3d83c9de839acb4dc2f2fa5e574d70b0"> 66</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DataflowValues.html#a3d83c9de839acb4dc2f2fa5e574d70b0">isBackwardAnalysis</a>() { <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1DataflowValues.html#a359a5749fcdba2664adadbe7ed939103">isForwardAnalysis</a>(); }</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DataflowValues.html#a359a5749fcdba2664adadbe7ed939103">isForwardAnalysis</a>(<a class="code" href="structclang_1_1dataflow_1_1forward__analysis__tag.html">dataflow::forward_analysis_tag</a>) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DataflowValues.html#a359a5749fcdba2664adadbe7ed939103">isForwardAnalysis</a>(dataflow::backward_analysis_tag) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">// Initialization and accessors methods.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a696a0ece7bc227af4b2bf07a6e6f0225"> 77</a></span> <a class="code" href="classclang_1_1DataflowValues.html#a696a0ece7bc227af4b2bf07a6e6f0225">DataflowValues</a>() : <a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c">StmtDataMap</a>(<a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>) {}</div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a14da39a2db9f87df79b4330b6cc2526d"> 78</a></span> <a class="code" href="classclang_1_1DataflowValues.html#a14da39a2db9f87df79b4330b6cc2526d">~DataflowValues</a>() { <span class="keyword">delete</span> <a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c">StmtDataMap</a>; }</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"></span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> /// InitializeValues - Invoked by the solver to initialize state needed for</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> /// dataflow analysis. This method is usually specialized by subclasses.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a801d2dfe8b4f41076c67a23e3819910c"> 82</a></span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DataflowValues.html#a801d2dfe8b4f41076c67a23e3819910c">InitializeValues</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFG.html">CFG</a>& cfg) {}</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"></span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> /// getEdgeData - Retrieves the dataflow values associated with a</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> /// CFG edge.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a8e260b868d944853efed8a3b3ddda5a5"> 87</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1DataflowValues.html#a89baf8bc4ede2deae39af7b3c4420ab4">ValTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#a8e260b868d944853efed8a3b3ddda5a5">getEdgeData</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> &E) {</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">typename</span> EdgeDataMapTy::iterator I = <a class="code" href="classclang_1_1DataflowValues.html#a6516e083a933f9553577569c5d10a3a4">EdgeDataMap</a>.find(E);</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> assert (I != <a class="code" href="classclang_1_1DataflowValues.html#a6516e083a933f9553577569c5d10a3a4">EdgeDataMap</a>.end() && <span class="stringliteral">"No data associated with Edge."</span>);</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">return</span> I->second;</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a5e712f5395d585b0503824248159d211"> 93</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DataflowValues.html#a89baf8bc4ede2deae39af7b3c4420ab4">ValTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#a5e712f5395d585b0503824248159d211">getEdgeData</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> &E)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1DataflowValues.html" title="DataflowValues. Container class to store dataflow values for a CFG.">DataflowValues</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1DataflowValues.html#a8e260b868d944853efed8a3b3ddda5a5">getEdgeData</a>(E);</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> /// getBlockData - Retrieves the dataflow values associated with a</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> /// specified CFGBlock. If the dataflow analysis is a forward analysis,</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> /// this data is associated with the END of the block. If the analysis</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> /// is a backwards analysis, it is associated with the ENTRY of the block.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a7e10f96c871a147b62aed4bd6094a82f"> 101</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1DataflowValues.html#a89baf8bc4ede2deae39af7b3c4420ab4">ValTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#a7e10f96c871a147b62aed4bd6094a82f">getBlockData</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B) {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">typename</span> BlockDataMapTy::iterator I = <a class="code" href="classclang_1_1DataflowValues.html#a2f6f0cce1011ec7a06015145e19432fe">BlockDataMap</a>.find(B);</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> assert (I != <a class="code" href="classclang_1_1DataflowValues.html#a2f6f0cce1011ec7a06015145e19432fe">BlockDataMap</a>.end() && <span class="stringliteral">"No data associated with block."</span>);</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> I->second;</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#aaed3af5fd097a55c98618a5f1a05f4df"> 107</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DataflowValues.html#a89baf8bc4ede2deae39af7b3c4420ab4">ValTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#aaed3af5fd097a55c98618a5f1a05f4df">getBlockData</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1DataflowValues.html" title="DataflowValues. Container class to store dataflow values for a CFG.">DataflowValues</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1DataflowValues.html#a7e10f96c871a147b62aed4bd6094a82f">getBlockData</a>(B);</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> }</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"></span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> /// getStmtData - Retrieves the dataflow values associated with a</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> /// specified Stmt. If the dataflow analysis is a forward analysis,</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> /// this data corresponds to the point immediately before a Stmt.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> /// If the analysis is a backwards analysis, it is associated with</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> /// the point after a Stmt. This data is only computed for block-level</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /// expressions, and only when requested when the analysis is executed.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#aca5f66aa51eb1e5a2e27eeb249b500c4"> 117</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1DataflowValues.html#a89baf8bc4ede2deae39af7b3c4420ab4">ValTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#aca5f66aa51eb1e5a2e27eeb249b500c4">getStmtData</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> assert (<a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c">StmtDataMap</a> && <span class="stringliteral">"Dataflow values were not computed for statements."</span>);</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">typename</span> StmtDataMapTy::iterator I = <a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c">StmtDataMap</a>->find(S);</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> assert (I != <a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c">StmtDataMap</a>->end() && <span class="stringliteral">"No data associated with statement."</span>);</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> I->second;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> }</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#aa6cab6ab359569e7f0d1cb231336d9ee"> 124</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DataflowValues.html#a89baf8bc4ede2deae39af7b3c4420ab4">ValTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#aa6cab6ab359569e7f0d1cb231336d9ee">getStmtData</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1DataflowValues.html" title="DataflowValues. Container class to store dataflow values for a CFG.">DataflowValues</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1DataflowValues.html#aca5f66aa51eb1e5a2e27eeb249b500c4">getStmtData</a>(S);</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"></span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> /// getEdgeDataMap - Retrieves the internal map between CFG edges and</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> /// dataflow values. Usually used by a dataflow solver to compute</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> /// values for blocks.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a9e00a8bdb1397a38f135fce174b1ee65"> 131</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1DataflowValues.html#ad9457dca447035adc10b53fbb383dc52">EdgeDataMapTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#a9e00a8bdb1397a38f135fce174b1ee65">getEdgeDataMap</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DataflowValues.html#a6516e083a933f9553577569c5d10a3a4">EdgeDataMap</a>; }</div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a89829663a84af7ae33817e7edd110616"> 132</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DataflowValues.html#ad9457dca447035adc10b53fbb383dc52">EdgeDataMapTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#a89829663a84af7ae33817e7edd110616">getEdgeDataMap</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DataflowValues.html#a6516e083a933f9553577569c5d10a3a4">EdgeDataMap</a>; }</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"></span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> /// getBlockDataMap - Retrieves the internal map between CFGBlocks and</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> /// dataflow values. If the dataflow analysis operates in the forward</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> /// direction, the values correspond to the dataflow values at the start</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> /// of the block. Otherwise, for a backward analysis, the values correpsond</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> /// to the dataflow values at the end of the block.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a0d9844023aadcd0c060aefa6b2b3ab65"> 139</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1DataflowValues.html#a845ae69fd75087f242ae3a953b7f2a65">BlockDataMapTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#a0d9844023aadcd0c060aefa6b2b3ab65">getBlockDataMap</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DataflowValues.html#a2f6f0cce1011ec7a06015145e19432fe">BlockDataMap</a>; }</div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a849d993478df9718af0cf4fe71b0424f"> 140</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DataflowValues.html#a845ae69fd75087f242ae3a953b7f2a65">BlockDataMapTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#a849d993478df9718af0cf4fe71b0424f">getBlockDataMap</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DataflowValues.html#a2f6f0cce1011ec7a06015145e19432fe">BlockDataMap</a>; }</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"></span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> /// getStmtDataMap - Retrieves the internal map between Stmts and</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> /// dataflow values.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#ab20ec1782ab41c0a896e34635814edaf"> 144</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1DataflowValues.html#a9a9891b89d9faf2df3608c7bc39583d5">StmtDataMapTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#ab20ec1782ab41c0a896e34635814edaf">getStmtDataMap</a>() {</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c">StmtDataMap</a>) <a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c">StmtDataMap</a> = <span class="keyword">new</span> <a class="code" href="classclang_1_1DataflowValues.html#a9a9891b89d9faf2df3608c7bc39583d5">StmtDataMapTy</a>();</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">return</span> *<a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c">StmtDataMap</a>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a839f2e6127738469d12112f2d45d1aae"> 149</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DataflowValues.html#a9a9891b89d9faf2df3608c7bc39583d5">StmtDataMapTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#a839f2e6127738469d12112f2d45d1aae">getStmtDataMap</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1DataflowValues.html" title="DataflowValues. Container class to store dataflow values for a CFG.">DataflowValues</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1DataflowValues.html#ab20ec1782ab41c0a896e34635814edaf">getStmtDataMap</a>();</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"></span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> /// getAnalysisData - Retrieves the meta data associated with a</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> /// dataflow analysis for analyzing a particular CFG.</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> /// This is typically consumed by transfer function code (via the solver).</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> /// This can also be used by subclasses to interpret the dataflow values.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#ae1d1daed2a453a8c747d2bf69ed779b7"> 157</a></span> <span class="comment"></span> <a class="code" href="classclang_1_1DataflowValues.html#ae3d7ddfeb4b0e5b6d4414b39e67947ac">AnalysisDataTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#ae1d1daed2a453a8c747d2bf69ed779b7">getAnalysisData</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DataflowValues.html#aae94bcd7ca14c62a12c97d4de5c49da9">AnalysisData</a>; }</div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#aa4f640085fb37feb3530f3b2781bcbd0"> 158</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DataflowValues.html#ae3d7ddfeb4b0e5b6d4414b39e67947ac">AnalysisDataTy</a>& <a class="code" href="classclang_1_1DataflowValues.html#aa4f640085fb37feb3530f3b2781bcbd0">getAnalysisData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DataflowValues.html#aae94bcd7ca14c62a12c97d4de5c49da9">AnalysisData</a>; }</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">// Internal data.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a6516e083a933f9553577569c5d10a3a4"> 165</a></span> <a class="code" href="classclang_1_1DataflowValues.html#ad9457dca447035adc10b53fbb383dc52">EdgeDataMapTy</a> <a class="code" href="classclang_1_1DataflowValues.html#a6516e083a933f9553577569c5d10a3a4">EdgeDataMap</a>;</div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a2f6f0cce1011ec7a06015145e19432fe"> 166</a></span> <a class="code" href="classclang_1_1DataflowValues.html#a845ae69fd75087f242ae3a953b7f2a65">BlockDataMapTy</a> <a class="code" href="classclang_1_1DataflowValues.html#a2f6f0cce1011ec7a06015145e19432fe">BlockDataMap</a>;</div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c"> 167</a></span> <a class="code" href="classclang_1_1DataflowValues.html#a9a9891b89d9faf2df3608c7bc39583d5">StmtDataMapTy</a>* <a class="code" href="classclang_1_1DataflowValues.html#a461fb79bee3b2b1bbac3070cb1b87c9c">StmtDataMap</a>;</div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="code" href="classclang_1_1DataflowValues.html#aae94bcd7ca14c62a12c97d4de5c49da9"> 168</a></span> <a class="code" href="classclang_1_1DataflowValues.html#ae3d7ddfeb4b0e5b6d4414b39e67947ac">AnalysisDataTy</a> <a class="code" href="classclang_1_1DataflowValues.html#aae94bcd7ca14c62a12c97d4de5c49da9">AnalysisData</a>;</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> };</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:30 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more
+information.</p>
+</body>
+</html>
More information about the llvm-commits
mailing list