[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