[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/Stmt_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Stmt_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Stmt_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Stmt_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,2173 @@
+<!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: Stmt.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_6152e82a4845f7e2a2888050f43c34d1.html">AST</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Stmt.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Stmt_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">//===--- Stmt.h - Classes for representing statements -----------*- 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 Stmt interface and subclasses.</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_AST_STMT_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_AST_STMT_H</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="DeclGroup_8h.html">clang/AST/DeclGroup.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="StmtIterator_8h.html">clang/AST/StmtIterator.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="CapturedStmt_8h.html">clang/Basic/CapturedStmt.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="IdentifierTable_8h.html" title="Defines the clang::IdentifierInfo, clang::IdentifierTable, and clang::Selector interfaces.">clang/Basic/IdentifierTable.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</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="l00022"></a><span class="lineno">   22</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="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/ADT/ArrayRef.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/ADT/PointerIntPair.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/Support/Compiler.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/Support/ErrorHandling.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include <string></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>llvm {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   <span class="keyword">class </span>FoldingSetNodeID;</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> </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   <span class="keyword">class </span>ASTContext;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keyword">class </span>Attr;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">class </span>CapturedDecl;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">class </span>Decl;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keyword">class </span>Expr;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <span class="keyword">class </span>IdentifierInfo;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   <span class="keyword">class </span>LabelDecl;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <span class="keyword">class </span>ParmVarDecl;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <span class="keyword">class </span>PrinterHelper;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   <span class="keyword">struct </span>PrintingPolicy;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <span class="keyword">class </span>QualType;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="keyword">class </span>RecordDecl;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keyword">class </span>SourceManager;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   <span class="keyword">class </span>StringLiteral;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   <span class="keyword">class </span>SwitchStmt;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   <span class="keyword">class </span><a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <span class="keyword">class </span>VarDecl;</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">// ExprIterator - Iterators for iterating over Stmt* arrays that contain</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   <span class="comment">//  only Expr*.  This is needed because AST nodes use Stmt* arrays to store</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   <span class="comment">//  references to children (to be compatible with StmtIterator).</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> </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   <span class="keyword">class </span>Stmt;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   <span class="keyword">class </span>Expr;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html">   61</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a> {</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>     <a class="code" href="classclang_1_1Stmt.html">Stmt</a>** I;</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_1ExprIterator.html#a5084913cad303db27cfc6d94db18ff29">   64</a></span>     <a class="code" href="classclang_1_1ExprIterator.html#a5084913cad303db27cfc6d94db18ff29">ExprIterator</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a>** i) : I(i) {}</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html#a16bb218488ce47581a2928b4a2452b5c">   65</a></span>     <a class="code" href="classclang_1_1ExprIterator.html#a16bb218488ce47581a2928b4a2452b5c">ExprIterator</a>() : I(0) {}</div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html#a4611f146433cde827866f4677b66a79f">   66</a></span>     <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a>& <a class="code" href="classclang_1_1ExprIterator.html#a4611f146433cde827866f4677b66a79f">operator++</a>() { ++I; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html#a5d330fcfa225d8e2eb4aa36634ea85f6">   67</a></span>     <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a> <a class="code" href="classclang_1_1ExprIterator.html#a5d330fcfa225d8e2eb4aa36634ea85f6">operator-</a>(<span class="keywordtype">size_t</span> i) { <span class="keywordflow">return</span> I-i; }</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html#a3806c77980a3ab9b376236fab663b53d">   68</a></span>     <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a> <a class="code" href="classclang_1_1ExprIterator.html#a3806c77980a3ab9b376236fab663b53d">operator+</a>(<span class="keywordtype">size_t</span> i) { <span class="keywordflow">return</span> I+i; }</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a>* <a class="code" href="classclang_1_1ExprIterator.html#a2a48318ddb68ee526c89662652c2211e">operator[]</a>(<span class="keywordtype">size_t</span> idx);</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>     <span class="comment">// FIXME: Verify that this will correctly return a signed distance.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html#a296e8a8d47fa58bec8268c04acda1d3e">   71</a></span>     <span class="keywordtype">signed</span> <a class="code" href="classclang_1_1ExprIterator.html#a296e8a8d47fa58bec8268c04acda1d3e">operator-</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I - R.I; }</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a>* <a class="code" href="classclang_1_1ExprIterator.html#a8d8ee2a784c895ee4c891be1fd29f86f">operator*</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>     <a class="code" href="classclang_1_1Expr.html">Expr</a>* <a class="code" href="classclang_1_1ExprIterator.html#ae5ca97a4897e525f78dc968ae3b845b6">operator-></a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html#acdb66911d77daae370a7983695481506">   74</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ExprIterator.html#acdb66911d77daae370a7983695481506">operator==</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I == R.I; }</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html#a96c92b2d6452f23bd824fff0b6b6b31d">   75</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ExprIterator.html#a96c92b2d6452f23bd824fff0b6b6b31d">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I != R.I; }</div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html#a7130aa3885a805c10d754171c6f1730c">   76</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ExprIterator.html#a7130aa3885a805c10d754171c6f1730c">operator></a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I > R.I; }</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="classclang_1_1ExprIterator.html#a3cbcf17adb39aa73bcbe80ea6dad192e">   77</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ExprIterator.html#a3cbcf17adb39aa73bcbe80ea6dad192e">operator>=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I >= R.I; }</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"><a class="code" href="classclang_1_1ConstExprIterator.html">   80</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a> {</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> * <span class="keyword">const</span> *I;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#a1d3dbb8e2cb6383560cfb7121935adca">   83</a></span>     <a class="code" href="classclang_1_1ConstExprIterator.html#a1d3dbb8e2cb6383560cfb7121935adca">ConstExprIterator</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> * <span class="keyword">const</span> *i) : I(i) {}</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#a2d0cf796968639360d7412c632d123c8">   84</a></span>     <a class="code" href="classclang_1_1ConstExprIterator.html#a2d0cf796968639360d7412c632d123c8">ConstExprIterator</a>() : I(0) {}</div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#a57e98ae94a63addc7c5b7901b74cb872">   85</a></span>     <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a>& <a class="code" href="classclang_1_1ConstExprIterator.html#a57e98ae94a63addc7c5b7901b74cb872">operator++</a>() { ++I; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#a49d5d0e92f4d941a992262caf473f213">   86</a></span>     <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a> <a class="code" href="classclang_1_1ConstExprIterator.html#a49d5d0e92f4d941a992262caf473f213">operator+</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I+i; }</div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#aefa446c7d7e34b113dd572df3d10828b">   87</a></span>     <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a> <a class="code" href="classclang_1_1ConstExprIterator.html#aefa446c7d7e34b113dd572df3d10828b">operator-</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I-i; }</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> * <a class="code" href="classclang_1_1ConstExprIterator.html#a0e723533c1b974575fc6d467d0cc2dcb">operator[]</a>(<span class="keywordtype">size_t</span> idx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#a93cbf2f13d01359e8f263ff8709176cf">   89</a></span>     <span class="keywordtype">signed</span> <a class="code" href="classclang_1_1ConstExprIterator.html#a93cbf2f13d01359e8f263ff8709176cf">operator-</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I - R.I; }</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> * <a class="code" href="classclang_1_1ConstExprIterator.html#a38a827b4c9a17a2a1d5ae8f13896c4e6">operator*</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> * <a class="code" href="classclang_1_1ConstExprIterator.html#a8fd66f8eac50d8d80e0177602c083471">operator-></a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#a3e797ec022348454d5ae9e731e088787">   92</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ConstExprIterator.html#a3e797ec022348454d5ae9e731e088787">operator==</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I == R.I; }</div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#a61a8e111c95f611d90b1d6399eb35b69">   93</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ConstExprIterator.html#a61a8e111c95f611d90b1d6399eb35b69">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I != R.I; }</div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#aeb847048f6e4f20bf01a0a62c60d2460">   94</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ConstExprIterator.html#aeb847048f6e4f20bf01a0a62c60d2460">operator></a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I > R.I; }</div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="code" href="classclang_1_1ConstExprIterator.html#a5a3b5476c0f66a0f30fff6fd83ba5bfa">   95</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ConstExprIterator.html#a5a3b5476c0f66a0f30fff6fd83ba5bfa">operator>=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a>& R)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> I >= R.I; }</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">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment">// AST classes for statements.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">//===----------------------------------------------------------------------===//</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">/// Stmt - This represents one statement.</span></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"><a class="code" href="classclang_1_1Stmt.html">  104</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">  106</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a> {</div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cda3c52fd74f70067fe6e848861ba1bf396">  107</a></span>     <a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cda3c52fd74f70067fe6e848861ba1bf396">NoStmtClass</a> = 0,</div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="Stmt_8h.html#a66a95a7b487036cbbd684f62a41dd3c9">  108</a></span> <span class="preprocessor">#define STMT(CLASS, PARENT) CLASS##Class,</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="Stmt_8h.html#a28998abacf8d86f7e20b53c0ccd21c65">  109</a></span> <span class="preprocessor"></span><span class="preprocessor">#define STMT_RANGE(BASE, FIRST, LAST) \</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="preprocessor">        first##BASE##Constant=FIRST##Class, last##BASE##Constant=LAST##Class,</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="Stmt_8h.html#a2f99ba11ea2d6542c410b74b20c0bb55">  111</a></span> <span class="preprocessor"></span><span class="preprocessor">#define LAST_STMT_RANGE(BASE, FIRST, LAST) \</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="preprocessor">        first##BASE##Constant=FIRST##Class, last##BASE##Constant=LAST##Class</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"><a class="code" href="Stmt_8h.html#a2bef40951de56b219654bc37304b03d5">  113</a></span> <span class="preprocessor"></span><span class="preprocessor">#define ABSTRACT_STMT(STMT)</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="StmtNodes_8inc.html">clang/AST/StmtNodes.inc</a>"</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> </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>   <span class="comment">// Make vanilla 'new' and 'delete' illegal for Stmts.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a1ae77e4db9de49a086373758d993e149">  119</a></span>   <span class="keywordtype">void</span>* <span class="keyword">operator</span> <span class="keyword">new</span>(<span class="keywordtype">size_t</span> bytes) <span class="keywordflow">throw</span>() {</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>     llvm_unreachable(<span class="stringliteral">"Stmts cannot be allocated with regular 'new'."</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_1Stmt.html#a960b8f1d7daa39af7cbf60883dd6133d">  122</a></span>   <span class="keywordtype">void</span> <span class="keyword">operator</span> <span class="keyword">delete</span>(<span class="keywordtype">void</span>* <a class="code" href="ASTWriter_8cpp.html#a5c6341076bde2012a21db25f4e2e3792">data</a>) <span class="keywordflow">throw</span>() {</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>     llvm_unreachable(<span class="stringliteral">"Stmts cannot be released with regular 'delete'."</span>);</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_1Stmt_1_1StmtBitfields.html">  126</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1StmtBitfields.html">StmtBitfields</a> {</div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1StmtBitfields.html#a199be48c46f9ca44d5c812c32a82f2fa">  127</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment"></span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="comment">    /// \brief The statement class.</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> sClass : 8;</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_1Stmt.html#a68a24eca6184595044ed46da7fc65ff5afb90bdc2f568f6ce6ac52d1fb8bda273">  132</a></span>   <span class="keyword">enum</span> { <a class="code" href="classclang_1_1Stmt.html#a68a24eca6184595044ed46da7fc65ff5afb90bdc2f568f6ce6ac52d1fb8bda273">NumStmtBits</a> = 8 };</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1CompoundStmtBitfields.html">  134</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1CompoundStmtBitfields.html">CompoundStmtBitfields</a> {</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1CompoundStmtBitfields.html#a8a528de473bf247825a55df07acc51ee">  135</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CompoundStmt.html">CompoundStmt</a>;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a68a24eca6184595044ed46da7fc65ff5afb90bdc2f568f6ce6ac52d1fb8bda273">NumStmtBits</a>;</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="keywordtype">unsigned</span> NumStmts : 32 - <a class="code" href="classclang_1_1Stmt.html#a68a24eca6184595044ed46da7fc65ff5afb90bdc2f568f6ce6ac52d1fb8bda273">NumStmtBits</a>;</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> </div>
+<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html">  141</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html">ExprBitfields</a> {</div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#aa33520359f6cc0f51b476790d39ed869">  142</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1Expr.html">Expr</a>;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a3b77cfc468c47ee499971c8d1a0150e7">  143</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1DeclRefExpr.html" title="A reference to a declared variable, function, enum, etc. [C99 6.5.1p2].">DeclRefExpr</a>; <span class="comment">// computeDependence</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#abb1c273b83e9c3fd95f7cd798f3a7a50">  144</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1InitListExpr.html" title="Describes an C or C++ initializer list.">InitListExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a0bda5100164c8262f4583e2201ec9e77">  145</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1DesignatedInitExpr.html" title="Represents a C99 designated initializer expression.">DesignatedInitExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a067a2b6e0867058b40a6f111d0a72561">  146</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a067a2b6e0867058b40a6f111d0a72561">BlockDeclRefExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#ad6427d648931017bffcb2f90b8930f9d">  147</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>; <span class="comment">// deserialization</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#ac5c841fe0630f8b2d82944b3ed748810">  148</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CXXNewExpr.html" title="Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)"...">CXXNewExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a8ffd510b40a777a6cd9b333de855999c">  149</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1DependentScopeDeclRefExpr.html" title="A qualified reference to a name whose declaration cannot yet be resolved.">DependentScopeDeclRefExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a81a5adbd960244d58056835e964a727f">  150</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CXXConstructExpr.html" title="Represents a call to a C++ constructor.">CXXConstructExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#aa46596ebec7e1df4ef2445c6fce1a887">  151</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CallExpr.html">CallExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#adff1f5218dd2bbbdde6ea9b4da30d29e">  152</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1OffsetOfExpr.html">OffsetOfExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a114f391a236071d23527b004408c93a0">  153</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ObjCMessageExpr.html" title="An expression that sends a message to the given Objective-C object or class.">ObjCMessageExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a3970f397537c67068b8c4cf1df0aad20">  154</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ObjCArrayLiteral.html">ObjCArrayLiteral</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a33b4f70bec0065f7ec5be62e05d49bac">  155</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ObjCDictionaryLiteral.html">ObjCDictionaryLiteral</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#af323bd3a064da06ba84f6104cbef05f0">  156</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ShuffleVectorExpr.html">ShuffleVectorExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a07f1dccc602c37cdefe4ee25f0550dc8">  157</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ParenListExpr.html">ParenListExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#ab3382887572724feba22f15ba643d05d">  158</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CXXUnresolvedConstructExpr.html" title="Describes an explicit type conversion that uses functional notion but could not be resolved because o...">CXXUnresolvedConstructExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a42f21b7dc2d611d825e45c71fa02c684">  159</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CXXDependentScopeMemberExpr.html" title="Represents a C++ member access expression where the actual member referenced could not be resolved be...">CXXDependentScopeMemberExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#ad9a360199cd9f4ae28210a08b5f6cbf0">  160</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1OverloadExpr.html" title="A reference to an overloaded function set, either an UnresolvedLookupExpr or an UnresolvedMemberExpr...">OverloadExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a0f1775218a216abf45ca4096d1b6e852">  161</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1PseudoObjectExpr.html">PseudoObjectExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html#a9cd7a20c08fff14b6d802bbc9dae42fb">  162</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1AtomicExpr.html">AtomicExpr</a>; <span class="comment">// ctor</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a68a24eca6184595044ed46da7fc65ff5afb90bdc2f568f6ce6ac52d1fb8bda273">NumStmtBits</a>;</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>     <span class="keywordtype">unsigned</span> ValueKind : 2;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>     <span class="keywordtype">unsigned</span> ObjectKind : 2;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     <span class="keywordtype">unsigned</span> TypeDependent : 1;</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>     <span class="keywordtype">unsigned</span> ValueDependent : 1;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>     <span class="keywordtype">unsigned</span> InstantiationDependent : 1;</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>     <span class="keywordtype">unsigned</span> ContainsUnexpandedParameterPack : 1;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   };</div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">  172</a></span>   <span class="keyword">enum</span> { <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a> = 16 };</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_1Stmt_1_1CharacterLiteralBitfields.html">  174</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1CharacterLiteralBitfields.html">CharacterLiteralBitfields</a> {</div>
+<div class="line"><a name="l00175"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1CharacterLiteralBitfields.html#a10394e61465c1f6555205f7195a9df49">  175</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CharacterLiteral.html">CharacterLiteral</a>;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> : 2;</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> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5c">  181</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5c">APFloatSemantics</a> {</div>
+<div class="line"><a name="l00182"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5ca517e11648c147a6ff8698bba50422d4f">  182</a></span>     <a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5ca517e11648c147a6ff8698bba50422d4f">IEEEhalf</a>,</div>
+<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5caddc121dbbb60bfce538a7f1f89ebf22b">  183</a></span>     <a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5caddc121dbbb60bfce538a7f1f89ebf22b">IEEEsingle</a>,</div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5cac3b2d7ef0e70b1da240bdd953830d73d">  184</a></span>     <a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5cac3b2d7ef0e70b1da240bdd953830d73d">IEEEdouble</a>,</div>
+<div class="line"><a name="l00185"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5ca8c3bbe79214c0eae419180b6f6a601f5">  185</a></span>     <a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5ca8c3bbe79214c0eae419180b6f6a601f5">x87DoubleExtended</a>,</div>
+<div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5ca0c27a5624bdb9a1b4c1e83ee0810471b">  186</a></span>     <a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5ca0c27a5624bdb9a1b4c1e83ee0810471b">IEEEquad</a>,</div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5ca84cd8b3cc5f3cf0f0d96acc7bdc66263">  187</a></span>     <a class="code" href="classclang_1_1Stmt.html#abfcf6dae0f3321a3bd6460681d8b7a5ca84cd8b3cc5f3cf0f0d96acc7bdc66263">PPCDoubleDouble</a></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> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1FloatingLiteralBitfields.html">  190</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1FloatingLiteralBitfields.html">FloatingLiteralBitfields</a> {</div>
+<div class="line"><a name="l00191"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1FloatingLiteralBitfields.html#aa5151bbf47aa859eb057b26550369d19">  191</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1FloatingLiteral.html">FloatingLiteral</a>;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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>     <span class="keywordtype">unsigned</span> Semantics : 3; <span class="comment">// Provides semantics for APFloat construction</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>     <span class="keywordtype">unsigned</span> IsExact : 1;</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_1Stmt_1_1UnaryExprOrTypeTraitExprBitfields.html">  198</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1UnaryExprOrTypeTraitExprBitfields.html">UnaryExprOrTypeTraitExprBitfields</a> {</div>
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1UnaryExprOrTypeTraitExprBitfields.html#a243a42edba6165b32de73978da88d491">  199</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1UnaryExprOrTypeTraitExpr.html">UnaryExprOrTypeTraitExpr</a>;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> : 2;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>     <span class="keywordtype">unsigned</span> IsType : 1; <span class="comment">// true if operand is a type, false if an expression.</span></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> </div>
+<div class="line"><a name="l00206"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1DeclRefExprBitfields.html">  206</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1DeclRefExprBitfields.html">DeclRefExprBitfields</a> {</div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1DeclRefExprBitfields.html#a3b77cfc468c47ee499971c8d1a0150e7">  207</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1DeclRefExpr.html" title="A reference to a declared variable, function, enum, etc. [C99 6.5.1p2].">DeclRefExpr</a>;</div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1DeclRefExprBitfields.html#ad6427d648931017bffcb2f90b8930f9d">  208</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>; <span class="comment">// deserialization</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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>     <span class="keywordtype">unsigned</span> HasQualifier : 1;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>     <span class="keywordtype">unsigned</span> HasTemplateKWAndArgsInfo : 1;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>     <span class="keywordtype">unsigned</span> HasFoundDecl : 1;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>     <span class="keywordtype">unsigned</span> HadMultipleCandidates : 1;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>     <span class="keywordtype">unsigned</span> RefersToEnclosingLocal : 1;</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> </div>
+<div class="line"><a name="l00218"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1CastExprBitfields.html">  218</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1CastExprBitfields.html">CastExprBitfields</a> {</div>
+<div class="line"><a name="l00219"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1CastExprBitfields.html#aad7c34605bed5b41b6e8ec5d3d3344b4">  219</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CastExpr.html">CastExpr</a>;</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</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>     <span class="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> : 6;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>     <span class="keywordtype">unsigned</span> BasePathSize : 32 - 6 - <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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> </div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1CallExprBitfields.html">  226</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1CallExprBitfields.html">CallExprBitfields</a> {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1CallExprBitfields.html#aa46596ebec7e1df4ef2445c6fce1a887">  227</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CallExpr.html">CallExpr</a>;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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="keywordtype">unsigned</span> NumPreArgs : 1;</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> </div>
+<div class="line"><a name="l00233"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprWithCleanupsBitfields.html">  233</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1ExprWithCleanupsBitfields.html">ExprWithCleanupsBitfields</a> {</div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprWithCleanupsBitfields.html#ab8e8c55b28ca626ccd974919f834c6b6">  234</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ExprWithCleanups.html">ExprWithCleanups</a>;</div>
+<div class="line"><a name="l00235"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ExprWithCleanupsBitfields.html#ad6427d648931017bffcb2f90b8930f9d">  235</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>; <span class="comment">// deserialization</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="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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">unsigned</span> NumObjects : 32 - <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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> </div>
+<div class="line"><a name="l00242"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1PseudoObjectExprBitfields.html">  242</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1PseudoObjectExprBitfields.html">PseudoObjectExprBitfields</a> {</div>
+<div class="line"><a name="l00243"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1PseudoObjectExprBitfields.html#a0f1775218a216abf45ca4096d1b6e852">  243</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1PseudoObjectExpr.html">PseudoObjectExpr</a>;</div>
+<div class="line"><a name="l00244"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1PseudoObjectExprBitfields.html#ad6427d648931017bffcb2f90b8930f9d">  244</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>; <span class="comment">// deserialization</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>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</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="comment">// These don't need to be particularly wide, because they're</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <span class="comment">// strictly limited by the forms of expressions we permit.</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>     <span class="keywordtype">unsigned</span> NumSubExprs : 8;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>     <span class="keywordtype">unsigned</span> ResultIndex : 32 - 8 - <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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"><a class="code" href="classclang_1_1Stmt_1_1ObjCIndirectCopyRestoreExprBitfields.html">  254</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1ObjCIndirectCopyRestoreExprBitfields.html">ObjCIndirectCopyRestoreExprBitfields</a> {</div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1ObjCIndirectCopyRestoreExprBitfields.html#a1796908775f44c3c2a8b2367a60154b0">  255</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ObjCIndirectCopyRestoreExpr.html">ObjCIndirectCopyRestoreExpr</a>;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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="keywordtype">unsigned</span> ShouldCopy : 1;</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> </div>
+<div class="line"><a name="l00261"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1InitListExprBitfields.html">  261</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1InitListExprBitfields.html">InitListExprBitfields</a> {</div>
+<div class="line"><a name="l00262"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1InitListExprBitfields.html#abb1c273b83e9c3fd95f7cd798f3a7a50">  262</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1InitListExpr.html" title="Describes an C or C++ initializer list.">InitListExpr</a>;</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="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> <span class="comment"></span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> <span class="comment">    /// Whether this initializer list originally had a GNU array-range</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> <span class="comment">    /// designator in it. This is a temporary marker used by CodeGen.</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> HadArrayRangeDesignator : 1;</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_1Stmt_1_1TypeTraitExprBitfields.html">  271</a></span>   <span class="keyword">class </span><a class="code" href="classclang_1_1Stmt_1_1TypeTraitExprBitfields.html">TypeTraitExprBitfields</a> {</div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1TypeTraitExprBitfields.html#ab15dc86d13aa0019ec992f30307131b9">  272</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1TypeTraitExpr.html" title="A type trait used in the implementation of various C++11 and Library TR1 trait templates.">TypeTraitExpr</a>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1TypeTraitExprBitfields.html#ad6427d648931017bffcb2f90b8930f9d">  273</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l00274"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt_1_1TypeTraitExprBitfields.html#ab6b1376d59ae2643970df578c721ae74">  274</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtWriter.html">ASTStmtWriter</a>;</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>     <span class="keywordtype">unsigned</span> : <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</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 The kind of type trait, which is a value of a TypeTrait enumerator.</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> : 8;</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> <span class="comment">    /// \brief If this expression is not value-dependent, this indicates whether</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> <span class="comment">    /// the trait evaluated true or false.</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a> : 1;</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> <span class="comment"></span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> <span class="comment">    /// \brief The number of arguments to this type trait.</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> NumArgs : 32 - 8 - 1 - <a class="code" href="classclang_1_1Stmt.html#a50cebda9fcb0a6e3f504e985f8a0facba3ad89c6beff9f8befc9899d0ae0f30eb">NumExprBits</a>;</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> </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>   <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>     <span class="comment">// FIXME: this is wasteful on 64-bit platforms.</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#ac4f9fe12b6d3abcc4d44ad78ff54102b">  291</a></span>     <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1Stmt.html#ac4f9fe12b6d3abcc4d44ad78ff54102b">Aligner</a>;</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#ad882785ce9fef2dc3d0189e0e23b6c10">  293</a></span>     <a class="code" href="classclang_1_1Stmt_1_1StmtBitfields.html">StmtBitfields</a> <a class="code" href="classclang_1_1Stmt.html#ad882785ce9fef2dc3d0189e0e23b6c10">StmtBits</a>;</div>
+<div class="line"><a name="l00294"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a9b28bcdff812b59dca9a24cf8aacd402">  294</a></span>     <a class="code" href="classclang_1_1Stmt_1_1CompoundStmtBitfields.html">CompoundStmtBitfields</a> <a class="code" href="classclang_1_1Stmt.html#a9b28bcdff812b59dca9a24cf8aacd402">CompoundStmtBits</a>;</div>
+<div class="line"><a name="l00295"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#aea431d7e2a72ee20ee4fc02577cf0da8">  295</a></span>     <a class="code" href="classclang_1_1Stmt_1_1ExprBitfields.html">ExprBitfields</a> <a class="code" href="classclang_1_1Stmt.html#aea431d7e2a72ee20ee4fc02577cf0da8">ExprBits</a>;</div>
+<div class="line"><a name="l00296"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a689621947f067ef49e8a9206c3319419">  296</a></span>     <a class="code" href="classclang_1_1Stmt_1_1CharacterLiteralBitfields.html">CharacterLiteralBitfields</a> <a class="code" href="classclang_1_1Stmt.html#a689621947f067ef49e8a9206c3319419">CharacterLiteralBits</a>;</div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a50c9d46b0e6caadff4e39c11201a5a3d">  297</a></span>     <a class="code" href="classclang_1_1Stmt_1_1FloatingLiteralBitfields.html">FloatingLiteralBitfields</a> <a class="code" href="classclang_1_1Stmt.html#a50c9d46b0e6caadff4e39c11201a5a3d">FloatingLiteralBits</a>;</div>
+<div class="line"><a name="l00298"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a0a726488789e3bcfab8bfc4124436c91">  298</a></span>     <a class="code" href="classclang_1_1Stmt_1_1UnaryExprOrTypeTraitExprBitfields.html">UnaryExprOrTypeTraitExprBitfields</a> <a class="code" href="classclang_1_1Stmt.html#a0a726488789e3bcfab8bfc4124436c91">UnaryExprOrTypeTraitExprBits</a>;</div>
+<div class="line"><a name="l00299"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#abddc0bde0c112a8b91f0536adba14dd4">  299</a></span>     <a class="code" href="classclang_1_1Stmt_1_1DeclRefExprBitfields.html">DeclRefExprBitfields</a> <a class="code" href="classclang_1_1Stmt.html#abddc0bde0c112a8b91f0536adba14dd4">DeclRefExprBits</a>;</div>
+<div class="line"><a name="l00300"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a9f9eba96a0441fd25330cdd6fa0358c8">  300</a></span>     <a class="code" href="classclang_1_1Stmt_1_1CastExprBitfields.html">CastExprBitfields</a> <a class="code" href="classclang_1_1Stmt.html#a9f9eba96a0441fd25330cdd6fa0358c8">CastExprBits</a>;</div>
+<div class="line"><a name="l00301"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a3f45ae9c6a8dc16d25ac70caa5da480d">  301</a></span>     <a class="code" href="classclang_1_1Stmt_1_1CallExprBitfields.html">CallExprBitfields</a> <a class="code" href="classclang_1_1Stmt.html#a3f45ae9c6a8dc16d25ac70caa5da480d">CallExprBits</a>;</div>
+<div class="line"><a name="l00302"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a4c6cb37ef0eed5352dfcc3fba9f31630">  302</a></span>     <a class="code" href="classclang_1_1Stmt_1_1ExprWithCleanupsBitfields.html">ExprWithCleanupsBitfields</a> <a class="code" href="classclang_1_1Stmt.html#a4c6cb37ef0eed5352dfcc3fba9f31630">ExprWithCleanupsBits</a>;</div>
+<div class="line"><a name="l00303"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#ae81cdc6e7465b048cc9a360c2312fe9f">  303</a></span>     <a class="code" href="classclang_1_1Stmt_1_1PseudoObjectExprBitfields.html">PseudoObjectExprBitfields</a> <a class="code" href="classclang_1_1Stmt.html#ae81cdc6e7465b048cc9a360c2312fe9f">PseudoObjectExprBits</a>;</div>
+<div class="line"><a name="l00304"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#ade998a58f29104a9009a29de125be14d">  304</a></span>     <a class="code" href="classclang_1_1Stmt_1_1ObjCIndirectCopyRestoreExprBitfields.html">ObjCIndirectCopyRestoreExprBitfields</a> <a class="code" href="classclang_1_1Stmt.html#ade998a58f29104a9009a29de125be14d">ObjCIndirectCopyRestoreExprBits</a>;</div>
+<div class="line"><a name="l00305"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a1809e57e2837d50331259cc6cecd9007">  305</a></span>     <a class="code" href="classclang_1_1Stmt_1_1InitListExprBitfields.html">InitListExprBitfields</a> <a class="code" href="classclang_1_1Stmt.html#a1809e57e2837d50331259cc6cecd9007">InitListExprBits</a>;</div>
+<div class="line"><a name="l00306"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a7f661f100396fe5cc61666c2dc88a902">  306</a></span>     <a class="code" href="classclang_1_1Stmt_1_1TypeTraitExprBitfields.html">TypeTraitExprBitfields</a> <a class="code" href="classclang_1_1Stmt.html#a7f661f100396fe5cc61666c2dc88a902">TypeTraitExprBits</a>;</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> </div>
+<div class="line"><a name="l00309"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#ad6427d648931017bffcb2f90b8930f9d">  309</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l00310"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#ab6b1376d59ae2643970df578c721ae74">  310</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtWriter.html">ASTStmtWriter</a>;</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="keyword">public</span>:</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   <span class="comment">// Only allow allocation of Stmts using the allocator in ASTContext</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   <span class="comment">// or by doing a placement new.</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>   <span class="keywordtype">void</span>* <span class="keyword">operator</span> <span class="keyword">new</span>(<span class="keywordtype">size_t</span> bytes, <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a>& C,</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>                      <span class="keywordtype">unsigned</span> alignment = 8);</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a42527cb946730ea33f029ab89ece4344">  318</a></span>   <span class="keywordtype">void</span>* <span class="keyword">operator</span> <span class="keyword">new</span>(<span class="keywordtype">size_t</span> bytes, <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a>* C,</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>                      <span class="keywordtype">unsigned</span> alignment = 8) {</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>     <span class="keywordflow">return</span> <span class="keyword">operator</span> <span class="keyword">new</span>(bytes, *C, alignment);</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"><a class="code" href="classclang_1_1Stmt.html#ac13d954c4d8cc5dea7886420cce50fb2">  323</a></span>   <span class="keywordtype">void</span>* <span class="keyword">operator</span> <span class="keyword">new</span>(<span class="keywordtype">size_t</span> bytes, <span class="keywordtype">void</span>* mem) <span class="keywordflow">throw</span>() {</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>     <span class="keywordflow">return</span> mem;</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> </div>
+<div class="line"><a name="l00327"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a7d7e91761c0f6535cb2b8cae4bbf03b1">  327</a></span>   <span class="keywordtype">void</span> <span class="keyword">operator</span> <span class="keyword">delete</span>(<span class="keywordtype">void</span>*, <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a>&, <a class="code" href="classunsigned.html">unsigned</a>) <span class="keywordflow">throw</span>() { }</div>
+<div class="line"><a name="l00328"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a15d4a5719439cbb617140ed5e23c4c75">  328</a></span>   <span class="keywordtype">void</span> <span class="keyword">operator</span> <span class="keyword">delete</span>(<span class="keywordtype">void</span>*, <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a>*, <a class="code" href="classunsigned.html">unsigned</a>) <span class="keywordflow">throw</span>() { }</div>
+<div class="line"><a name="l00329"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#ad56492bb0b0ca0da1ea6d2ac859e70c4">  329</a></span>   <span class="keywordtype">void</span> <span class="keyword">operator</span> <span class="keyword">delete</span>(<span class="keywordtype">void</span>*, <a class="code" href="stddef_8h.html#aa9d55e2f20e580b7445617d0d12fff6e">size_t</a>) <span class="keywordflow">throw</span>() { }</div>
+<div class="line"><a name="l00330"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#af4665bba9b29d22652138296f2180afe">  330</a></span>   <span class="keywordtype">void</span> <span class="keyword">operator</span> <span class="keyword">delete</span>(<span class="keywordtype">void</span>*, <span class="keywordtype">void</span>*) <span class="keywordflow">throw</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> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> <span class="comment">  /// \brief A placeholder type used to construct an empty shell of a</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> <span class="comment">  /// type, that will be filled in later (e.g., by some</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> <span class="comment">  /// de-serialization).</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno"><a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html">  336</a></span> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> { };</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="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> <span class="comment">  /// \brief Whether statistic collection is enabled.</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> StatisticsEnabled;</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="keyword">protected</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> <span class="comment">  /// \brief Construct an empty statement.</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a84ec094b6832b4912e576eae8c0dab8e">  344</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1Stmt.html#a84ec094b6832b4912e576eae8c0dab8e" title="Construct an empty statement.">Stmt</a>(<a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a> SC, <a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a>) {</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     <a class="code" href="classclang_1_1Stmt.html#ad882785ce9fef2dc3d0189e0e23b6c10">StmtBits</a>.sClass = SC;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>     <span class="keywordflow">if</span> (StatisticsEnabled) <a class="code" href="classclang_1_1Stmt.html#ab120f4917a8a8565879e9e65200552dd">Stmt::addStmtClass</a>(SC);</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> </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00350"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a238bb59b412877db82eded1fdce8a458">  350</a></span>   <a class="code" href="classclang_1_1Stmt.html#a238bb59b412877db82eded1fdce8a458">Stmt</a>(<a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a> SC) {</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>     <a class="code" href="classclang_1_1Stmt.html#ad882785ce9fef2dc3d0189e0e23b6c10">StmtBits</a>.sClass = SC;</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>     <span class="keywordflow">if</span> (StatisticsEnabled) <a class="code" href="classclang_1_1Stmt.html#ab120f4917a8a8565879e9e65200552dd">Stmt::addStmtClass</a>(SC);</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> </div>
+<div class="line"><a name="l00355"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">  355</a></span>   <a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a> <a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>     <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a><span class="keyword">></span>(<a class="code" href="classclang_1_1Stmt.html#ad882785ce9fef2dc3d0189e0e23b6c10">StmtBits</a>.sClass);</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="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1Stmt.html#ade051358ebcf2624219e6b8c954d27d5">getStmtClassName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> <span class="comment"></span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> <span class="comment">  /// SourceLocation tokens are not useful in isolation - they are low level</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> <span class="comment">  /// value objects created/interpreted by SourceManager. We assume AST</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> <span class="comment">  /// clients will have a pointer to the respective SourceManager.</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>() const LLVM_READONLY;</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</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> <a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>() const LLVM_READONLY;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</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> <a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>() const LLVM_READONLY;</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="comment">// global temp stats (until we have a per-module visitor)</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>   static <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#ab120f4917a8a8565879e9e65200552dd">addStmtClass</a>(const <a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a> s);</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>   static <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#a1c293d95cbbd814a99a0204e5f965443">EnableStatistics</a>();</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   static <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#a73f3333319583ce2e9280d4b196974b5">PrintStats</a>();</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> <span class="comment"></span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> <span class="comment">  /// \brief Dumps the specified AST fragment and all subtrees to</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> <span class="comment">  /// \c llvm::errs().</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> <span class="comment"></span>  LLVM_ATTRIBUTE_USED <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#a4f15072b37004fbc49a5fe29384c4d6e" title="Dumps the specified AST fragment and all subtrees to llvm::errs().">dump</a>() const;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>   LLVM_ATTRIBUTE_USED <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#a4f15072b37004fbc49a5fe29384c4d6e" title="Dumps the specified AST fragment and all subtrees to llvm::errs().">dump</a>(<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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>) const;</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#a4f15072b37004fbc49a5fe29384c4d6e" title="Dumps the specified AST fragment and all subtrees to llvm::errs().">dump</a>(raw_ostream &OS, <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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>) const;</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> <span class="comment"></span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="comment">  /// dumpColor - same as dump(), but forces color highlighting.</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> <span class="comment"></span>  LLVM_ATTRIBUTE_USED <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#a2d5bb951bd8ceaefa13d29ca4fa16acf" title="dumpColor - same as dump(), but forces color highlighting.">dumpColor</a>() const;</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> <span class="comment"></span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> <span class="comment">  /// dumpPretty/printPretty - These two methods do a "pretty print" of the AST</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> <span class="comment">  /// back to its original source language syntax.</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#a6a96e59fd23ee1e49afa468faa1a1701">dumpPretty</a>(const <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>) const;</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#a7b6d8297403170952d84a89867ddbb1b">printPretty</a>(raw_ostream &OS, <a class="code" href="classclang_1_1PrinterHelper.html">PrinterHelper</a> *Helper,</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>                    const <a class="code" href="structclang_1_1PrintingPolicy.html" title="Describes how types, statements, expressions, and declarations should be printed.">PrintingPolicy</a> &Policy,</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>                    <span class="keywordtype">unsigned</span> Indentation = 0) const;</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> <span class="comment"></span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> <span class="comment">  /// viewAST - Visualize an AST rooted at this Stmt* using GraphViz.  Only</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> <span class="comment">  ///   works on systems with GraphViz (Mac OS X) or dot+gv installed.</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#ae60c362358b70191c62912fd8dbad125">viewAST</a>() const;</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> <span class="comment"></span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> <span class="comment">  /// Skip past any implicit AST nodes which might surround this</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> <span class="comment">  /// statement, such as ExprWithCleanups or ImplicitCastExpr nodes.</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> <span class="comment"></span>  <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1Stmt.html#aed458f785aec2ce3c0d8db06a86154c4">IgnoreImplicit</a>();</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>   const <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1Stmt.html#aed5e600787201ae4c47082bb5e3768ba" title="Strip off all label-like statements.">stripLabelLikeStatements</a>() const;</div>
+<div class="line"><a name="l00397"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#ad929fd633da473d8a597b8cbafc5f3a0">  397</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1Stmt.html#aed5e600787201ae4c47082bb5e3768ba" title="Strip off all label-like statements.">stripLabelLikeStatements</a>() {</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>       <span class="keyword">const_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1Stmt.html#aed5e600787201ae4c47082bb5e3768ba" title="Strip off all label-like statements.">stripLabelLikeStatements</a>());</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="comment"></span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> <span class="comment">  /// Child Iterators: All subclasses must implement 'children'</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> <span class="comment">  /// to permit easy iteration over the substatements/subexpessions of an</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> <span class="comment">  /// AST node.  This permits easy iteration over all nodes in the AST.</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a872042470c10cfe9f3988728390a39f9">  405</a></span> <span class="comment"></span>  <span class="keyword">typedef</span> <a class="code" href="structclang_1_1StmtIterator.html">StmtIterator</a>       <a class="code" href="classclang_1_1Stmt.html#a872042470c10cfe9f3988728390a39f9">child_iterator</a>;</div>
+<div class="line"><a name="l00406"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a762e93b042cdb0846313776dc304024a">  406</a></span>   <span class="keyword">typedef</span> <a class="code" href="structclang_1_1ConstStmtIterator.html">ConstStmtIterator</a>  <a class="code" href="classclang_1_1Stmt.html#a762e93b042cdb0846313776dc304024a">const_child_iterator</a>;</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">  408</a></span>   <span class="keyword">typedef</span> <a class="code" href="structclang_1_1StmtRange.html">StmtRange</a>          <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>;</div>
+<div class="line"><a name="l00409"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#aa723f325b8e9e188d884912b2e6233b2">  409</a></span>   <span class="keyword">typedef</span> <a class="code" href="structclang_1_1ConstStmtRange.html">ConstStmtRange</a>     <a class="code" href="classclang_1_1Stmt.html#aa723f325b8e9e188d884912b2e6233b2">const_child_range</a>;</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1Stmt.html#a489148e5d234a5a7f00d8b02981bcee5">children</a>();</div>
+<div class="line"><a name="l00412"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a63b6391692bf9e167d14277c3d12c73c">  412</a></span>   <a class="code" href="structclang_1_1ConstStmtRange.html">const_child_range</a> <a class="code" href="classclang_1_1Stmt.html#a63b6391692bf9e167d14277c3d12c73c">children</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1Stmt.html#a489148e5d234a5a7f00d8b02981bcee5">children</a>();</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</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"><a class="code" href="classclang_1_1Stmt.html#a52a20468e7b2880de813ed91d75d2617">  416</a></span>   <a class="code" href="structclang_1_1StmtIterator.html">child_iterator</a> <a class="code" href="classclang_1_1Stmt.html#a52a20468e7b2880de813ed91d75d2617">child_begin</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a489148e5d234a5a7f00d8b02981bcee5">children</a>().first; }</div>
+<div class="line"><a name="l00417"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a7a17d445eb6027180bbdc518e6cdb63a">  417</a></span>   <a class="code" href="structclang_1_1StmtIterator.html">child_iterator</a> <a class="code" href="classclang_1_1Stmt.html#a7a17d445eb6027180bbdc518e6cdb63a">child_end</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a489148e5d234a5a7f00d8b02981bcee5">children</a>().second; }</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a name="l00419"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a527298b0fb2b330f0109ea9df7d4a614">  419</a></span>   <a class="code" href="structclang_1_1ConstStmtIterator.html">const_child_iterator</a> <a class="code" href="classclang_1_1Stmt.html#a527298b0fb2b330f0109ea9df7d4a614">child_begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a489148e5d234a5a7f00d8b02981bcee5">children</a>().first; }</div>
+<div class="line"><a name="l00420"></a><span class="lineno"><a class="code" href="classclang_1_1Stmt.html#a5f443e7a14eabf77776a28ac94633738">  420</a></span>   <a class="code" href="structclang_1_1ConstStmtIterator.html">const_child_iterator</a> <a class="code" href="classclang_1_1Stmt.html#a5f443e7a14eabf77776a28ac94633738">child_end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a489148e5d234a5a7f00d8b02981bcee5">children</a>().second; }</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="comment"></span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> <span class="comment">  /// \brief Produce a unique representation of the given statement.</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">  /// \param ID once the profiling operation is complete, will contain</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> <span class="comment">  /// the unique representation of the given statement.</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> <span class="comment">  /// \param Context the AST context in which the statement resides</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> <span class="comment">  /// \param Canonical whether the profile should be based on the canonical</span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> <span class="comment">  /// representation of this statement (e.g., where non-type template</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> <span class="comment">  /// parameters are identified by index/level rather than their</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> <span class="comment">  /// declaration pointers) or the exact representation of the statement as</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> <span class="comment">  /// written in the source.</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Stmt.html#a94f8142ca0a6e44fe4eb2e993f032944" title="Produce a unique representation of the given statement.">Profile</a>(llvm::FoldingSetNodeID &<a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>,</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>                <span class="keywordtype">bool</span> Canonical) <span class="keyword">const</span>;</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"></span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> <span class="comment">/// DeclStmt - Adaptor class for mixing declarations with statements and</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> <span class="comment">/// expressions. For example, CompoundStmt mixes statements, expressions</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> <span class="comment">/// and declarations (variables, types). Another example is ForStmt, where</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> <span class="comment">/// the first statement can be an expression or a declaration.</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html">  443</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   <a class="code" href="classclang_1_1DeclGroupRef.html">DeclGroupRef</a> DG;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</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> StartLoc, EndLoc;</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> </div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#af5241381f1ffb5ce414740e609fe19c8">  448</a></span>   <a class="code" href="classclang_1_1DeclStmt.html#af5241381f1ffb5ce414740e609fe19c8">DeclStmt</a>(<a class="code" href="classclang_1_1DeclGroupRef.html">DeclGroupRef</a> dg, <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> startLoc,</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</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> endLoc) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(DeclStmtClass), DG(dg),</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>                                     StartLoc(startLoc), EndLoc(endLoc) {}</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> <span class="comment"></span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> <span class="comment">  /// \brief Build an empty declaration statement.</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a24b7aa7f3723706ce7c283c7524ea933">  453</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1DeclStmt.html#a24b7aa7f3723706ce7c283c7524ea933" title="Build an empty declaration statement.">DeclStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(DeclStmtClass, Empty) { }</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> <span class="comment"></span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> <span class="comment">  /// isSingleDecl - This method returns true if this DeclStmt refers</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> <span class="comment">  /// to a single Decl.</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a3280ac0a91f46713e8c578aa50f6ac65">  457</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclStmt.html#a3280ac0a91f46713e8c578aa50f6ac65">isSingleDecl</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>     <span class="keywordflow">return</span> DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a86e4d18a7d2b6c70c979edd41a941093">isSingleDecl</a>();</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> </div>
+<div class="line"><a name="l00461"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a7a3a8ab21cb320cd84c3dce1e678b0b3">  461</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="classclang_1_1DeclStmt.html#a7a3a8ab21cb320cd84c3dce1e678b0b3">getSingleDecl</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a4d038d29cf3002ed06d91f38959e9ed1">getSingleDecl</a>(); }</div>
+<div class="line"><a name="l00462"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a191942d62a93c6e90f3a9225d00d3152">  462</a></span>   <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="classclang_1_1DeclStmt.html#a191942d62a93c6e90f3a9225d00d3152">getSingleDecl</a>() { <span class="keywordflow">return</span> DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a4d038d29cf3002ed06d91f38959e9ed1">getSingleDecl</a>(); }</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#acaee6c9e4658630ee22a50405ce1a187">  464</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclGroupRef.html">DeclGroupRef</a> <a class="code" href="classclang_1_1DeclStmt.html#acaee6c9e4658630ee22a50405ce1a187">getDeclGroup</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DG; }</div>
+<div class="line"><a name="l00465"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#ac1ffb1dfc7535e5661c752b93152afa8">  465</a></span>   <a class="code" href="classclang_1_1DeclGroupRef.html">DeclGroupRef</a> <a class="code" href="classclang_1_1DeclStmt.html#ac1ffb1dfc7535e5661c752b93152afa8">getDeclGroup</a>() { <span class="keywordflow">return</span> DG; }</div>
+<div class="line"><a name="l00466"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a8afc37a69a165883972da14610a1fe7e">  466</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclStmt.html#a8afc37a69a165883972da14610a1fe7e">setDeclGroup</a>(<a class="code" href="classclang_1_1DeclGroupRef.html">DeclGroupRef</a> DGR) { DG = DGR; }</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#ac09fbe4e859cf4e759412750adff1666">  468</a></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> <a class="code" href="classclang_1_1DeclStmt.html#ac09fbe4e859cf4e759412750adff1666">getStartLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> StartLoc; }</div>
+<div class="line"><a name="l00469"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a369851aa9aec1f0eb2d47d9321aa8749">  469</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclStmt.html#a369851aa9aec1f0eb2d47d9321aa8749">setStartLoc</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> L) { StartLoc = L; }</div>
+<div class="line"><a name="l00470"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a5be41b4a0630560ae06f74405921299e">  470</a></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> <a class="code" href="classclang_1_1DeclStmt.html#a5be41b4a0630560ae06f74405921299e">getEndLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> EndLoc; }</div>
+<div class="line"><a name="l00471"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a66277669b3f9c4d85ae9cd084687b30d">  471</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DeclStmt.html#a66277669b3f9c4d85ae9cd084687b30d">setEndLoc</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> L) { EndLoc = L; }</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_1DeclStmt.html#a1d47aec6bf096a3c87fcf3a5fb47f545">  473</a></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> <a class="code" href="classclang_1_1DeclStmt.html#a1d47aec6bf096a3c87fcf3a5fb47f545">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> StartLoc; }</div>
+<div class="line"><a name="l00474"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#ad74704f08871606bd4c638f023b777eb">  474</a></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> <a class="code" href="classclang_1_1DeclStmt.html#ad74704f08871606bd4c638f023b777eb">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> EndLoc; }</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a4d84b56e6882ae8e9355ffb815d389c3">  476</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DeclStmt.html#a4d84b56e6882ae8e9355ffb815d389c3">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == DeclStmtClass;</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   }</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>   <span class="comment">// Iterators over subexpressions.</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a0a828ad47c48c8ea27286313b3c6c921">  481</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1DeclStmt.html#a0a828ad47c48c8ea27286313b3c6c921">children</a>() {</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(<a class="code" href="classclang_1_1Stmt.html#a872042470c10cfe9f3988728390a39f9">child_iterator</a>(DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a6992d5c8adb23509dbdd5f0c6e302a39">begin</a>(), DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a6a4708b4425390f3d2c2f002a765e413">end</a>()),</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>                        <a class="code" href="classclang_1_1Stmt.html#a872042470c10cfe9f3988728390a39f9">child_iterator</a>(DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a6a4708b4425390f3d2c2f002a765e413">end</a>(), DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a6a4708b4425390f3d2c2f002a765e413">end</a>()));</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>   }</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> </div>
+<div class="line"><a name="l00486"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a2dec08d722e317ca65c7ac517a80f5b6">  486</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1Decl.html">DeclGroupRef::iterator</a> <a class="code" href="classclang_1_1DeclStmt.html#a2dec08d722e317ca65c7ac517a80f5b6">decl_iterator</a>;</div>
+<div class="line"><a name="l00487"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#afa787c81556cef57b0df3f11db4de056">  487</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1DeclGroupRef.html#ac2c15fb4a78c8f708789af7decd99ce2">DeclGroupRef::const_iterator</a> <a class="code" href="classclang_1_1DeclStmt.html#afa787c81556cef57b0df3f11db4de056">const_decl_iterator</a>;</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_1DeclStmt.html#a768633348948e677e5cba8191d5507be">  489</a></span>   <a class="code" href="classclang_1_1Decl.html">decl_iterator</a> <a class="code" href="classclang_1_1DeclStmt.html#a768633348948e677e5cba8191d5507be">decl_begin</a>() { <span class="keywordflow">return</span> DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a6992d5c8adb23509dbdd5f0c6e302a39">begin</a>(); }</div>
+<div class="line"><a name="l00490"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#a30441673be0ce59ad1a5ee98481d33ab">  490</a></span>   <a class="code" href="classclang_1_1Decl.html">decl_iterator</a> <a class="code" href="classclang_1_1DeclStmt.html#a30441673be0ce59ad1a5ee98481d33ab">decl_end</a>() { <span class="keywordflow">return</span> DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a6a4708b4425390f3d2c2f002a765e413">end</a>(); }</div>
+<div class="line"><a name="l00491"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#aa91ed883f9babc5f615e09fae3a35e86">  491</a></span>   <a class="code" href="classclang_1_1DeclStmt.html#afa787c81556cef57b0df3f11db4de056">const_decl_iterator</a> <a class="code" href="classclang_1_1DeclStmt.html#aa91ed883f9babc5f615e09fae3a35e86">decl_begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a6992d5c8adb23509dbdd5f0c6e302a39">begin</a>(); }</div>
+<div class="line"><a name="l00492"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#acffb9213dc2dfd66f4cc302362626e37">  492</a></span>   <a class="code" href="classclang_1_1DeclStmt.html#afa787c81556cef57b0df3f11db4de056">const_decl_iterator</a> <a class="code" href="classclang_1_1DeclStmt.html#acffb9213dc2dfd66f4cc302362626e37">decl_end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DG.<a class="code" href="classclang_1_1DeclGroupRef.html#a6a4708b4425390f3d2c2f002a765e413">end</a>(); }</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_1DeclStmt.html#a921fb9b0d0d0b0fb4ffd63102aa5aaa4">  494</a></span>   <span class="keyword">typedef</span> std::reverse_iterator<decl_iterator> <a class="code" href="classclang_1_1DeclStmt.html#a921fb9b0d0d0b0fb4ffd63102aa5aaa4">reverse_decl_iterator</a>;</div>
+<div class="line"><a name="l00495"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#ae3042b736f85ca467b3d3acec278a4ca">  495</a></span>   <a class="code" href="classclang_1_1DeclStmt.html#a921fb9b0d0d0b0fb4ffd63102aa5aaa4">reverse_decl_iterator</a> <a class="code" href="classclang_1_1DeclStmt.html#ae3042b736f85ca467b3d3acec278a4ca">decl_rbegin</a>() {</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclStmt.html#a921fb9b0d0d0b0fb4ffd63102aa5aaa4">reverse_decl_iterator</a>(<a class="code" href="classclang_1_1DeclStmt.html#a30441673be0ce59ad1a5ee98481d33ab">decl_end</a>());</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>   }</div>
+<div class="line"><a name="l00498"></a><span class="lineno"><a class="code" href="classclang_1_1DeclStmt.html#acd5e98d469b0649d809c38835a46252e">  498</a></span>   <a class="code" href="classclang_1_1DeclStmt.html#a921fb9b0d0d0b0fb4ffd63102aa5aaa4">reverse_decl_iterator</a> <a class="code" href="classclang_1_1DeclStmt.html#acd5e98d469b0649d809c38835a46252e">decl_rend</a>() {</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DeclStmt.html#a921fb9b0d0d0b0fb4ffd63102aa5aaa4">reverse_decl_iterator</a>(<a class="code" href="classclang_1_1DeclStmt.html#a768633348948e677e5cba8191d5507be">decl_begin</a>());</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>   }</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span> };</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span> <span class="comment"></span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> <span class="comment">/// NullStmt - This is the null statement ";": C99 6.8.3p3.</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html">  505</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1NullStmt.html">NullStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</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> SemiLoc;</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> <span class="comment"></span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> <span class="comment">  /// \brief True if the null statement was preceded by an empty macro, e.g:</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> <span class="comment">  /// @code</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span> <span class="comment">  ///   #define CALL(x)</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> <span class="comment">  ///   CALL(0);</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> <span class="comment">  /// @endcode</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> <span class="comment"></span>  <span class="keywordtype">bool</span> HasLeadingEmptyMacro;</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00515"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html#aa288ae7ec1e4c4240e57df04457a12f7">  515</a></span>   <a class="code" href="classclang_1_1NullStmt.html#aa288ae7ec1e4c4240e57df04457a12f7">NullStmt</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> L, <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1NullStmt.html#ac109b13718dbbdf3cf4fb6c7b2909ddd">hasLeadingEmptyMacro</a> = <span class="keyword">false</span>)</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(NullStmtClass), SemiLoc(L),</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>       HasLeadingEmptyMacro(<a class="code" href="classclang_1_1NullStmt.html#ac109b13718dbbdf3cf4fb6c7b2909ddd">hasLeadingEmptyMacro</a>) {}</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> <span class="comment"></span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span> <span class="comment">  /// \brief Build an empty null statement.</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html#aae5631ccfb44c2f6018245ac14fe63f8">  520</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1NullStmt.html#aa288ae7ec1e4c4240e57df04457a12f7">NullStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(NullStmtClass, Empty),</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>       HasLeadingEmptyMacro(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) { }</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> </div>
+<div class="line"><a name="l00523"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html#a52cea0a10ce90bcac2866f84caf9556d">  523</a></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> <a class="code" href="classclang_1_1NullStmt.html#a52cea0a10ce90bcac2866f84caf9556d">getSemiLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SemiLoc; }</div>
+<div class="line"><a name="l00524"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html#a196547151d1f6812e367320f8b708044">  524</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1NullStmt.html#a196547151d1f6812e367320f8b708044">setSemiLoc</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> L) { SemiLoc = L; }</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span> </div>
+<div class="line"><a name="l00526"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html#ac109b13718dbbdf3cf4fb6c7b2909ddd">  526</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1NullStmt.html#ac109b13718dbbdf3cf4fb6c7b2909ddd">hasLeadingEmptyMacro</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> HasLeadingEmptyMacro; }</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_1NullStmt.html#a7a0c81f488a60535b8b16b062b0bbb89">  528</a></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> <a class="code" href="classclang_1_1NullStmt.html#a7a0c81f488a60535b8b16b062b0bbb89">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> SemiLoc; }</div>
+<div class="line"><a name="l00529"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html#af89f44a753d3948f4b24968579072b0d">  529</a></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> <a class="code" href="classclang_1_1NullStmt.html#af89f44a753d3948f4b24968579072b0d">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> SemiLoc; }</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span> </div>
+<div class="line"><a name="l00531"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html#aa0323cd4b6c280462d4e1b6bb811ed91">  531</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1NullStmt.html#aa0323cd4b6c280462d4e1b6bb811ed91">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == NullStmtClass;</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"><a class="code" href="classclang_1_1NullStmt.html#a8d0a044aa0c18d22bb39075de9deac8a">  535</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1NullStmt.html#a8d0a044aa0c18d22bb39075de9deac8a">children</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(); }</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span> </div>
+<div class="line"><a name="l00537"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html#ad6427d648931017bffcb2f90b8930f9d">  537</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l00538"></a><span class="lineno"><a class="code" href="classclang_1_1NullStmt.html#ab6b1376d59ae2643970df578c721ae74">  538</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtWriter.html">ASTStmtWriter</a>;</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> };</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> <span class="comment"></span></div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span> <span class="comment">/// CompoundStmt - This represents a group of statements like { stmt stmt }.</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html">  543</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1CompoundStmt.html">CompoundStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>** Body;</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</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> LBracLoc, RBracLoc;</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>   <a class="code" href="classclang_1_1CompoundStmt.html#a612bc59acef5f9b480079ac387680b29">CompoundStmt</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Stmt*></a> Stmts,</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</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> LB, <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> RB);</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="comment">// \brief Build an empty compound statement with a location.</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#ac0a62de46c299f2c6fd09a807186d87e">  551</a></span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1CompoundStmt.html#a612bc59acef5f9b480079ac387680b29">CompoundStmt</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="l00552"></a><span class="lineno">  552</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(CompoundStmtClass), Body(0), LBracLoc(Loc), RBracLoc(Loc) {</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>     <a class="code" href="classclang_1_1Stmt.html#a9b28bcdff812b59dca9a24cf8aacd402">CompoundStmtBits</a>.NumStmts = 0;</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</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>   <span class="comment">// \brief Build an empty compound statement.</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a8cece3e2dbb81a111bce03a64e9a00a7">  557</a></span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1CompoundStmt.html#a612bc59acef5f9b480079ac387680b29">CompoundStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty)</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(CompoundStmtClass, Empty), Body(0) {</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>     <a class="code" href="classclang_1_1Stmt.html#a9b28bcdff812b59dca9a24cf8aacd402">CompoundStmtBits</a>.NumStmts = 0;</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>   }</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">void</span> <a class="code" href="classclang_1_1CompoundStmt.html#a586ddc62803281f9f9214902e32ea65c">setStmts</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> **Stmts, <span class="keywordtype">unsigned</span> NumStmts);</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span> </div>
+<div class="line"><a name="l00564"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#aaa6e2a814202be5f733f679565927819">  564</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompoundStmt.html#aaa6e2a814202be5f733f679565927819">body_empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a9b28bcdff812b59dca9a24cf8aacd402">CompoundStmtBits</a>.NumStmts == 0; }</div>
+<div class="line"><a name="l00565"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#ae21de9600246442f0360846b0db134ef">  565</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1CompoundStmt.html#ae21de9600246442f0360846b0db134ef">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a9b28bcdff812b59dca9a24cf8aacd402">CompoundStmtBits</a>.NumStmts; }</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> </div>
+<div class="line"><a name="l00567"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a06860df2bfecacd13040b4451379e34e">  567</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a>** <a class="code" href="classclang_1_1CompoundStmt.html#a06860df2bfecacd13040b4451379e34e">body_iterator</a>;</div>
+<div class="line"><a name="l00568"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a89f494cf13b72531e81c7b9a87db22a7">  568</a></span>   <a class="code" href="classclang_1_1Stmt.html">body_iterator</a> <a class="code" href="classclang_1_1CompoundStmt.html#a89f494cf13b72531e81c7b9a87db22a7">body_begin</a>() { <span class="keywordflow">return</span> Body; }</div>
+<div class="line"><a name="l00569"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a5bc934fe5cf3477500b1824a7e0d4db2">  569</a></span>   <a class="code" href="classclang_1_1Stmt.html">body_iterator</a> <a class="code" href="classclang_1_1CompoundStmt.html#a5bc934fe5cf3477500b1824a7e0d4db2">body_end</a>() { <span class="keywordflow">return</span> Body + <a class="code" href="classclang_1_1CompoundStmt.html#ae21de9600246442f0360846b0db134ef">size</a>(); }</div>
+<div class="line"><a name="l00570"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a0e0462c6a95a6cfd54bf73d5cdfa9ba5">  570</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1CompoundStmt.html#a0e0462c6a95a6cfd54bf73d5cdfa9ba5">body_back</a>() { <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1CompoundStmt.html#aaa6e2a814202be5f733f679565927819">body_empty</a>() ? Body[<a class="code" href="classclang_1_1CompoundStmt.html#ae21de9600246442f0360846b0db134ef">size</a>()-1] : 0; }</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span> </div>
+<div class="line"><a name="l00572"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a3152a5b9c4ec8e672a394c21cbc3a4b2">  572</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompoundStmt.html#a3152a5b9c4ec8e672a394c21cbc3a4b2">setLastStmt</a>(<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="l00573"></a><span class="lineno">  573</span>     assert(!<a class="code" href="classclang_1_1CompoundStmt.html#aaa6e2a814202be5f733f679565927819">body_empty</a>() && <span class="stringliteral">"setLastStmt"</span>);</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>     Body[<a class="code" href="classclang_1_1CompoundStmt.html#ae21de9600246442f0360846b0db134ef">size</a>()-1] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>;</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>   }</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span> </div>
+<div class="line"><a name="l00577"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a9750d59c3c5fa551951901a40a3887da">  577</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a>* <span class="keyword">const</span> * <a class="code" href="classclang_1_1CompoundStmt.html#a9750d59c3c5fa551951901a40a3887da">const_body_iterator</a>;</div>
+<div class="line"><a name="l00578"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#ad99f5732bc7b15c3a3d01ae53da47854">  578</a></span>   <a class="code" href="classclang_1_1CompoundStmt.html#a9750d59c3c5fa551951901a40a3887da">const_body_iterator</a> <a class="code" href="classclang_1_1CompoundStmt.html#ad99f5732bc7b15c3a3d01ae53da47854">body_begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Body; }</div>
+<div class="line"><a name="l00579"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a6e931c312fe8de158e7febdf9ae7e355">  579</a></span>   <a class="code" href="classclang_1_1CompoundStmt.html#a9750d59c3c5fa551951901a40a3887da">const_body_iterator</a> <a class="code" href="classclang_1_1CompoundStmt.html#a6e931c312fe8de158e7febdf9ae7e355">body_end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Body + <a class="code" href="classclang_1_1CompoundStmt.html#ae21de9600246442f0360846b0db134ef">size</a>(); }</div>
+<div class="line"><a name="l00580"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a3fc142a435e2c2b0e15b69e689af683b">  580</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1CompoundStmt.html#a3fc142a435e2c2b0e15b69e689af683b">body_back</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1CompoundStmt.html#aaa6e2a814202be5f733f679565927819">body_empty</a>() ? Body[<a class="code" href="classclang_1_1CompoundStmt.html#ae21de9600246442f0360846b0db134ef">size</a>()-1] : 0; }</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> </div>
+<div class="line"><a name="l00582"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a89e6e355e9bf886736a57df18117e642">  582</a></span>   <span class="keyword">typedef</span> std::reverse_iterator<body_iterator> <a class="code" href="classclang_1_1CompoundStmt.html#a89e6e355e9bf886736a57df18117e642">reverse_body_iterator</a>;</div>
+<div class="line"><a name="l00583"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a3cf32daecfd456ff5f4632f0f7e7f8cb">  583</a></span>   <a class="code" href="classclang_1_1CompoundStmt.html#a89e6e355e9bf886736a57df18117e642">reverse_body_iterator</a> <a class="code" href="classclang_1_1CompoundStmt.html#a3cf32daecfd456ff5f4632f0f7e7f8cb">body_rbegin</a>() {</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CompoundStmt.html#a89e6e355e9bf886736a57df18117e642">reverse_body_iterator</a>(<a class="code" href="classclang_1_1CompoundStmt.html#a5bc934fe5cf3477500b1824a7e0d4db2">body_end</a>());</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>   }</div>
+<div class="line"><a name="l00586"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#aa99c3fa89f9156c736e7d64902742347">  586</a></span>   <a class="code" href="classclang_1_1CompoundStmt.html#a89e6e355e9bf886736a57df18117e642">reverse_body_iterator</a> <a class="code" href="classclang_1_1CompoundStmt.html#aa99c3fa89f9156c736e7d64902742347">body_rend</a>() {</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CompoundStmt.html#a89e6e355e9bf886736a57df18117e642">reverse_body_iterator</a>(<a class="code" href="classclang_1_1CompoundStmt.html#a89f494cf13b72531e81c7b9a87db22a7">body_begin</a>());</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>   }</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span> </div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>   <span class="keyword">typedef</span> std::reverse_iterator<const_body_iterator></div>
+<div class="line"><a name="l00591"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a9df6c6156e9d533b4d6f6f53bff50ef2">  591</a></span>           <a class="code" href="classclang_1_1CompoundStmt.html#a9df6c6156e9d533b4d6f6f53bff50ef2">const_reverse_body_iterator</a>;</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span> </div>
+<div class="line"><a name="l00593"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a08b4b667ce0f0e859b27ead59636d5a1">  593</a></span>   <a class="code" href="classclang_1_1CompoundStmt.html#a9df6c6156e9d533b4d6f6f53bff50ef2">const_reverse_body_iterator</a> <a class="code" href="classclang_1_1CompoundStmt.html#a08b4b667ce0f0e859b27ead59636d5a1">body_rbegin</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CompoundStmt.html#a9df6c6156e9d533b4d6f6f53bff50ef2">const_reverse_body_iterator</a>(<a class="code" href="classclang_1_1CompoundStmt.html#a5bc934fe5cf3477500b1824a7e0d4db2">body_end</a>());</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> </div>
+<div class="line"><a name="l00597"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#ad6bc01a9d8fb75d1e0a252a716c477cd">  597</a></span>   <a class="code" href="classclang_1_1CompoundStmt.html#a9df6c6156e9d533b4d6f6f53bff50ef2">const_reverse_body_iterator</a> <a class="code" href="classclang_1_1CompoundStmt.html#ad6bc01a9d8fb75d1e0a252a716c477cd">body_rend</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CompoundStmt.html#a9df6c6156e9d533b4d6f6f53bff50ef2">const_reverse_body_iterator</a>(<a class="code" href="classclang_1_1CompoundStmt.html#a89f494cf13b72531e81c7b9a87db22a7">body_begin</a>());</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"><a class="code" href="classclang_1_1CompoundStmt.html#a15aaa12f5204cb9076e2ef1151f82d79">  601</a></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> <a class="code" href="classclang_1_1CompoundStmt.html#a15aaa12f5204cb9076e2ef1151f82d79">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> LBracLoc; }</div>
+<div class="line"><a name="l00602"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#ae17ff1ae046ccf2363ecd24d55da586d">  602</a></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> <a class="code" href="classclang_1_1CompoundStmt.html#ae17ff1ae046ccf2363ecd24d55da586d">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> RBracLoc; }</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> </div>
+<div class="line"><a name="l00604"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a69c302ef8b8c4aa524e48e018503ec15">  604</a></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> <a class="code" href="classclang_1_1CompoundStmt.html#a69c302ef8b8c4aa524e48e018503ec15">getLBracLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LBracLoc; }</div>
+<div class="line"><a name="l00605"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#aa25b9612b9115c4698d2a606188a37a4">  605</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompoundStmt.html#aa25b9612b9115c4698d2a606188a37a4">setLBracLoc</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> L) { LBracLoc = L; }</div>
+<div class="line"><a name="l00606"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a5a3ec9cd066b7f7f5acf887794dcba36">  606</a></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> <a class="code" href="classclang_1_1CompoundStmt.html#a5a3ec9cd066b7f7f5acf887794dcba36">getRBracLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RBracLoc; }</div>
+<div class="line"><a name="l00607"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a3f37c4b71c2aee5fb7240b4014f75c46">  607</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CompoundStmt.html#a3f37c4b71c2aee5fb7240b4014f75c46">setRBracLoc</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> L) { RBracLoc = L; }</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span> </div>
+<div class="line"><a name="l00609"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#a051871dab0653fc7358290886cc5f4d0">  609</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CompoundStmt.html#a051871dab0653fc7358290886cc5f4d0">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == CompoundStmtClass;</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>   }</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="comment">// Iterators</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno"><a class="code" href="classclang_1_1CompoundStmt.html#ae0177c1a40d03e41c33758e1cd6dc510">  614</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1CompoundStmt.html#ae0177c1a40d03e41c33758e1cd6dc510">children</a>() {</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&Body[0], &Body[0]+<a class="code" href="classclang_1_1Stmt.html#a9b28bcdff812b59dca9a24cf8aacd402">CompoundStmtBits</a>.NumStmts);</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</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"><a class="code" href="classclang_1_1CompoundStmt.html#a742f63d5e22d351bbd2fdba826e37480">  618</a></span>   <a class="code" href="structclang_1_1ConstStmtRange.html">const_child_range</a> <a class="code" href="classclang_1_1CompoundStmt.html#a742f63d5e22d351bbd2fdba826e37480">children</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&Body[0], &Body[0]+<a class="code" href="classclang_1_1Stmt.html#a9b28bcdff812b59dca9a24cf8aacd402">CompoundStmtBits</a>.NumStmts);</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> </div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span> <span class="comment">// SwitchCase is the base class for CaseStmt and DefaultStmt,</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html">  624</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>   <span class="comment">// A pointer to the following CaseStmt or DefaultStmt class,</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>   <span class="comment">// used by SwitchStmt.</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a2c8af412c9def65be6922ade9e1a7d54">  628</a></span>   <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> *<a class="code" href="classclang_1_1SwitchCase.html#a2c8af412c9def65be6922ade9e1a7d54">NextSwitchCase</a>;</div>
+<div class="line"><a name="l00629"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">  629</a></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> <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a>;</div>
+<div class="line"><a name="l00630"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#ad962fc3af70df3500af0dd42ef9aef9b">  630</a></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> <a class="code" href="classclang_1_1SwitchCase.html#ad962fc3af70df3500af0dd42ef9aef9b">ColonLoc</a>;</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span> </div>
+<div class="line"><a name="l00632"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a8271c041a5f496bd19eb4ac6c9b256e0">  632</a></span>   <a class="code" href="classclang_1_1SwitchCase.html#a8271c041a5f496bd19eb4ac6c9b256e0">SwitchCase</a>(<a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a> SC, <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> KWLoc, <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> <a class="code" href="classclang_1_1SwitchCase.html#ad962fc3af70df3500af0dd42ef9aef9b">ColonLoc</a>)</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(SC), <a class="code" href="classclang_1_1SwitchCase.html#a2c8af412c9def65be6922ade9e1a7d54">NextSwitchCase</a>(0), <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a>(KWLoc), ColonLoc(ColonLoc) {}</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span> </div>
+<div class="line"><a name="l00635"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a4f3802572fe2e5b93050765ea8c8b147">  635</a></span>   <a class="code" href="classclang_1_1SwitchCase.html#a8271c041a5f496bd19eb4ac6c9b256e0">SwitchCase</a>(<a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a> SC, <a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a>)</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(SC), <a class="code" href="classclang_1_1SwitchCase.html#a2c8af412c9def65be6922ade9e1a7d54">NextSwitchCase</a>(0) {}</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="keyword">public</span>:</div>
+<div class="line"><a name="l00639"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#ac260de1f5de7d9e5c5cba896d7f2813f">  639</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> *<a class="code" href="classclang_1_1SwitchCase.html#ac260de1f5de7d9e5c5cba896d7f2813f">getNextSwitchCase</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#a2c8af412c9def65be6922ade9e1a7d54">NextSwitchCase</a>; }</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span> </div>
+<div class="line"><a name="l00641"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a073ce8d95bf5be65595f9102d184c458">  641</a></span>   <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> *<a class="code" href="classclang_1_1SwitchCase.html#a073ce8d95bf5be65595f9102d184c458">getNextSwitchCase</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#a2c8af412c9def65be6922ade9e1a7d54">NextSwitchCase</a>; }</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span> </div>
+<div class="line"><a name="l00643"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#aaf6eea8155ceca39a6e9f6a64bfa9410">  643</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchCase.html#aaf6eea8155ceca39a6e9f6a64bfa9410">setNextSwitchCase</a>(<a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> *SC) { <a class="code" href="classclang_1_1SwitchCase.html#a2c8af412c9def65be6922ade9e1a7d54">NextSwitchCase</a> = SC; }</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span> </div>
+<div class="line"><a name="l00645"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a490a65d8024265f53ba82ad0ec13ff9d">  645</a></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> <a class="code" href="classclang_1_1SwitchCase.html#a490a65d8024265f53ba82ad0ec13ff9d">getKeywordLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a>; }</div>
+<div class="line"><a name="l00646"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a82f58fb43324ee763d938c5c892ad3b8">  646</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchCase.html#a82f58fb43324ee763d938c5c892ad3b8">setKeywordLoc</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> L) { <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a> = L; }</div>
+<div class="line"><a name="l00647"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#af0e81c84e5bae1f4cd85e81ee5c9ad60">  647</a></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> <a class="code" href="classclang_1_1SwitchCase.html#af0e81c84e5bae1f4cd85e81ee5c9ad60">getColonLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#ad962fc3af70df3500af0dd42ef9aef9b">ColonLoc</a>; }</div>
+<div class="line"><a name="l00648"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a2efb5f54a798169c092667874f603b33">  648</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchCase.html#a2efb5f54a798169c092667874f603b33">setColonLoc</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> L) { <a class="code" href="classclang_1_1SwitchCase.html#ad962fc3af70df3500af0dd42ef9aef9b">ColonLoc</a> = L; }</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> </div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1SwitchCase.html#ad040e52bb9d7cc68f057f020a4a6aa1d">getSubStmt</a>();</div>
+<div class="line"><a name="l00651"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a082f4cceceddf9e2e7443ab62992d98c">  651</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1SwitchCase.html#a082f4cceceddf9e2e7443ab62992d98c">getSubStmt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1SwitchCase.html#ad040e52bb9d7cc68f057f020a4a6aa1d">getSubStmt</a>();</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>   }</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span> </div>
+<div class="line"><a name="l00655"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#ab5eb91c70e63763c0d96ee47f6c3d17f">  655</a></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> <a class="code" href="classclang_1_1SwitchCase.html#ab5eb91c70e63763c0d96ee47f6c3d17f">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a>; }</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</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> <a class="code" href="classclang_1_1SwitchCase.html#a5b4f02b1f5a3466a06d5c1eac8a5fc3c">getLocEnd</a>() const LLVM_READONLY;</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span> </div>
+<div class="line"><a name="l00658"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a3db6be899aa5a4f434ee4d6baa19ee29">  658</a></span>   static <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1SwitchCase.html#a3db6be899aa5a4f434ee4d6baa19ee29">classof</a>(const <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>     <span class="keywordflow">return</span> T->getStmtClass() == CaseStmtClass ||</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>            T->getStmtClass() == DefaultStmtClass;</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> };</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span> </div>
+<div class="line"><a name="l00664"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html">  664</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1CaseStmt.html">CaseStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> {</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>   <span class="keyword">enum</span> { LHS, RHS, SUBSTMT, END_EXPR };</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>* SubExprs[END_EXPR];  <span class="comment">// The expression for the RHS is Non-null for</span></div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>                              <span class="comment">// GNU "case 1 ... 4" extension</span></div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</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> EllipsisLoc;</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00670"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a700921d7ce10f19351a86f559977b51a">  670</a></span>   <a class="code" href="classclang_1_1CaseStmt.html#a700921d7ce10f19351a86f559977b51a">CaseStmt</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *lhs, <a class="code" href="classclang_1_1Expr.html">Expr</a> *rhs, <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> caseLoc,</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</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> ellipsisLoc, <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> colonLoc)</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>     : <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a>(CaseStmtClass, caseLoc, colonLoc) {</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>     SubExprs[SUBSTMT] = 0;</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>     SubExprs[LHS] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(lhs);</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>     SubExprs[RHS] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(rhs);</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>     EllipsisLoc = ellipsisLoc;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span> <span class="comment">  /// \brief Build an empty switch case statement.</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a27333f91273657fce8f7492099da379b">  680</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1CaseStmt.html#a27333f91273657fce8f7492099da379b" title="Build an empty switch case statement.">CaseStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a>(CaseStmtClass, Empty) { }</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span> </div>
+<div class="line"><a name="l00682"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a9c55fbfbda9a305c202dfe6f0b8e19ef">  682</a></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> <a class="code" href="classclang_1_1CaseStmt.html#a9c55fbfbda9a305c202dfe6f0b8e19ef">getCaseLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a>; }</div>
+<div class="line"><a name="l00683"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#aa53b964229ec378c98484b4bca6174e3">  683</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CaseStmt.html#aa53b964229ec378c98484b4bca6174e3">setCaseLoc</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> L) { <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a> = L; }</div>
+<div class="line"><a name="l00684"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a47dc682ec667be4f5a95b940e145dd78">  684</a></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> <a class="code" href="classclang_1_1CaseStmt.html#a47dc682ec667be4f5a95b940e145dd78">getEllipsisLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> EllipsisLoc; }</div>
+<div class="line"><a name="l00685"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a55888812c36366be5ec07712dbeeaf6a">  685</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CaseStmt.html#a55888812c36366be5ec07712dbeeaf6a">setEllipsisLoc</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> L) { EllipsisLoc = L; }</div>
+<div class="line"><a name="l00686"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a941d921c39c240b427f75a3bbf5b5365">  686</a></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> <a class="code" href="classclang_1_1CaseStmt.html#a941d921c39c240b427f75a3bbf5b5365">getColonLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#ad962fc3af70df3500af0dd42ef9aef9b">ColonLoc</a>; }</div>
+<div class="line"><a name="l00687"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a05055479f32fc8d5d496732f2f6595ec">  687</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CaseStmt.html#a05055479f32fc8d5d496732f2f6595ec">setColonLoc</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> L) { <a class="code" href="classclang_1_1SwitchCase.html#ad962fc3af70df3500af0dd42ef9aef9b">ColonLoc</a> = L; }</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span> </div>
+<div class="line"><a name="l00689"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a8188cfacff6e4d7aaeb709a5a4a80a9e">  689</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1CaseStmt.html#a8188cfacff6e4d7aaeb709a5a4a80a9e">getLHS</a>() { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[LHS]); }</div>
+<div class="line"><a name="l00690"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a96cfe2aca9a2248a0f493f9e172de2e1">  690</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1CaseStmt.html#a96cfe2aca9a2248a0f493f9e172de2e1">getRHS</a>() { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[RHS]); }</div>
+<div class="line"><a name="l00691"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#ab70a2320faa389853019c92f5c16893f">  691</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1CaseStmt.html#ab70a2320faa389853019c92f5c16893f">getSubStmt</a>() { <span class="keywordflow">return</span> SubExprs[SUBSTMT]; }</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span> </div>
+<div class="line"><a name="l00693"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a073ac2a652f476726e92745c51a94a3d">  693</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1CaseStmt.html#a073ac2a652f476726e92745c51a94a3d">getLHS</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[LHS]);</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>   }</div>
+<div class="line"><a name="l00696"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a342eb5ff629a10704c64979e174fe337">  696</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1CaseStmt.html#a342eb5ff629a10704c64979e174fe337">getRHS</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[RHS]);</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="classclang_1_1CaseStmt.html#a47943cbc7a43dbcfcd992ee0e29f5c8a">  699</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1CaseStmt.html#a47943cbc7a43dbcfcd992ee0e29f5c8a">getSubStmt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubExprs[SUBSTMT]; }</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span> </div>
+<div class="line"><a name="l00701"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#ab9ab28a6b64c507f45f295fdf9578333">  701</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CaseStmt.html#ab9ab28a6b64c507f45f295fdf9578333">setSubStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { SubExprs[SUBSTMT] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l00702"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#ab652428bf4723eb277c150507c6ee551">  702</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CaseStmt.html#ab652428bf4723eb277c150507c6ee551">setLHS</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *Val) { SubExprs[LHS] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(Val); }</div>
+<div class="line"><a name="l00703"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#af92589f1641daba89bc658792a4c81f1">  703</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CaseStmt.html#af92589f1641daba89bc658792a4c81f1">setRHS</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *Val) { SubExprs[RHS] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(Val); }</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> </div>
+<div class="line"><a name="l00705"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a532ecdc85e973518aac36f778b7d6e93">  705</a></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> <a class="code" href="classclang_1_1CaseStmt.html#a532ecdc85e973518aac36f778b7d6e93">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a>; }</div>
+<div class="line"><a name="l00706"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#a352918b235ff969c496c80691d615f26">  706</a></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> <a class="code" href="classclang_1_1CaseStmt.html#a352918b235ff969c496c80691d615f26">getLocEnd</a>() const LLVM_READONLY {</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>     <span class="comment">// Handle deeply nested case statements with iteration instead of recursion.</span></div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CaseStmt.html">CaseStmt</a> *CS = <span class="keyword">this</span>;</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>     <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CaseStmt.html">CaseStmt</a> *CS2 = dyn_cast<CaseStmt>(CS-><a class="code" href="classclang_1_1CaseStmt.html#ab70a2320faa389853019c92f5c16893f">getSubStmt</a>()))</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>       CS = CS2;</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span> </div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>     <span class="keywordflow">return</span> CS-><a class="code" href="classclang_1_1CaseStmt.html#ab70a2320faa389853019c92f5c16893f">getSubStmt</a>()-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();</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"><a class="code" href="classclang_1_1CaseStmt.html#a587cbf4dbb6baa926b2acc8fbea59da5">  715</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CaseStmt.html#a587cbf4dbb6baa926b2acc8fbea59da5">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == CaseStmtClass;</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> </div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno"><a class="code" href="classclang_1_1CaseStmt.html#aa6aa0304b42ce71398ab1808c3e41724">  720</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1CaseStmt.html#aa6aa0304b42ce71398ab1808c3e41724">children</a>() {</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&SubExprs[0], &SubExprs[END_EXPR]);</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>   }</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span> };</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span> </div>
+<div class="line"><a name="l00725"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html">  725</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1DefaultStmt.html">DefaultStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> {</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>* SubStmt;</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00728"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#add73fc6e8a213ec78b5648810ebcdc2f">  728</a></span>   <a class="code" href="classclang_1_1DefaultStmt.html#add73fc6e8a213ec78b5648810ebcdc2f">DefaultStmt</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> DL, <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> CL, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *substmt) :</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>     <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a>(DefaultStmtClass, DL, CL), SubStmt(substmt) {}</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span> <span class="comment"></span></div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span> <span class="comment">  /// \brief Build an empty default statement.</span></div>
+<div class="line"><a name="l00732"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#ac79147cc7b1a8edcc04361bd29399fed">  732</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1DefaultStmt.html#add73fc6e8a213ec78b5648810ebcdc2f">DefaultStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty)</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>     : <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a>(DefaultStmtClass, Empty) { }</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span> </div>
+<div class="line"><a name="l00735"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#a93439cb38f4eda6444b29ddef016d09d">  735</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1DefaultStmt.html#a93439cb38f4eda6444b29ddef016d09d">getSubStmt</a>() { <span class="keywordflow">return</span> SubStmt; }</div>
+<div class="line"><a name="l00736"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#ac7abcad0d69622e2e7553d3d574b8755">  736</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1DefaultStmt.html#ac7abcad0d69622e2e7553d3d574b8755">getSubStmt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubStmt; }</div>
+<div class="line"><a name="l00737"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#a015a02736ace6746050316b6881e31e4">  737</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DefaultStmt.html#a015a02736ace6746050316b6881e31e4">setSubStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { SubStmt = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span> </div>
+<div class="line"><a name="l00739"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#aaa9aaefcc23c3e6b64f4341e39885271">  739</a></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> <a class="code" href="classclang_1_1DefaultStmt.html#aaa9aaefcc23c3e6b64f4341e39885271">getDefaultLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a>; }</div>
+<div class="line"><a name="l00740"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#a8933751dba3c93bf698fe29ce382ce42">  740</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DefaultStmt.html#a8933751dba3c93bf698fe29ce382ce42">setDefaultLoc</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> L) { <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a> = L; }</div>
+<div class="line"><a name="l00741"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#a07a4cccc5e4e78f3734131837a603c75">  741</a></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> <a class="code" href="classclang_1_1DefaultStmt.html#a07a4cccc5e4e78f3734131837a603c75">getColonLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#ad962fc3af70df3500af0dd42ef9aef9b">ColonLoc</a>; }</div>
+<div class="line"><a name="l00742"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#aa1512a2bf975332ab55a202c9bcac19b">  742</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DefaultStmt.html#aa1512a2bf975332ab55a202c9bcac19b">setColonLoc</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> L) { <a class="code" href="classclang_1_1SwitchCase.html#ad962fc3af70df3500af0dd42ef9aef9b">ColonLoc</a> = L; }</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span> </div>
+<div class="line"><a name="l00744"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#a5aac05f8cd8198fb806188532f4e153e">  744</a></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> <a class="code" href="classclang_1_1DefaultStmt.html#a5aac05f8cd8198fb806188532f4e153e">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SwitchCase.html#ae662fc29b3ff7372a8687ac47eb0d774">KeywordLoc</a>; }</div>
+<div class="line"><a name="l00745"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#aef0e9f4e169ec0e59393bd3f39080177">  745</a></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> <a class="code" href="classclang_1_1DefaultStmt.html#aef0e9f4e169ec0e59393bd3f39080177">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> SubStmt-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();}</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span> </div>
+<div class="line"><a name="l00747"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#ac934199bcf6a6cefd71dd58b5aed8a56">  747</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DefaultStmt.html#ac934199bcf6a6cefd71dd58b5aed8a56">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == DefaultStmtClass;</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>   }</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span> </div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l00752"></a><span class="lineno"><a class="code" href="classclang_1_1DefaultStmt.html#a443de7eb01a40536f4be9e12a3a3b551">  752</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1DefaultStmt.html#a443de7eb01a40536f4be9e12a3a3b551">children</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&SubStmt, &SubStmt+1); }</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span> };</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span> </div>
+<div class="line"><a name="l00755"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchCase.html#a5b4f02b1f5a3466a06d5c1eac8a5fc3c">  755</a></span> <span class="keyword">inline</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> <a class="code" href="classclang_1_1SwitchCase.html#a5b4f02b1f5a3466a06d5c1eac8a5fc3c">SwitchCase::getLocEnd</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CaseStmt.html">CaseStmt</a> *CS = dyn_cast<CaseStmt>(<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>     <span class="keywordflow">return</span> CS->getLocEnd();</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>   <span class="keywordflow">return</span> cast<DefaultStmt>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1SwitchCase.html#a5b4f02b1f5a3466a06d5c1eac8a5fc3c">getLocEnd</a>();</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span> }</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span> <span class="comment"></span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span> <span class="comment">/// LabelStmt - Represents a label, which has a substatement.  For example:</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span> <span class="comment">///    foo: return;</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00764"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html">  764</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1LabelStmt.html">LabelStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>   <a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *TheDecl;</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *SubStmt;</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</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> IdentLoc;</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00769"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#a080d049ad67b7eb027a3cea01784bb8b">  769</a></span>   <a class="code" href="classclang_1_1LabelStmt.html#a080d049ad67b7eb027a3cea01784bb8b">LabelStmt</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> IL, <a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *D, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *substmt)</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(LabelStmtClass), TheDecl(D), SubStmt(substmt), IdentLoc(IL) {</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>   }</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span> </div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>   <span class="comment">// \brief Build an empty label statement.</span></div>
+<div class="line"><a name="l00774"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#a3cbf58cac9dfc7212d495272a0f8dafd">  774</a></span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1LabelStmt.html#a3cbf58cac9dfc7212d495272a0f8dafd">LabelStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(LabelStmtClass, Empty) { }</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span> </div>
+<div class="line"><a name="l00776"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#ad485ae408b3d51f2d8d97a13ff48c252">  776</a></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> <a class="code" href="classclang_1_1LabelStmt.html#ad485ae408b3d51f2d8d97a13ff48c252">getIdentLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> IdentLoc; }</div>
+<div class="line"><a name="l00777"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#aa89c84a63448fb6fd6bf149516e1492c">  777</a></span>   <a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *<a class="code" href="classclang_1_1LabelStmt.html#aa89c84a63448fb6fd6bf149516e1492c">getDecl</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TheDecl; }</div>
+<div class="line"><a name="l00778"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#a93a23ed7af7f98cfbc95e71a0c9c175b">  778</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1LabelStmt.html#a93a23ed7af7f98cfbc95e71a0c9c175b">setDecl</a>(<a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *D) { TheDecl = D; }</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1LabelStmt.html#ac8097184afa12ad57cabd98469df35f5">getName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00780"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#adeb5f693b5baff78c96e8d5078914800">  780</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1LabelStmt.html#adeb5f693b5baff78c96e8d5078914800">getSubStmt</a>() { <span class="keywordflow">return</span> SubStmt; }</div>
+<div class="line"><a name="l00781"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#a022b3ebf4665833f45e8a1b206221d89">  781</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1LabelStmt.html#a022b3ebf4665833f45e8a1b206221d89">getSubStmt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubStmt; }</div>
+<div class="line"><a name="l00782"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#a9c9f27e4b92af59842073f1bfa266e00">  782</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1LabelStmt.html#a9c9f27e4b92af59842073f1bfa266e00">setIdentLoc</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> L) { IdentLoc = L; }</div>
+<div class="line"><a name="l00783"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#a8edb43d06bce2cef18c87367493c9931">  783</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1LabelStmt.html#a8edb43d06bce2cef18c87367493c9931">setSubStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *SS) { SubStmt = SS; }</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span> </div>
+<div class="line"><a name="l00785"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#afd17823314cd7f9dd1cb25e28c6ec37e">  785</a></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> <a class="code" href="classclang_1_1LabelStmt.html#afd17823314cd7f9dd1cb25e28c6ec37e">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> IdentLoc; }</div>
+<div class="line"><a name="l00786"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#a02d0512d467c8356732a48e24403761e">  786</a></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> <a class="code" href="classclang_1_1LabelStmt.html#a02d0512d467c8356732a48e24403761e">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> SubStmt-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();}</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span> </div>
+<div class="line"><a name="l00788"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#ac63408186d302de1bf97ca7cec24f6c4">  788</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1LabelStmt.html#ac63408186d302de1bf97ca7cec24f6c4">children</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&SubStmt, &SubStmt+1); }</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span> </div>
+<div class="line"><a name="l00790"></a><span class="lineno"><a class="code" href="classclang_1_1LabelStmt.html#a1c18c598991f52198c58211f512f5444">  790</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1LabelStmt.html#a1c18c598991f52198c58211f512f5444">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == LabelStmtClass;</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>   }</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span> };</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span> </div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span> <span class="comment"></span></div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span> <span class="comment">/// \brief Represents an attribute applied to a statement.</span></div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span> <span class="comment">/// Represents an attribute applied to a statement. For example:</span></div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span> <span class="comment">///   [[omp::for(...)]] for (...) { ... }</span></div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00801"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html">  801</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1AttributedStmt.html" title="Represents an attribute applied to a statement.">AttributedStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *SubStmt;</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</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> AttrLoc;</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>   <span class="keywordtype">unsigned</span> NumAttrs;</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Attr.html" title="Attr - This represents one attribute.">Attr</a> *Attrs[1];</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span> </div>
+<div class="line"><a name="l00807"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html#ad6427d648931017bffcb2f90b8930f9d">  807</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span> </div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>   <a class="code" href="classclang_1_1AttributedStmt.html" title="Represents an attribute applied to a statement.">AttributedStmt</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, <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<const Attr*></a> Attrs, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *SubStmt)</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(AttributedStmtClass), SubStmt(SubStmt), AttrLoc(Loc),</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>       NumAttrs(Attrs.size()) {</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>     memcpy(this->Attrs, Attrs.data(), Attrs.size() * <span class="keyword">sizeof</span>(<a class="code" href="classclang_1_1Attr.html" title="Attr - This represents one attribute.">Attr</a>*));</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>   }</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span> </div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1AttributedStmt.html" title="Represents an attribute applied to a statement.">AttributedStmt</a>(EmptyShell Empty, <span class="keywordtype">unsigned</span> NumAttrs)</div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(AttributedStmtClass, Empty), NumAttrs(NumAttrs) {</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>     memset(Attrs, 0, NumAttrs * <span class="keyword">sizeof</span>(<a class="code" href="classclang_1_1Attr.html" title="Attr - This represents one attribute.">Attr</a>*));</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>   }</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span> </div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>   <span class="keyword">static</span> AttributedStmt *<a class="code" href="classclang_1_1AttributedStmt.html#ae2c65571774830ec3e82a7aa402aa69e">Create</a>(<span class="keyword">const</span> ASTContext &C, SourceLocation Loc,</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>                                 ArrayRef<const Attr*> Attrs, <a class="code" href="classclang_1_1Stmt.html#a84ec094b6832b4912e576eae8c0dab8e" title="Construct an empty statement.">Stmt</a> *SubStmt);</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>   <span class="comment">// \brief Build an empty attributed statement.</span></div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>   <span class="keyword">static</span> AttributedStmt *<a class="code" href="classclang_1_1AttributedStmt.html#a2582cf9cb32866cf20e7f6b397b76f32">CreateEmpty</a>(<span class="keyword">const</span> ASTContext &C, <span class="keywordtype">unsigned</span> NumAttrs);</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span> </div>
+<div class="line"><a name="l00826"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html#ae48c33c99ac75a51bdc752ce2d72a352">  826</a></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> <a class="code" href="classclang_1_1AttributedStmt.html#ae48c33c99ac75a51bdc752ce2d72a352">getAttrLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> AttrLoc; }</div>
+<div class="line"><a name="l00827"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html#a1e4e61ca0bd76d5852e3a4b919941f63">  827</a></span>   <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<const Attr*></a> <a class="code" href="classclang_1_1AttributedStmt.html#a1e4e61ca0bd76d5852e3a4b919941f63">getAttrs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<const Attr*></a>(Attrs, NumAttrs);</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>   }</div>
+<div class="line"><a name="l00830"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html#ac0fbe9c10afca866c17cd8f085017379">  830</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1AttributedStmt.html#ac0fbe9c10afca866c17cd8f085017379">getSubStmt</a>() { <span class="keywordflow">return</span> SubStmt; }</div>
+<div class="line"><a name="l00831"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html#ad77150c6b20e472573c94b358199e5b9">  831</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1AttributedStmt.html#ad77150c6b20e472573c94b358199e5b9">getSubStmt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubStmt; }</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span> </div>
+<div class="line"><a name="l00833"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html#a584ddf4a9989594f131d6be9b79e01aa">  833</a></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> <a class="code" href="classclang_1_1AttributedStmt.html#a584ddf4a9989594f131d6be9b79e01aa">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> AttrLoc; }</div>
+<div class="line"><a name="l00834"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html#ab68a5d561186cccc10ae70b90104d660">  834</a></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> <a class="code" href="classclang_1_1AttributedStmt.html#ab68a5d561186cccc10ae70b90104d660">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> SubStmt-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();}</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span> </div>
+<div class="line"><a name="l00836"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html#aac9c510d499e9d481df473b943eb2c5b">  836</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1AttributedStmt.html#aac9c510d499e9d481df473b943eb2c5b">children</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&SubStmt, &SubStmt + 1); }</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span> </div>
+<div class="line"><a name="l00838"></a><span class="lineno"><a class="code" href="classclang_1_1AttributedStmt.html#aef97077683d2c005eaea267302f22ea1">  838</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1AttributedStmt.html#aef97077683d2c005eaea267302f22ea1">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == AttributedStmtClass;</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>   }</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> </div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span> <span class="comment"></span></div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span> <span class="comment">/// IfStmt - This represents an if/then/else.</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html">  846</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1IfStmt.html">IfStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>   <span class="keyword">enum</span> { VAR, COND, THEN, ELSE, END_EXPR };</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>* SubExprs[END_EXPR];</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>   <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> IfLoc;</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</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> ElseLoc;</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span> </div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>   <a class="code" href="classclang_1_1IfStmt.html#ac6fe59a873d24d75dbcb16381c26b948">IfStmt</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <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> IL, <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *var, <a class="code" href="classclang_1_1Expr.html">Expr</a> *cond,</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>          <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *then, <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> EL = <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>(), <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *elsev = 0);</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span> <span class="comment"></span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span> <span class="comment">  /// \brief Build an empty if/then/else statement</span></div>
+<div class="line"><a name="l00858"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a2262e0059203dd51ebf302e2dcaa2ac0">  858</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1IfStmt.html#a2262e0059203dd51ebf302e2dcaa2ac0" title="Build an empty if/then/else statement.">IfStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(IfStmtClass, Empty) { }</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span> <span class="comment"></span></div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span> <span class="comment">  /// \brief Retrieve the variable declared in this "if" statement, if any.</span></div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span> <span class="comment">  /// In the following example, "x" is the condition variable.</span></div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span> <span class="comment">  /// \code</span></div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span> <span class="comment">  /// if (int x = foo()) {</span></div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span> <span class="comment">  ///   printf("x is %d", x);</span></div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span> <span class="comment">  /// }</span></div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span> <span class="comment">  /// \endcode</span></div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span> <span class="comment"></span>  <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *<a class="code" href="classclang_1_1IfStmt.html#a7da455bed7eac4f380689cf7d5a2122b" title="Retrieve the variable declared in this "if" statement, if any.">getConditionVariable</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1IfStmt.html#aea6db64528eac4633e514a547d7df122">setConditionVariable</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *V);</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span> <span class="comment"></span></div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span> <span class="comment">  /// If this IfStmt has a condition variable, return the faux DeclStmt</span></div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span> <span class="comment">  /// associated with the creation of that condition variable.</span></div>
+<div class="line"><a name="l00873"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#ae4d45d1247040400fb1b3911fd3c3d96">  873</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> *<a class="code" href="classclang_1_1IfStmt.html#ae4d45d1247040400fb1b3911fd3c3d96">getConditionVariableDeclStmt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a>*<span class="keyword">></span>(SubExprs[VAR]);</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>   }</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span> </div>
+<div class="line"><a name="l00877"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a2abf6bc9a2b3d4c8f1c90f49e9baa81d">  877</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1IfStmt.html#a2abf6bc9a2b3d4c8f1c90f49e9baa81d">getCond</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]);}</div>
+<div class="line"><a name="l00878"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a9a9a8eded98b029dd84098d97468bf85">  878</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1IfStmt.html#a9a9a8eded98b029dd84098d97468bf85">setCond</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) { SubExprs[COND] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<span class="keyword">></span>(E); }</div>
+<div class="line"><a name="l00879"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#adc5d1594ff597deaa6d431ce45fa8c96">  879</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1IfStmt.html#adc5d1594ff597deaa6d431ce45fa8c96">getThen</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubExprs[THEN]; }</div>
+<div class="line"><a name="l00880"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#ac2d8277f6b0f464ed18fd4fac2f812ee">  880</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1IfStmt.html#ac2d8277f6b0f464ed18fd4fac2f812ee">setThen</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { SubExprs[THEN] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l00881"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a799cbc371f3c02319d779040c9b3ceae">  881</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1IfStmt.html#a799cbc371f3c02319d779040c9b3ceae">getElse</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubExprs[ELSE]; }</div>
+<div class="line"><a name="l00882"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a7be7bcce0e3e05f5f77e494f98bebfe5">  882</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1IfStmt.html#a7be7bcce0e3e05f5f77e494f98bebfe5">setElse</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { SubExprs[ELSE] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span> </div>
+<div class="line"><a name="l00884"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a573d445e99c21fa7cd97830e3eef1760">  884</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1IfStmt.html#a573d445e99c21fa7cd97830e3eef1760">getCond</a>() { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]); }</div>
+<div class="line"><a name="l00885"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#abd046e05a92a39c0c8f620a2ede2eeae">  885</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1IfStmt.html#abd046e05a92a39c0c8f620a2ede2eeae">getThen</a>() { <span class="keywordflow">return</span> SubExprs[THEN]; }</div>
+<div class="line"><a name="l00886"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a5c97bfac968986fe15fa43f151669738">  886</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1IfStmt.html#a5c97bfac968986fe15fa43f151669738">getElse</a>() { <span class="keywordflow">return</span> SubExprs[ELSE]; }</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span> </div>
+<div class="line"><a name="l00888"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a93d730b0ff4091211ab9a1233dccbeed">  888</a></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> <a class="code" href="classclang_1_1IfStmt.html#a93d730b0ff4091211ab9a1233dccbeed">getIfLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> IfLoc; }</div>
+<div class="line"><a name="l00889"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#abf4ebeab4e34e6ca85259f835ad482d1">  889</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1IfStmt.html#abf4ebeab4e34e6ca85259f835ad482d1">setIfLoc</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> L) { IfLoc = L; }</div>
+<div class="line"><a name="l00890"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#aff779d495908d38d6bdb99d4c5e7e9fd">  890</a></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> <a class="code" href="classclang_1_1IfStmt.html#aff779d495908d38d6bdb99d4c5e7e9fd">getElseLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ElseLoc; }</div>
+<div class="line"><a name="l00891"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#aab4217d3e9ec11c6f3d48378924336fe">  891</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1IfStmt.html#aab4217d3e9ec11c6f3d48378924336fe">setElseLoc</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> L) { ElseLoc = L; }</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span> </div>
+<div class="line"><a name="l00893"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a1204218d5ebb69eab378b573f372a72c">  893</a></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> <a class="code" href="classclang_1_1IfStmt.html#a1204218d5ebb69eab378b573f372a72c">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> IfLoc; }</div>
+<div class="line"><a name="l00894"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#af5fffc7d1cfbf3d9d59c94c9b1b9a53a">  894</a></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> <a class="code" href="classclang_1_1IfStmt.html#af5fffc7d1cfbf3d9d59c94c9b1b9a53a">getLocEnd</a>() const LLVM_READONLY {</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>     <span class="keywordflow">if</span> (SubExprs[ELSE])</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>       <span class="keywordflow">return</span> SubExprs[ELSE]-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>       <span class="keywordflow">return</span> SubExprs[THEN]-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();</div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>   }</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span> </div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>   <span class="comment">// Iterators over subexpressions.  The iterators will include iterating</span></div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>   <span class="comment">// over the initialization expression referenced by the condition variable.</span></div>
+<div class="line"><a name="l00903"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#aaae04858d256fbabd602be147f9935bd">  903</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1IfStmt.html#aaae04858d256fbabd602be147f9935bd">children</a>() {</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&SubExprs[0], &SubExprs[0]+END_EXPR);</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>   }</div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span> </div>
+<div class="line"><a name="l00907"></a><span class="lineno"><a class="code" href="classclang_1_1IfStmt.html#a6332a00695807da05ec462efc6ee5c1b">  907</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1IfStmt.html#a6332a00695807da05ec462efc6ee5c1b">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == IfStmtClass;</div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>   }</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span> };</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span> <span class="comment"></span></div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span> <span class="comment">/// SwitchStmt - This represents a 'switch' stmt.</span></div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00914"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html">  914</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1SwitchStmt.html">SwitchStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>   <span class="keyword">enum</span> { VAR, COND, BODY, END_EXPR };</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>* SubExprs[END_EXPR];</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>   <span class="comment">// This points to a linked list of case and default statements.</span></div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>   <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> *FirstCase;</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</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> SwitchLoc;</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span> <span class="comment"></span></div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span> <span class="comment">  /// If the SwitchStmt is a switch on an enum value, this records whether</span></div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span> <span class="comment">  /// all the enum values were covered by CaseStmts.  This value is meant to</span></div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span> <span class="comment">  /// be a hint for possible clients.</span></div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> AllEnumCasesCovered : 1;</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span> </div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>   <a class="code" href="classclang_1_1SwitchStmt.html#a87ddfc7da795e816d51a9bcea9c89628">SwitchStmt</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *Var, <a class="code" href="classclang_1_1Expr.html">Expr</a> *cond);</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span> <span class="comment"></span></div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span> <span class="comment">  /// \brief Build a empty switch statement.</span></div>
+<div class="line"><a name="l00930"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#abc4dab3ff70ee068491e0f626702a3ae">  930</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1SwitchStmt.html#abc4dab3ff70ee068491e0f626702a3ae" title="Build a empty switch statement.">SwitchStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(SwitchStmtClass, Empty) { }</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span> <span class="comment"></span></div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span> <span class="comment">  /// \brief Retrieve the variable declared in this "switch" statement, if any.</span></div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span> <span class="comment">  /// In the following example, "x" is the condition variable.</span></div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span> <span class="comment">  /// \code</span></div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span> <span class="comment">  /// switch (int x = foo()) {</span></div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span> <span class="comment">  ///   case 0: break;</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span> <span class="comment">  ///   // ...</span></div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span> <span class="comment">  /// }</span></div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span> <span class="comment">  /// \endcode</span></div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span> <span class="comment"></span>  <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *<a class="code" href="classclang_1_1SwitchStmt.html#add328aa8e549b60b247000ee8b4395be" title="Retrieve the variable declared in this "switch" statement, if any.">getConditionVariable</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchStmt.html#abefec05de01617b0e24712af8d768e2d">setConditionVariable</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *V);</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span> <span class="comment"></span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span> <span class="comment">  /// If this SwitchStmt has a condition variable, return the faux DeclStmt</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span> <span class="comment">  /// associated with the creation of that condition variable.</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a4a3db8c6371ca797c61650802fe77111">  946</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> *<a class="code" href="classclang_1_1SwitchStmt.html#a4a3db8c6371ca797c61650802fe77111">getConditionVariableDeclStmt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a>*<span class="keyword">></span>(SubExprs[VAR]);</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>   }</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span> </div>
+<div class="line"><a name="l00950"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a7404791c1f6c98cca9a60f681c6f9d32">  950</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1SwitchStmt.html#a7404791c1f6c98cca9a60f681c6f9d32">getCond</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]);}</div>
+<div class="line"><a name="l00951"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#abeb106525d0882bd067091b5cb6779cc">  951</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1SwitchStmt.html#abeb106525d0882bd067091b5cb6779cc">getBody</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubExprs[BODY]; }</div>
+<div class="line"><a name="l00952"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#ace9b2bce71bc2eb328253001c230f011">  952</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> *<a class="code" href="classclang_1_1SwitchStmt.html#ace9b2bce71bc2eb328253001c230f011">getSwitchCaseList</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FirstCase; }</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span> </div>
+<div class="line"><a name="l00954"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a992d9f30a0ef2a7fd748a00bc2ebe80d">  954</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1SwitchStmt.html#a992d9f30a0ef2a7fd748a00bc2ebe80d">getCond</a>() { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]);}</div>
+<div class="line"><a name="l00955"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a79314201176ad24413ce809ba18822be">  955</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchStmt.html#a79314201176ad24413ce809ba18822be">setCond</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) { SubExprs[COND] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<span class="keyword">></span>(E); }</div>
+<div class="line"><a name="l00956"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#ae1e493a8575b5392a34690c89ef2a8b2">  956</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1SwitchStmt.html#ae1e493a8575b5392a34690c89ef2a8b2">getBody</a>() { <span class="keywordflow">return</span> SubExprs[BODY]; }</div>
+<div class="line"><a name="l00957"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a8b6207f80c8066805dbbac12ff755ca6">  957</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchStmt.html#a8b6207f80c8066805dbbac12ff755ca6">setBody</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { SubExprs[BODY] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l00958"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#aa7b71c99055f858541bc46ada6536bb5">  958</a></span>   <a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> *<a class="code" href="classclang_1_1SwitchStmt.html#aa7b71c99055f858541bc46ada6536bb5">getSwitchCaseList</a>() { <span class="keywordflow">return</span> FirstCase; }</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span> <span class="comment"></span></div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span> <span class="comment">  /// \brief Set the case list for this switch statement.</span></div>
+<div class="line"><a name="l00961"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#ae5c3e7f2dd701ea7cce4c55c9b932e00">  961</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchStmt.html#ae5c3e7f2dd701ea7cce4c55c9b932e00" title="Set the case list for this switch statement.">setSwitchCaseList</a>(<a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> *SC) { FirstCase = SC; }</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span> </div>
+<div class="line"><a name="l00963"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a1be60deba4219d61ba9f80928945761e">  963</a></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> <a class="code" href="classclang_1_1SwitchStmt.html#a1be60deba4219d61ba9f80928945761e">getSwitchLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SwitchLoc; }</div>
+<div class="line"><a name="l00964"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a2369f570f0ece828e063ed033513a6e5">  964</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchStmt.html#a2369f570f0ece828e063ed033513a6e5">setSwitchLoc</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> L) { SwitchLoc = L; }</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span> </div>
+<div class="line"><a name="l00966"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a0add2737c561e3d74f40940eea429537">  966</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchStmt.html#a0add2737c561e3d74f40940eea429537">setBody</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</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> SL) {</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>     SubExprs[BODY] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>;</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>     SwitchLoc = SL;</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>   }</div>
+<div class="line"><a name="l00970"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a0aabe9e5e655fca0ffdb3e1304f80583">  970</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchStmt.html#a0aabe9e5e655fca0ffdb3e1304f80583">addSwitchCase</a>(<a class="code" href="classclang_1_1SwitchCase.html">SwitchCase</a> *SC) {</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>     assert(!SC-><a class="code" href="classclang_1_1SwitchCase.html#ac260de1f5de7d9e5c5cba896d7f2813f">getNextSwitchCase</a>()</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>            && <span class="stringliteral">"case/default already added to a switch"</span>);</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>     SC-><a class="code" href="classclang_1_1SwitchCase.html#aaf6eea8155ceca39a6e9f6a64bfa9410">setNextSwitchCase</a>(FirstCase);</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>     FirstCase = SC;</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>   }</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span> <span class="comment"></span></div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span> <span class="comment">  /// Set a flag in the SwitchStmt indicating that if the 'switch (X)' is a</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span> <span class="comment">  /// switch over an enum value then all cases have been explicitly covered.</span></div>
+<div class="line"><a name="l00979"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#ae57f204b5be06018ceb9fdfab19ed6c1">  979</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1SwitchStmt.html#ae57f204b5be06018ceb9fdfab19ed6c1">setAllEnumCasesCovered</a>() {</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>     AllEnumCasesCovered = 1;</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>   }</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span> <span class="comment"></span></div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span> <span class="comment">  /// Returns true if the SwitchStmt is a switch of an enum value and all cases</span></div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span> <span class="comment">  /// have been explicitly covered.</span></div>
+<div class="line"><a name="l00985"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a0dcf3f43ccd2a171088055bcb8196fcd">  985</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1SwitchStmt.html#a0dcf3f43ccd2a171088055bcb8196fcd">isAllEnumCasesCovered</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>     <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>) AllEnumCasesCovered;</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>   }</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span> </div>
+<div class="line"><a name="l00989"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#af99ab8ba0e1bfd1328d21a360634110a">  989</a></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> <a class="code" href="classclang_1_1SwitchStmt.html#af99ab8ba0e1bfd1328d21a360634110a">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> SwitchLoc; }</div>
+<div class="line"><a name="l00990"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#ade77341e4a74bae100fe90ff86371b86">  990</a></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> <a class="code" href="classclang_1_1SwitchStmt.html#ade77341e4a74bae100fe90ff86371b86">getLocEnd</a>() const LLVM_READONLY {</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>     <span class="keywordflow">return</span> SubExprs[BODY]-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>   }</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span> </div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l00995"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#a638fbe94a5c650a42717f5b91e0afefb">  995</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1SwitchStmt.html#a638fbe94a5c650a42717f5b91e0afefb">children</a>() {</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&SubExprs[0], &SubExprs[0]+END_EXPR);</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>   }</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span> </div>
+<div class="line"><a name="l00999"></a><span class="lineno"><a class="code" href="classclang_1_1SwitchStmt.html#aeb84967daca556dafb89d2da74f66902">  999</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1SwitchStmt.html#aeb84967daca556dafb89d2da74f66902">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == SwitchStmtClass;</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>   }</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> };</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="comment"></span></div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="comment">/// WhileStmt - This represents a 'while' stmt.</span></div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01007"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html"> 1007</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1WhileStmt.html">WhileStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>   <span class="keyword">enum</span> { VAR, COND, BODY, END_EXPR };</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>* SubExprs[END_EXPR];</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</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> WhileLoc;</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>   <a class="code" href="classclang_1_1WhileStmt.html#a910758447d3b4e47bdd259e7c3bc92a1">WhileStmt</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *Var, <a class="code" href="classclang_1_1Expr.html">Expr</a> *cond, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *body,</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</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> WL);</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="comment"></span></div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="comment">  /// \brief Build an empty while statement.</span></div>
+<div class="line"><a name="l01016"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#a36c0085a55aa98bfa5f91494b72ea327"> 1016</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1WhileStmt.html#a36c0085a55aa98bfa5f91494b72ea327" title="Build an empty while statement.">WhileStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(WhileStmtClass, Empty) { }</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="comment"></span></div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="comment">  /// \brief Retrieve the variable declared in this "while" statement, if any.</span></div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="comment">  /// In the following example, "x" is the condition variable.</span></div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> <span class="comment">  /// \code</span></div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> <span class="comment">  /// while (int x = random()) {</span></div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> <span class="comment">  ///   // ...</span></div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> <span class="comment">  /// }</span></div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> <span class="comment">  /// \endcode</span></div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> <span class="comment"></span>  <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *<a class="code" href="classclang_1_1WhileStmt.html#a28042c05ca3cfc7b58b2a4aa2a39c93e" title="Retrieve the variable declared in this "while" statement, if any.">getConditionVariable</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1WhileStmt.html#a2985b7b519aaf7fcab634eb518903416">setConditionVariable</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *V);</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> <span class="comment"></span></div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> <span class="comment">  /// If this WhileStmt has a condition variable, return the faux DeclStmt</span></div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> <span class="comment">  /// associated with the creation of that condition variable.</span></div>
+<div class="line"><a name="l01031"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#a467170e33d38372ecb79c5b7b8290373"> 1031</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> *<a class="code" href="classclang_1_1WhileStmt.html#a467170e33d38372ecb79c5b7b8290373">getConditionVariableDeclStmt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a>*<span class="keyword">></span>(SubExprs[VAR]);</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>   }</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div>
+<div class="line"><a name="l01035"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#abd95f2d5428c8a78d0815130ca9f3f13"> 1035</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1WhileStmt.html#abd95f2d5428c8a78d0815130ca9f3f13">getCond</a>() { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]); }</div>
+<div class="line"><a name="l01036"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#a92aaadcd1b4cb91f66c777bbd47da7b5"> 1036</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1WhileStmt.html#a92aaadcd1b4cb91f66c777bbd47da7b5">getCond</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]);}</div>
+<div class="line"><a name="l01037"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#af3a74942c28de897f47ff503daa13fa6"> 1037</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1WhileStmt.html#af3a74942c28de897f47ff503daa13fa6">setCond</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) { SubExprs[COND] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(E); }</div>
+<div class="line"><a name="l01038"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#ab7929ea3f57d21b62e0027b757ff038c"> 1038</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1WhileStmt.html#ab7929ea3f57d21b62e0027b757ff038c">getBody</a>() { <span class="keywordflow">return</span> SubExprs[BODY]; }</div>
+<div class="line"><a name="l01039"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#a30621cc14b9a23271102a0713f240b4f"> 1039</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1WhileStmt.html#a30621cc14b9a23271102a0713f240b4f">getBody</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubExprs[BODY]; }</div>
+<div class="line"><a name="l01040"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#ad8fbfc833b1b52cfe0282123c04a2ab0"> 1040</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1WhileStmt.html#ad8fbfc833b1b52cfe0282123c04a2ab0">setBody</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { SubExprs[BODY] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> </div>
+<div class="line"><a name="l01042"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#a9287898a1c63f7047b0fbd57fc747871"> 1042</a></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> <a class="code" href="classclang_1_1WhileStmt.html#a9287898a1c63f7047b0fbd57fc747871">getWhileLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> WhileLoc; }</div>
+<div class="line"><a name="l01043"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#a9af033e27c1b5e004613fffe869bf5da"> 1043</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1WhileStmt.html#a9af033e27c1b5e004613fffe869bf5da">setWhileLoc</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> L) { WhileLoc = L; }</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> </div>
+<div class="line"><a name="l01045"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#af31c4606626d726ea2fbe458612f1f62"> 1045</a></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> <a class="code" href="classclang_1_1WhileStmt.html#af31c4606626d726ea2fbe458612f1f62">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> WhileLoc; }</div>
+<div class="line"><a name="l01046"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#ac6fb7220ed25cdef738a49993ea2d4bd"> 1046</a></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> <a class="code" href="classclang_1_1WhileStmt.html#ac6fb7220ed25cdef738a49993ea2d4bd">getLocEnd</a>() const LLVM_READONLY {</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>     <span class="keywordflow">return</span> SubExprs[BODY]-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>   }</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> </div>
+<div class="line"><a name="l01050"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#ad0f610b2f67c7c19405bd7c4f533e19a"> 1050</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1WhileStmt.html#ad0f610b2f67c7c19405bd7c4f533e19a">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == WhileStmtClass;</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>   }</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> </div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l01055"></a><span class="lineno"><a class="code" href="classclang_1_1WhileStmt.html#af6d85151f919625c12bc24703f7d2d71"> 1055</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1WhileStmt.html#af6d85151f919625c12bc24703f7d2d71">children</a>() {</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&SubExprs[0], &SubExprs[0]+END_EXPR);</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>   }</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> };</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="comment"></span></div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> <span class="comment">/// DoStmt - This represents a 'do/while' stmt.</span></div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01062"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html"> 1062</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1DoStmt.html">DoStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>   <span class="keyword">enum</span> { BODY, COND, END_EXPR };</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>* SubExprs[END_EXPR];</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</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> DoLoc;</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</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> WhileLoc;</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</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> RParenLoc;  <span class="comment">// Location of final ')' in do stmt condition.</span></div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> </div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01070"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a3643bd4a38383fcb724e98085a07b46f"> 1070</a></span>   <a class="code" href="classclang_1_1DoStmt.html#a3643bd4a38383fcb724e98085a07b46f">DoStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *body, <a class="code" href="classclang_1_1Expr.html">Expr</a> *cond, <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> DL, <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> WL,</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</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> RP)</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(DoStmtClass), DoLoc(DL), WhileLoc(WL), RParenLoc(RP) {</div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>     SubExprs[COND] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(cond);</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>     SubExprs[BODY] = body;</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>   }</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="comment"></span></div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="comment">  /// \brief Build an empty do-while statement.</span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a5c9ec7de3c5b11ec855dce838d9d3ad6"> 1078</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1DoStmt.html#a5c9ec7de3c5b11ec855dce838d9d3ad6" title="Build an empty do-while statement.">DoStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(DoStmtClass, Empty) { }</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> </div>
+<div class="line"><a name="l01080"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a0bb1ed03c538eb146c0bdbca4b5df5a3"> 1080</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1DoStmt.html#a0bb1ed03c538eb146c0bdbca4b5df5a3">getCond</a>() { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]); }</div>
+<div class="line"><a name="l01081"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#ac92b335259946f910cd0d2642828eedd"> 1081</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1DoStmt.html#ac92b335259946f910cd0d2642828eedd">getCond</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]);}</div>
+<div class="line"><a name="l01082"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a6a09a95bf176ddeda43807ca7962be0b"> 1082</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DoStmt.html#a6a09a95bf176ddeda43807ca7962be0b">setCond</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) { SubExprs[COND] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(E); }</div>
+<div class="line"><a name="l01083"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#abe217d4623575f61d8bced562d1aaf39"> 1083</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1DoStmt.html#abe217d4623575f61d8bced562d1aaf39">getBody</a>() { <span class="keywordflow">return</span> SubExprs[BODY]; }</div>
+<div class="line"><a name="l01084"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#aa1446b30675ef3d6f0d1df198056acdf"> 1084</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1DoStmt.html#aa1446b30675ef3d6f0d1df198056acdf">getBody</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubExprs[BODY]; }</div>
+<div class="line"><a name="l01085"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#aa7b917237bc9d649a0a05e36b4312720"> 1085</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DoStmt.html#aa7b917237bc9d649a0a05e36b4312720">setBody</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { SubExprs[BODY] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> </div>
+<div class="line"><a name="l01087"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a04499f4e92af3eb0c6ffae645cb8ca02"> 1087</a></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> <a class="code" href="classclang_1_1DoStmt.html#a04499f4e92af3eb0c6ffae645cb8ca02">getDoLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DoLoc; }</div>
+<div class="line"><a name="l01088"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a4389e8c1b303642a9b7dd8db618578e9"> 1088</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DoStmt.html#a4389e8c1b303642a9b7dd8db618578e9">setDoLoc</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> L) { DoLoc = L; }</div>
+<div class="line"><a name="l01089"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#aa86137dc0c67304bd9405a55b6f28d6c"> 1089</a></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> <a class="code" href="classclang_1_1DoStmt.html#aa86137dc0c67304bd9405a55b6f28d6c">getWhileLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> WhileLoc; }</div>
+<div class="line"><a name="l01090"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a01bbded16e48d79aa43698055b41b833"> 1090</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DoStmt.html#a01bbded16e48d79aa43698055b41b833">setWhileLoc</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> L) { WhileLoc = L; }</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div>
+<div class="line"><a name="l01092"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a682fa49bd3e399fc4c49dd6f1037cfeb"> 1092</a></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> <a class="code" href="classclang_1_1DoStmt.html#a682fa49bd3e399fc4c49dd6f1037cfeb">getRParenLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RParenLoc; }</div>
+<div class="line"><a name="l01093"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a75917616a2dab98be310316d663f845e"> 1093</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DoStmt.html#a75917616a2dab98be310316d663f845e">setRParenLoc</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> L) { RParenLoc = L; }</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div>
+<div class="line"><a name="l01095"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a0ac5b61c5a2ed0ac531e677622dc2caf"> 1095</a></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> <a class="code" href="classclang_1_1DoStmt.html#a0ac5b61c5a2ed0ac531e677622dc2caf">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> DoLoc; }</div>
+<div class="line"><a name="l01096"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#af435dae1e8c481b997b93d39a59c32ab"> 1096</a></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> <a class="code" href="classclang_1_1DoStmt.html#af435dae1e8c481b997b93d39a59c32ab">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> RParenLoc; }</div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> </div>
+<div class="line"><a name="l01098"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a5408f5afe0b421c24fdb7bbd20c4b566"> 1098</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DoStmt.html#a5408f5afe0b421c24fdb7bbd20c4b566">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == DoStmtClass;</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>   }</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l01103"></a><span class="lineno"><a class="code" href="classclang_1_1DoStmt.html#a941bd88854b8cd9f561a1cfd545af245"> 1103</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1DoStmt.html#a941bd88854b8cd9f561a1cfd545af245">children</a>() {</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&SubExprs[0], &SubExprs[0]+END_EXPR);</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>   }</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> };</div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> </div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="comment"></span></div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="comment">/// ForStmt - This represents a 'for (init;cond;inc)' stmt.  Note that any of</span></div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="comment">/// the init/cond/inc parts of the ForStmt will be null if they were not</span></div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="comment">/// specified in the source.</span></div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01113"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html"> 1113</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ForStmt.html">ForStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>   <span class="keyword">enum</span> { INIT, CONDVAR, COND, INC, BODY, END_EXPR };</div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>* SubExprs[END_EXPR]; <span class="comment">// SubExprs[INIT] is an expression or declstmt.</span></div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</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> ForLoc;</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</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> LParenLoc, RParenLoc;</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>   <a class="code" href="classclang_1_1ForStmt.html#a0d3d61d72897b8c37ce63e67ebdb5fc3">ForStmt</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Init, <a class="code" href="classclang_1_1Expr.html">Expr</a> *Cond, <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *condVar,</div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>           <a class="code" href="classclang_1_1Expr.html">Expr</a> *Inc, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Body, <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> FL, <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> LP,</div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</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> RP);</div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <span class="comment"></span></div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="comment">  /// \brief Build an empty for statement.</span></div>
+<div class="line"><a name="l01125"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a71be82d7cf131f276d0984dba7a55fc4"> 1125</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1ForStmt.html#a71be82d7cf131f276d0984dba7a55fc4" title="Build an empty for statement.">ForStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(ForStmtClass, Empty) { }</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div>
+<div class="line"><a name="l01127"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#ae4fc309b84b57a02376a02fd36c1d836"> 1127</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1ForStmt.html#ae4fc309b84b57a02376a02fd36c1d836">getInit</a>() { <span class="keywordflow">return</span> SubExprs[INIT]; }</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="comment"></span></div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment">  /// \brief Retrieve the variable declared in this "for" statement, if any.</span></div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="comment">  /// In the following example, "y" is the condition variable.</span></div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="comment">  /// \code</span></div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="comment">  /// for (int x = random(); int y = mangle(x); ++x) {</span></div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="comment">  ///   // ...</span></div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="comment">  /// }</span></div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="comment">  /// \endcode</span></div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="comment"></span>  <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *<a class="code" href="classclang_1_1ForStmt.html#a43f4d356baa047f895978ddc8d64fee0" title="Retrieve the variable declared in this "for" statement, if any.">getConditionVariable</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForStmt.html#ad11701063ff6dc06465136bd41d90af5">setConditionVariable</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *V);</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="comment"></span></div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> <span class="comment">  /// If this ForStmt has a condition variable, return the faux DeclStmt</span></div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="comment">  /// associated with the creation of that condition variable.</span></div>
+<div class="line"><a name="l01142"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#acf9481c9b00e3352565f34078e7dcb0d"> 1142</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> *<a class="code" href="classclang_1_1ForStmt.html#acf9481c9b00e3352565f34078e7dcb0d">getConditionVariableDeclStmt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a>*<span class="keyword">></span>(SubExprs[CONDVAR]);</div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>   }</div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> </div>
+<div class="line"><a name="l01146"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#adfc65a829fed9bf7fdf39c1ad7c141fa"> 1146</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ForStmt.html#adfc65a829fed9bf7fdf39c1ad7c141fa">getCond</a>() { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]); }</div>
+<div class="line"><a name="l01147"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a1862e5a9ace98ddef0075b43820d9528"> 1147</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ForStmt.html#a1862e5a9ace98ddef0075b43820d9528">getInc</a>()  { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[INC]); }</div>
+<div class="line"><a name="l01148"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a6f73f050185a05d2492a48d3e0673094"> 1148</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1ForStmt.html#a6f73f050185a05d2492a48d3e0673094">getBody</a>() { <span class="keywordflow">return</span> SubExprs[BODY]; }</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> </div>
+<div class="line"><a name="l01150"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a7670d863947539477d9b462b3c614006"> 1150</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1ForStmt.html#a7670d863947539477d9b462b3c614006">getInit</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubExprs[INIT]; }</div>
+<div class="line"><a name="l01151"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#ab07baa63876a723edab06e274ccc96bd"> 1151</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ForStmt.html#ab07baa63876a723edab06e274ccc96bd">getCond</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[COND]);}</div>
+<div class="line"><a name="l01152"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#af0f0a101e59a14964b0d61a9a8ce11cd"> 1152</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ForStmt.html#af0f0a101e59a14964b0d61a9a8ce11cd">getInc</a>()<span class="keyword">  const </span>{ <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(SubExprs[INC]); }</div>
+<div class="line"><a name="l01153"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a16b9352e2d7f6346c0a7a8ea9f2865d1"> 1153</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1ForStmt.html#a16b9352e2d7f6346c0a7a8ea9f2865d1">getBody</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SubExprs[BODY]; }</div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> </div>
+<div class="line"><a name="l01155"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#aa3a03b923bc050124258124d0a4c9047"> 1155</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForStmt.html#aa3a03b923bc050124258124d0a4c9047">setInit</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { SubExprs[INIT] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l01156"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a4e33152b95d1e9eb41652930cefc916b"> 1156</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForStmt.html#a4e33152b95d1e9eb41652930cefc916b">setCond</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) { SubExprs[COND] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(E); }</div>
+<div class="line"><a name="l01157"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a7550da66ffc78efb991319b0bb23ab12"> 1157</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForStmt.html#a7550da66ffc78efb991319b0bb23ab12">setInc</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) { SubExprs[INC] = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(E); }</div>
+<div class="line"><a name="l01158"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a337fb95a02c910368717b596acc29f4d"> 1158</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForStmt.html#a337fb95a02c910368717b596acc29f4d">setBody</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { SubExprs[BODY] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> </div>
+<div class="line"><a name="l01160"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a24e20e9218e6916ca5c1e043bd722364"> 1160</a></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> <a class="code" href="classclang_1_1ForStmt.html#a24e20e9218e6916ca5c1e043bd722364">getForLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ForLoc; }</div>
+<div class="line"><a name="l01161"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a61c4b55da3784e5dd9443b11247f1ddc"> 1161</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForStmt.html#a61c4b55da3784e5dd9443b11247f1ddc">setForLoc</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> L) { ForLoc = L; }</div>
+<div class="line"><a name="l01162"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a9acf0fc02f3d106bbd2f866f3ec10aa8"> 1162</a></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> <a class="code" href="classclang_1_1ForStmt.html#a9acf0fc02f3d106bbd2f866f3ec10aa8">getLParenLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LParenLoc; }</div>
+<div class="line"><a name="l01163"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a827f9b27bc8b7f6a0f7103374b64a6ee"> 1163</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForStmt.html#a827f9b27bc8b7f6a0f7103374b64a6ee">setLParenLoc</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> L) { LParenLoc = L; }</div>
+<div class="line"><a name="l01164"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a9e35fefd2456152a2923ab7636167244"> 1164</a></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> <a class="code" href="classclang_1_1ForStmt.html#a9e35fefd2456152a2923ab7636167244">getRParenLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RParenLoc; }</div>
+<div class="line"><a name="l01165"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#af6584990e358d3f0881e88e0213b715c"> 1165</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForStmt.html#af6584990e358d3f0881e88e0213b715c">setRParenLoc</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> L) { RParenLoc = L; }</div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> </div>
+<div class="line"><a name="l01167"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a9a61a8fdd69744a91aed789c89297e07"> 1167</a></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> <a class="code" href="classclang_1_1ForStmt.html#a9a61a8fdd69744a91aed789c89297e07">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> ForLoc; }</div>
+<div class="line"><a name="l01168"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a746a7e733eb66ed270f2c42fb9493189"> 1168</a></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> <a class="code" href="classclang_1_1ForStmt.html#a746a7e733eb66ed270f2c42fb9493189">getLocEnd</a>() const LLVM_READONLY {</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>     <span class="keywordflow">return</span> SubExprs[BODY]-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();</div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>   }</div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> </div>
+<div class="line"><a name="l01172"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#aaeec37824344466b4bce8d52af67984e"> 1172</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ForStmt.html#aaeec37824344466b4bce8d52af67984e">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == ForStmtClass;</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>   }</div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> </div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l01177"></a><span class="lineno"><a class="code" href="classclang_1_1ForStmt.html#a13b75dcd0e241fa6f79856f25c3a9cb9"> 1177</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1ForStmt.html#a13b75dcd0e241fa6f79856f25c3a9cb9">children</a>() {</div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&SubExprs[0], &SubExprs[0]+END_EXPR);</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>   }</div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span> };</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> <span class="comment"></span></div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> <span class="comment">/// GotoStmt - This represents a direct goto.</span></div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01184"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html"> 1184</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1GotoStmt.html">GotoStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>   <a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *Label;</div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</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> GotoLoc;</div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</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> LabelLoc;</div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01189"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#a079de8257f8d3cabe3b98da67de8f71b"> 1189</a></span>   <a class="code" href="classclang_1_1GotoStmt.html#a079de8257f8d3cabe3b98da67de8f71b">GotoStmt</a>(<a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *label, <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> GL, <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> LL)</div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(GotoStmtClass), Label(label), GotoLoc(GL), LabelLoc(LL) {}</div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="comment"></span></div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="comment">  /// \brief Build an empty goto statement.</span></div>
+<div class="line"><a name="l01193"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#a95138e7c693208d6582112b04b92ee34"> 1193</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1GotoStmt.html#a95138e7c693208d6582112b04b92ee34" title="Build an empty goto statement.">GotoStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(GotoStmtClass, Empty) { }</div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> </div>
+<div class="line"><a name="l01195"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#a9c28589a30beb1b70426fc6b4cac56b9"> 1195</a></span>   <a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *<a class="code" href="classclang_1_1GotoStmt.html#a9c28589a30beb1b70426fc6b4cac56b9">getLabel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Label; }</div>
+<div class="line"><a name="l01196"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#a77b7eca8876e5c68ad8f64aa1e58935f"> 1196</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1GotoStmt.html#a77b7eca8876e5c68ad8f64aa1e58935f">setLabel</a>(<a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *D) { Label = D; }</div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> </div>
+<div class="line"><a name="l01198"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#a47698a65bce95b82cf112645b825fc75"> 1198</a></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> <a class="code" href="classclang_1_1GotoStmt.html#a47698a65bce95b82cf112645b825fc75">getGotoLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> GotoLoc; }</div>
+<div class="line"><a name="l01199"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#af821c1d7b9cc3387238ce9364036f402"> 1199</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1GotoStmt.html#af821c1d7b9cc3387238ce9364036f402">setGotoLoc</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> L) { GotoLoc = L; }</div>
+<div class="line"><a name="l01200"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#a377443376822e44551c0cf287adf2a6c"> 1200</a></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> <a class="code" href="classclang_1_1GotoStmt.html#a377443376822e44551c0cf287adf2a6c">getLabelLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LabelLoc; }</div>
+<div class="line"><a name="l01201"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#a9dfed17bf53e39bbf6e13a997adaade9"> 1201</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1GotoStmt.html#a9dfed17bf53e39bbf6e13a997adaade9">setLabelLoc</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> L) { LabelLoc = L; }</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> </div>
+<div class="line"><a name="l01203"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#ac0027680a9bf83e67ad104cfd648614e"> 1203</a></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> <a class="code" href="classclang_1_1GotoStmt.html#ac0027680a9bf83e67ad104cfd648614e">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> GotoLoc; }</div>
+<div class="line"><a name="l01204"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#a78e1ae7d68abc27734d608f533e5875b"> 1204</a></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> <a class="code" href="classclang_1_1GotoStmt.html#a78e1ae7d68abc27734d608f533e5875b">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> LabelLoc; }</div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div>
+<div class="line"><a name="l01206"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#af7a330a1ff2618115643f934329cc02e"> 1206</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1GotoStmt.html#af7a330a1ff2618115643f934329cc02e">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == GotoStmtClass;</div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>   }</div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> </div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l01211"></a><span class="lineno"><a class="code" href="classclang_1_1GotoStmt.html#a70934b4990998a44dff279d74f8debfa"> 1211</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1GotoStmt.html#a70934b4990998a44dff279d74f8debfa">children</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(); }</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> };</div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="comment"></span></div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> <span class="comment">/// IndirectGotoStmt - This represents an indirect goto.</span></div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01216"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html"> 1216</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1IndirectGotoStmt.html">IndirectGotoStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</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> GotoLoc;</div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</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> StarLoc;</div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Target;</div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01221"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a10ddadc2fc89a50ae751fd64f5ec6a70"> 1221</a></span>   <a class="code" href="classclang_1_1IndirectGotoStmt.html#a10ddadc2fc89a50ae751fd64f5ec6a70">IndirectGotoStmt</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> gotoLoc, <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> starLoc,</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>                    <a class="code" href="classclang_1_1Expr.html">Expr</a> *target)</div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(IndirectGotoStmtClass), GotoLoc(gotoLoc), StarLoc(starLoc),</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>       Target((<a class="code" href="classclang_1_1Stmt.html">Stmt</a>*)target) {}</div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> <span class="comment"></span></div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> <span class="comment">  /// \brief Build an empty indirect goto statement.</span></div>
+<div class="line"><a name="l01227"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#adfcc2b06a3ad582e159c0771546b7dbd"> 1227</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1IndirectGotoStmt.html#a10ddadc2fc89a50ae751fd64f5ec6a70">IndirectGotoStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty)</div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(IndirectGotoStmtClass, Empty) { }</div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> </div>
+<div class="line"><a name="l01230"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a4c43be802f6a09983f07ccbbb482457a"> 1230</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1IndirectGotoStmt.html#a4c43be802f6a09983f07ccbbb482457a">setGotoLoc</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> L) { GotoLoc = L; }</div>
+<div class="line"><a name="l01231"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a961f5488ec5852d6f8c388e08e829c0d"> 1231</a></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> <a class="code" href="classclang_1_1IndirectGotoStmt.html#a961f5488ec5852d6f8c388e08e829c0d">getGotoLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> GotoLoc; }</div>
+<div class="line"><a name="l01232"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#acf934ebc8c440f6a172cc4487472b07f"> 1232</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1IndirectGotoStmt.html#acf934ebc8c440f6a172cc4487472b07f">setStarLoc</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> L) { StarLoc = L; }</div>
+<div class="line"><a name="l01233"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a4587d6f8fdbf38a54640a3d38cf17e46"> 1233</a></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> <a class="code" href="classclang_1_1IndirectGotoStmt.html#a4587d6f8fdbf38a54640a3d38cf17e46">getStarLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> StarLoc; }</div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> </div>
+<div class="line"><a name="l01235"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a17f33bbbb62f278aaa255ec77de2a07c"> 1235</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1IndirectGotoStmt.html#a17f33bbbb62f278aaa255ec77de2a07c">getTarget</a>() { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(Target); }</div>
+<div class="line"><a name="l01236"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a76f5abe048548764b9e0f0d6ffab76eb"> 1236</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1IndirectGotoStmt.html#a76f5abe048548764b9e0f0d6ffab76eb">getTarget</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(Target);}</div>
+<div class="line"><a name="l01237"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a2d3325d9e73ecf2ad916eac272e371c0"> 1237</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1IndirectGotoStmt.html#a2d3325d9e73ecf2ad916eac272e371c0">setTarget</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) { Target = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(E); }</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> <span class="comment"></span></div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> <span class="comment">  /// getConstantTarget - Returns the fixed target of this indirect</span></div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <span class="comment">  /// goto, if one exists.</span></div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> <span class="comment"></span>  <a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *<a class="code" href="classclang_1_1IndirectGotoStmt.html#a0ce61f7f471d478d9cbf3fcfed310e3e">getConstantTarget</a>();</div>
+<div class="line"><a name="l01242"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a748b4deeebe3120a1479230ffa1e87f1"> 1242</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LabelDecl.html">LabelDecl</a> *<a class="code" href="classclang_1_1IndirectGotoStmt.html#a748b4deeebe3120a1479230ffa1e87f1">getConstantTarget</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1IndirectGotoStmt.html">IndirectGotoStmt</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1IndirectGotoStmt.html#a0ce61f7f471d478d9cbf3fcfed310e3e">getConstantTarget</a>();</div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>   }</div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> </div>
+<div class="line"><a name="l01246"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#ad1151f224a4545211008049431a7c4b5"> 1246</a></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> <a class="code" href="classclang_1_1IndirectGotoStmt.html#ad1151f224a4545211008049431a7c4b5">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> GotoLoc; }</div>
+<div class="line"><a name="l01247"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a835353ab01b9f028fdd8587a3a8a640e"> 1247</a></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> <a class="code" href="classclang_1_1IndirectGotoStmt.html#a835353ab01b9f028fdd8587a3a8a640e">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> Target-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>(); }</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span> </div>
+<div class="line"><a name="l01249"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a0b0187a239709e36ff7b21136647ef93"> 1249</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1IndirectGotoStmt.html#a0b0187a239709e36ff7b21136647ef93">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == IndirectGotoStmtClass;</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>   }</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> </div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l01254"></a><span class="lineno"><a class="code" href="classclang_1_1IndirectGotoStmt.html#a48a275a633a4ea726209251241ab273d"> 1254</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1IndirectGotoStmt.html#a48a275a633a4ea726209251241ab273d">children</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&Target, &Target+1); }</div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> };</div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> </div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="comment"></span></div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="comment">/// ContinueStmt - This represents a continue.</span></div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01260"></a><span class="lineno"><a class="code" href="classclang_1_1ContinueStmt.html"> 1260</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ContinueStmt.html">ContinueStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</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> ContinueLoc;</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01263"></a><span class="lineno"><a class="code" href="classclang_1_1ContinueStmt.html#a2766c717f5f159abd0875362cc30908f"> 1263</a></span>   <a class="code" href="classclang_1_1ContinueStmt.html#a2766c717f5f159abd0875362cc30908f">ContinueStmt</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> CL) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(ContinueStmtClass), ContinueLoc(CL) {}</div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="comment"></span></div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="comment">  /// \brief Build an empty continue statement.</span></div>
+<div class="line"><a name="l01266"></a><span class="lineno"><a class="code" href="classclang_1_1ContinueStmt.html#a005bfe7af3e8a98f2e1dec0cde23a042"> 1266</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1ContinueStmt.html#a005bfe7af3e8a98f2e1dec0cde23a042" title="Build an empty continue statement.">ContinueStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(ContinueStmtClass, Empty) { }</div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> </div>
+<div class="line"><a name="l01268"></a><span class="lineno"><a class="code" href="classclang_1_1ContinueStmt.html#ae25096af280f9a475d1c35a2b469a881"> 1268</a></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> <a class="code" href="classclang_1_1ContinueStmt.html#ae25096af280f9a475d1c35a2b469a881">getContinueLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ContinueLoc; }</div>
+<div class="line"><a name="l01269"></a><span class="lineno"><a class="code" href="classclang_1_1ContinueStmt.html#a68ba770fe2767a1df9233c20f7146902"> 1269</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ContinueStmt.html#a68ba770fe2767a1df9233c20f7146902">setContinueLoc</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> L) { ContinueLoc = L; }</div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> </div>
+<div class="line"><a name="l01271"></a><span class="lineno"><a class="code" href="classclang_1_1ContinueStmt.html#a1dc9c71c5ca074eacb4fe0394583bdbd"> 1271</a></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> <a class="code" href="classclang_1_1ContinueStmt.html#a1dc9c71c5ca074eacb4fe0394583bdbd">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> ContinueLoc; }</div>
+<div class="line"><a name="l01272"></a><span class="lineno"><a class="code" href="classclang_1_1ContinueStmt.html#aee4d2f33920a46f076531a5885c4871d"> 1272</a></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> <a class="code" href="classclang_1_1ContinueStmt.html#aee4d2f33920a46f076531a5885c4871d">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> ContinueLoc; }</div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
+<div class="line"><a name="l01274"></a><span class="lineno"><a class="code" href="classclang_1_1ContinueStmt.html#a4454209ffb50cca35a87f6d4ef1e2f3e"> 1274</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ContinueStmt.html#a4454209ffb50cca35a87f6d4ef1e2f3e">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == ContinueStmtClass;</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>   }</div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> </div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l01279"></a><span class="lineno"><a class="code" href="classclang_1_1ContinueStmt.html#a166cef094cfe716c0ff4ff1e650d9bb1"> 1279</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1ContinueStmt.html#a166cef094cfe716c0ff4ff1e650d9bb1">children</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(); }</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> };</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> <span class="comment"></span></div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="comment">/// BreakStmt - This represents a break.</span></div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01284"></a><span class="lineno"><a class="code" href="classclang_1_1BreakStmt.html"> 1284</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1BreakStmt.html">BreakStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</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> BreakLoc;</div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01287"></a><span class="lineno"><a class="code" href="classclang_1_1BreakStmt.html#a52fcdf9649ce465fc4deb00bde9c564a"> 1287</a></span>   <a class="code" href="classclang_1_1BreakStmt.html#a52fcdf9649ce465fc4deb00bde9c564a">BreakStmt</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> BL) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(BreakStmtClass), BreakLoc(BL) {}</div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="comment"></span></div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="comment">  /// \brief Build an empty break statement.</span></div>
+<div class="line"><a name="l01290"></a><span class="lineno"><a class="code" href="classclang_1_1BreakStmt.html#ada53bb0e788dd7ee7ba0b2ef05eea62a"> 1290</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1BreakStmt.html#ada53bb0e788dd7ee7ba0b2ef05eea62a" title="Build an empty break statement.">BreakStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(BreakStmtClass, Empty) { }</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> </div>
+<div class="line"><a name="l01292"></a><span class="lineno"><a class="code" href="classclang_1_1BreakStmt.html#aafdab5a61828611b7c1d0067a9d55ef0"> 1292</a></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> <a class="code" href="classclang_1_1BreakStmt.html#aafdab5a61828611b7c1d0067a9d55ef0">getBreakLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> BreakLoc; }</div>
+<div class="line"><a name="l01293"></a><span class="lineno"><a class="code" href="classclang_1_1BreakStmt.html#ab4da7ca45dc293fd1bf9dfc31c5051ad"> 1293</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1BreakStmt.html#ab4da7ca45dc293fd1bf9dfc31c5051ad">setBreakLoc</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> L) { BreakLoc = L; }</div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> </div>
+<div class="line"><a name="l01295"></a><span class="lineno"><a class="code" href="classclang_1_1BreakStmt.html#aa4317d0759cb626e45ab51707819c482"> 1295</a></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> <a class="code" href="classclang_1_1BreakStmt.html#aa4317d0759cb626e45ab51707819c482">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> BreakLoc; }</div>
+<div class="line"><a name="l01296"></a><span class="lineno"><a class="code" href="classclang_1_1BreakStmt.html#a5ad5a4f5573c9e3a221e0e665bc065a7"> 1296</a></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> <a class="code" href="classclang_1_1BreakStmt.html#a5ad5a4f5573c9e3a221e0e665bc065a7">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> BreakLoc; }</div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> </div>
+<div class="line"><a name="l01298"></a><span class="lineno"><a class="code" href="classclang_1_1BreakStmt.html#a96af3a5be6c919dc9d5fa73ab2f75685"> 1298</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1BreakStmt.html#a96af3a5be6c919dc9d5fa73ab2f75685">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == BreakStmtClass;</div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>   }</div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> </div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l01303"></a><span class="lineno"><a class="code" href="classclang_1_1BreakStmt.html#a1d835506f7b22d2aabe34e995dcba802"> 1303</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1BreakStmt.html#a1d835506f7b22d2aabe34e995dcba802">children</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(); }</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> };</div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> </div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="comment"></span></div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="comment">/// ReturnStmt - This represents a return, optionally of an expression:</span></div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="comment">///   return;</span></div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="comment">///   return 4;</span></div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> <span class="comment">/// Note that GCC allows return with no argument in a function declared to</span></div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <span class="comment">/// return a value, and it allows returning a value in functions declared to</span></div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <span class="comment">/// return void.  We explicitly model this in the AST, which means you can't</span></div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="comment">/// depend on the return type of the function and the presence of an argument.</span></div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01316"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html"> 1316</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ReturnStmt.html">ReturnStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *RetExpr;</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</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> RetLoc;</div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *NRVOCandidate;</div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> </div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01322"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#a290d6c6624a1b8d5a99123ddac8f0aaa"> 1322</a></span>   <a class="code" href="classclang_1_1ReturnStmt.html#a290d6c6624a1b8d5a99123ddac8f0aaa">ReturnStmt</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> RL)</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(ReturnStmtClass), RetExpr(0), RetLoc(RL), NRVOCandidate(0) { }</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> </div>
+<div class="line"><a name="l01325"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#acb086de5e0bcea9adb466f43c040f240"> 1325</a></span>   <a class="code" href="classclang_1_1ReturnStmt.html#a290d6c6624a1b8d5a99123ddac8f0aaa">ReturnStmt</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> RL, <a class="code" href="classclang_1_1Expr.html">Expr</a> *E, <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *NRVOCandidate)</div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>     : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(ReturnStmtClass), RetExpr((<a class="code" href="classclang_1_1Stmt.html">Stmt</a>*) E), RetLoc(RL),</div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>       NRVOCandidate(NRVOCandidate) {}</div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="comment"></span></div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <span class="comment">  /// \brief Build an empty return expression.</span></div>
+<div class="line"><a name="l01330"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#ac1f8f6efbf51facc8e77ebee34d74109"> 1330</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1ReturnStmt.html#ac1f8f6efbf51facc8e77ebee34d74109" title="Build an empty return expression.">ReturnStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(ReturnStmtClass, Empty) { }</div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> </div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ReturnStmt.html#a7de01dadd6eeb10fae138e97d7a8edc7">getRetValue</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ReturnStmt.html#a7de01dadd6eeb10fae138e97d7a8edc7">getRetValue</a>();</div>
+<div class="line"><a name="l01334"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#a3a43f78f0b1bcc971469d89c0f02cdf1"> 1334</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ReturnStmt.html#a3a43f78f0b1bcc971469d89c0f02cdf1">setRetValue</a>(<a class="code" href="classclang_1_1Expr.html">Expr</a> *E) { RetExpr = <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a>*<span class="keyword">></span>(E); }</div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> </div>
+<div class="line"><a name="l01336"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#a85a5d946c188a63d823fc10762855546"> 1336</a></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> <a class="code" href="classclang_1_1ReturnStmt.html#a85a5d946c188a63d823fc10762855546">getReturnLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RetLoc; }</div>
+<div class="line"><a name="l01337"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#a6dd11b99ecc9c66be923f6ec1ed11c66"> 1337</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ReturnStmt.html#a6dd11b99ecc9c66be923f6ec1ed11c66">setReturnLoc</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> L) { RetLoc = L; }</div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <span class="comment"></span></div>
+<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> <span class="comment">  /// \brief Retrieve the variable that might be used for the named return</span></div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="comment">  /// value optimization.</span></div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="comment">  /// The optimization itself can only be performed if the variable is</span></div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="comment">  /// also marked as an NRVO object.</span></div>
+<div class="line"><a name="l01344"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#a3844a724c5e82f49a09b1074edbdc68b"> 1344</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *<a class="code" href="classclang_1_1ReturnStmt.html#a3844a724c5e82f49a09b1074edbdc68b" title="Retrieve the variable that might be used for the named return value optimization.">getNRVOCandidate</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NRVOCandidate; }</div>
+<div class="line"><a name="l01345"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#a9210a9dc8caf3139a5c0a5dd39da2d37"> 1345</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ReturnStmt.html#a9210a9dc8caf3139a5c0a5dd39da2d37">setNRVOCandidate</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *Var) { NRVOCandidate = Var; }</div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> </div>
+<div class="line"><a name="l01347"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#a51d0ad93eaa420a7c3c6c0b9e23f5462"> 1347</a></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> <a class="code" href="classclang_1_1ReturnStmt.html#a51d0ad93eaa420a7c3c6c0b9e23f5462">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> RetLoc; }</div>
+<div class="line"><a name="l01348"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#a192eae73d54d80293a6e1b63e164b48f"> 1348</a></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> <a class="code" href="classclang_1_1ReturnStmt.html#a192eae73d54d80293a6e1b63e164b48f">getLocEnd</a>() const LLVM_READONLY {</div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>     <span class="keywordflow">return</span> RetExpr ? RetExpr-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>() : RetLoc;</div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>   }</div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> </div>
+<div class="line"><a name="l01352"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#a740098bd3010893351b7a4721fa395f8"> 1352</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ReturnStmt.html#a740098bd3010893351b7a4721fa395f8">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == ReturnStmtClass;</div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>   }</div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> </div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>   <span class="comment">// Iterators</span></div>
+<div class="line"><a name="l01357"></a><span class="lineno"><a class="code" href="classclang_1_1ReturnStmt.html#ae83853759f331a9272b853db8aa47761"> 1357</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1ReturnStmt.html#ae83853759f331a9272b853db8aa47761">children</a>() {</div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>     <span class="keywordflow">if</span> (RetExpr) <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&RetExpr, &RetExpr+1);</div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>();</div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>   }</div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> };</div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> <span class="comment"></span></div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="comment">/// AsmStmt is the base class for GCCAsmStmt and MSAsmStmt.</span></div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01365"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html"> 1365</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1AsmStmt.html">AsmStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l01367"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a306a602e455ca6dffbf9fba7e3923ebc"> 1367</a></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> <a class="code" href="classclang_1_1AsmStmt.html#a306a602e455ca6dffbf9fba7e3923ebc">AsmLoc</a>;<span class="comment"></span></div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="comment">  /// \brief True if the assembly statement does not have any input or output</span></div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> <span class="comment">  /// operands.</span></div>
+<div class="line"><a name="l01370"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#aa206d1e513fca6e57e79f2f2bc2cccb9"> 1370</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1AsmStmt.html#aa206d1e513fca6e57e79f2f2bc2cccb9" title="True if the assembly statement does not have any input or output operands.">IsSimple</a>;</div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> <span class="comment"></span></div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> <span class="comment">  /// \brief If true, treat this inline assembly as having side effects.</span></div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> <span class="comment">  /// This assembly statement should not be optimized, deleted or moved.</span></div>
+<div class="line"><a name="l01374"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#acd2276b5adf7dd53a80bb9d726b003e9"> 1374</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1AsmStmt.html#acd2276b5adf7dd53a80bb9d726b003e9" title="If true, treat this inline assembly as having side effects. This assembly statement should not be opt...">IsVolatile</a>;</div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> </div>
+<div class="line"><a name="l01376"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba"> 1376</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>;</div>
+<div class="line"><a name="l01377"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f"> 1377</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a>;</div>
+<div class="line"><a name="l01378"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#acb2b8e59f193e8d44a2c21fa5ee31d5a"> 1378</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#acb2b8e59f193e8d44a2c21fa5ee31d5a">NumClobbers</a>;</div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> </div>
+<div class="line"><a name="l01380"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3"> 1380</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> **<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>;</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> </div>
+<div class="line"><a name="l01382"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a467de8ab7025b8bcc659202b8bb318e0"> 1382</a></span>   <a class="code" href="classclang_1_1AsmStmt.html#a467de8ab7025b8bcc659202b8bb318e0">AsmStmt</a>(<a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a> SC, <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> asmloc, <span class="keywordtype">bool</span> issimple, <span class="keywordtype">bool</span> isvolatile,</div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>           <span class="keywordtype">unsigned</span> numoutputs, <span class="keywordtype">unsigned</span> numinputs, <span class="keywordtype">unsigned</span> numclobbers) :</div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>     <a class="code" href="classclang_1_1Stmt.html">Stmt</a> (SC), <a class="code" href="classclang_1_1AsmStmt.html#a306a602e455ca6dffbf9fba7e3923ebc">AsmLoc</a>(asmloc), <a class="code" href="classclang_1_1AsmStmt.html#aa206d1e513fca6e57e79f2f2bc2cccb9" title="True if the assembly statement does not have any input or output operands.">IsSimple</a>(issimple), <a class="code" href="classclang_1_1AsmStmt.html#acd2276b5adf7dd53a80bb9d726b003e9" title="If true, treat this inline assembly as having side effects. This assembly statement should not be opt...">IsVolatile</a>(isvolatile),</div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>     <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>(numoutputs), <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a>(numinputs), <a class="code" href="classclang_1_1AsmStmt.html#acb2b8e59f193e8d44a2c21fa5ee31d5a">NumClobbers</a>(numclobbers) { }</div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> </div>
+<div class="line"><a name="l01387"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ad6427d648931017bffcb2f90b8930f9d"> 1387</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> </div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> <span class="comment">  /// \brief Build an empty inline-assembly statement.</span></div>
+<div class="line"><a name="l01391"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ab9cff17a800399b4948080fa409cd7d4"> 1391</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1AsmStmt.html#a467de8ab7025b8bcc659202b8bb318e0">AsmStmt</a>(<a class="code" href="classclang_1_1Stmt.html#a0799dd590e47c83dec66713a22af20cd">StmtClass</a> SC, <a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) :</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>     <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(SC, Empty), <a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>(0) { }</div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> </div>
+<div class="line"><a name="l01394"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ad0664c87db9a38ab3d9ee1c10b227807"> 1394</a></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> <a class="code" href="classclang_1_1AsmStmt.html#ad0664c87db9a38ab3d9ee1c10b227807">getAsmLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1AsmStmt.html#a306a602e455ca6dffbf9fba7e3923ebc">AsmLoc</a>; }</div>
+<div class="line"><a name="l01395"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a196b7b91cf7a97021d1898fe9a044915"> 1395</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1AsmStmt.html#a196b7b91cf7a97021d1898fe9a044915">setAsmLoc</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> L) { <a class="code" href="classclang_1_1AsmStmt.html#a306a602e455ca6dffbf9fba7e3923ebc">AsmLoc</a> = L; }</div>
+<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> </div>
+<div class="line"><a name="l01397"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ae908b2b71cc01309d4dcfd13ee1ab92a"> 1397</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1AsmStmt.html#ae908b2b71cc01309d4dcfd13ee1ab92a">isSimple</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1AsmStmt.html#aa206d1e513fca6e57e79f2f2bc2cccb9" title="True if the assembly statement does not have any input or output operands.">IsSimple</a>; }</div>
+<div class="line"><a name="l01398"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a1589b71094da4ac3c92cc43e159fef05"> 1398</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1AsmStmt.html#a1589b71094da4ac3c92cc43e159fef05">setSimple</a>(<span class="keywordtype">bool</span> V) { <a class="code" href="classclang_1_1AsmStmt.html#aa206d1e513fca6e57e79f2f2bc2cccb9" title="True if the assembly statement does not have any input or output operands.">IsSimple</a> = V; }</div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span> </div>
+<div class="line"><a name="l01400"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a37278a65e788129bbf92f5c6f09a8186"> 1400</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1AsmStmt.html#a37278a65e788129bbf92f5c6f09a8186">isVolatile</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1AsmStmt.html#acd2276b5adf7dd53a80bb9d726b003e9" title="If true, treat this inline assembly as having side effects. This assembly statement should not be opt...">IsVolatile</a>; }</div>
+<div class="line"><a name="l01401"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a4b74787edb94426251ca0f82b6824016"> 1401</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1AsmStmt.html#a4b74787edb94426251ca0f82b6824016">setVolatile</a>(<span class="keywordtype">bool</span> V) { <a class="code" href="classclang_1_1AsmStmt.html#acd2276b5adf7dd53a80bb9d726b003e9" title="If true, treat this inline assembly as having side effects. This assembly statement should not be opt...">IsVolatile</a> = V; }</div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> </div>
+<div class="line"><a name="l01403"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a0c4d29167d945af1f6c8247d0de49f73"> 1403</a></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> <a class="code" href="classclang_1_1AsmStmt.html#a0c4d29167d945af1f6c8247d0de49f73">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</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>(); }</div>
+<div class="line"><a name="l01404"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a1fcf608a1c5a496ffc1b24a434ffa2c3"> 1404</a></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> <a class="code" href="classclang_1_1AsmStmt.html#a1fcf608a1c5a496ffc1b24a434ffa2c3">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</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>(); }</div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> </div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>   <span class="comment">//===--- Asm String Analysis ---===//</span></div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="comment"></span></div>
+<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> <span class="comment">  /// Assemble final IR asm string.</span></div>
+<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1AsmStmt.html#a6b62e1f752a6d5557d4b9ce65bd25731" title="Assemble final IR asm string.">generateAsmString</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> </div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>   <span class="comment">//===--- Output operands ---===//</span></div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> </div>
+<div class="line"><a name="l01413"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a932f490fb6bd45a87b52e8205dd99b4e"> 1413</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#a932f490fb6bd45a87b52e8205dd99b4e">getNumOutputs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>; }</div>
+<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> <span class="comment"></span></div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> <span class="comment">  /// getOutputConstraint - Return the constraint string for the specified</span></div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> <span class="comment">  /// output operand.  All output constraints are known to be non-empty (either</span></div>
+<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span> <span class="comment">  /// '=' or '+').</span></div>
+<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span> <span class="comment"></span>  StringRef <a class="code" href="classclang_1_1AsmStmt.html#a059d6461522fe82cb742f40e8407cfd0">getOutputConstraint</a>(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> <span class="comment"></span></div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <span class="comment">  /// isOutputPlusConstraint - Return true if the specified output constraint</span></div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> <span class="comment">  /// is a "+" constraint (which is both an input and an output) or false if it</span></div>
+<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> <span class="comment">  /// is an "=" constraint (just an output).</span></div>
+<div class="line"><a name="l01423"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#af41011396db616fd28a2db54948f3d6e"> 1423</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1AsmStmt.html#af41011396db616fd28a2db54948f3d6e">isOutputPlusConstraint</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1AsmStmt.html#a059d6461522fe82cb742f40e8407cfd0">getOutputConstraint</a>(i)[0] == <span class="charliteral">'+'</span>;</div>
+<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>   }</div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> </div>
+<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1AsmStmt.html#aba208b617407877fe27a0a80578692e9">getOutputExpr</a>(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> <span class="comment"></span></div>
+<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> <span class="comment">  /// getNumPlusOperands - Return the number of output operands that have a "+"</span></div>
+<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> <span class="comment">  /// constraint.</span></div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#a1ccd1359f6090ead3c6eabb8e8e4ee88">getNumPlusOperands</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> </div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>   <span class="comment">//===--- Input operands ---===//</span></div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> </div>
+<div class="line"><a name="l01435"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ae746b964e34edabd4d1b905e0095d955"> 1435</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#ae746b964e34edabd4d1b905e0095d955">getNumInputs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a>; }</div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> <span class="comment"></span></div>
+<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> <span class="comment">  /// getInputConstraint - Return the specified input constraint.  Unlike output</span></div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> <span class="comment">  /// constraints, these can be empty.</span></div>
+<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> <span class="comment"></span>  StringRef <a class="code" href="classclang_1_1AsmStmt.html#aa8334c15bd7e33a8fc0ac9de3276e3ec">getInputConstraint</a>(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>   </div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1AsmStmt.html#ab7ad9bb3b760176431a9e0ccb9d2c1c1">getInputExpr</a>(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> </div>
+<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>   <span class="comment">//===--- Other ---===//</span></div>
+<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> </div>
+<div class="line"><a name="l01445"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ab5acb433ebe05d4a56fb84c735d052f3"> 1445</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#ab5acb433ebe05d4a56fb84c735d052f3">getNumClobbers</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1AsmStmt.html#acb2b8e59f193e8d44a2c21fa5ee31d5a">NumClobbers</a>; }</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>   StringRef <a class="code" href="classclang_1_1AsmStmt.html#ad7390bf0595b609fcedb84b9f33fbbfa">getClobber</a>(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> </div>
+<div class="line"><a name="l01448"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a4f5e48de4e2b330ee8a405d1eb1fcae2"> 1448</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1AsmStmt.html#a4f5e48de4e2b330ee8a405d1eb1fcae2">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == GCCAsmStmtClass ||</div>
+<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>       T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == MSAsmStmtClass;</div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>   }</div>
+<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> </div>
+<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>   <span class="comment">// Input expr iterators.</span></div>
+<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> </div>
+<div class="line"><a name="l01455"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a7b2361e7efdd43842bdf58cce664f5d5"> 1455</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a> <a class="code" href="classclang_1_1AsmStmt.html#a7b2361e7efdd43842bdf58cce664f5d5">inputs_iterator</a>;</div>
+<div class="line"><a name="l01456"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#aade416ea641c997921012b7f0429bc0f"> 1456</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a> <a class="code" href="classclang_1_1AsmStmt.html#aade416ea641c997921012b7f0429bc0f">const_inputs_iterator</a>;</div>
+<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> </div>
+<div class="line"><a name="l01458"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ab8835ec08cfd348f7a023743684f1846"> 1458</a></span>   <a class="code" href="classclang_1_1ExprIterator.html">inputs_iterator</a> <a class="code" href="classclang_1_1AsmStmt.html#ab8835ec08cfd348f7a023743684f1846">begin_inputs</a>() {</div>
+<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>     <span class="keywordflow">return</span> &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0] + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>;</div>
+<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>   }</div>
+<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> </div>
+<div class="line"><a name="l01462"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ab04b602546f1ff7332447b354f92afef"> 1462</a></span>   <a class="code" href="classclang_1_1ExprIterator.html">inputs_iterator</a> <a class="code" href="classclang_1_1AsmStmt.html#ab04b602546f1ff7332447b354f92afef">end_inputs</a>() {</div>
+<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>     <span class="keywordflow">return</span> &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0] + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a> + <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a>;</div>
+<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>   }</div>
+<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> </div>
+<div class="line"><a name="l01466"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a131f3c724bddb1fd1295e583b780f912"> 1466</a></span>   <a class="code" href="classclang_1_1ConstExprIterator.html">const_inputs_iterator</a> <a class="code" href="classclang_1_1AsmStmt.html#a131f3c724bddb1fd1295e583b780f912">begin_inputs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>     <span class="keywordflow">return</span> &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0] + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>;</div>
+<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>   }</div>
+<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> </div>
+<div class="line"><a name="l01470"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ac7d2c42e0a4fd8e62ed2b57413e59cc1"> 1470</a></span>   <a class="code" href="classclang_1_1ConstExprIterator.html">const_inputs_iterator</a> <a class="code" href="classclang_1_1AsmStmt.html#ac7d2c42e0a4fd8e62ed2b57413e59cc1">end_inputs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>     <span class="keywordflow">return</span> &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0] + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a> + <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a>;</div>
+<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>   }</div>
+<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> </div>
+<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>   <span class="comment">// Output expr iterators.</span></div>
+<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> </div>
+<div class="line"><a name="l01476"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ab9deb7044a03b6c2a8f55bff6fa9287a"> 1476</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ExprIterator.html">ExprIterator</a> <a class="code" href="classclang_1_1AsmStmt.html#ab9deb7044a03b6c2a8f55bff6fa9287a">outputs_iterator</a>;</div>
+<div class="line"><a name="l01477"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a20d9434e022e77fe9ca55761a1844c6b"> 1477</a></span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ConstExprIterator.html">ConstExprIterator</a> <a class="code" href="classclang_1_1AsmStmt.html#a20d9434e022e77fe9ca55761a1844c6b">const_outputs_iterator</a>;</div>
+<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span> </div>
+<div class="line"><a name="l01479"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a18ee3447aadc6d85a8b21c79023a17a4"> 1479</a></span>   <a class="code" href="classclang_1_1ExprIterator.html">outputs_iterator</a> <a class="code" href="classclang_1_1AsmStmt.html#a18ee3447aadc6d85a8b21c79023a17a4">begin_outputs</a>() {</div>
+<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>     <span class="keywordflow">return</span> &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0];</div>
+<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>   }</div>
+<div class="line"><a name="l01482"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a350c8d50156f867a8adfe8e5b54a1ac1"> 1482</a></span>   <a class="code" href="classclang_1_1ExprIterator.html">outputs_iterator</a> <a class="code" href="classclang_1_1AsmStmt.html#a350c8d50156f867a8adfe8e5b54a1ac1">end_outputs</a>() {</div>
+<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>     <span class="keywordflow">return</span> &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0] + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>;</div>
+<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>   }</div>
+<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> </div>
+<div class="line"><a name="l01486"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#a203435a8210da5e0c7d1ac9aae59a4b4"> 1486</a></span>   <a class="code" href="classclang_1_1ConstExprIterator.html">const_outputs_iterator</a> <a class="code" href="classclang_1_1AsmStmt.html#a203435a8210da5e0c7d1ac9aae59a4b4">begin_outputs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>     <span class="keywordflow">return</span> &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0];</div>
+<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>   }</div>
+<div class="line"><a name="l01489"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#abdd0363a1aa2a215d885fbeb1202a401"> 1489</a></span>   <a class="code" href="classclang_1_1ConstExprIterator.html">const_outputs_iterator</a> <a class="code" href="classclang_1_1AsmStmt.html#abdd0363a1aa2a215d885fbeb1202a401">end_outputs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>     <span class="keywordflow">return</span> &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0] + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>;</div>
+<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>   }</div>
+<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> </div>
+<div class="line"><a name="l01493"></a><span class="lineno"><a class="code" href="classclang_1_1AsmStmt.html#ac22b9c34bbc311f938dcef6d8a1ed8b4"> 1493</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1AsmStmt.html#ac22b9c34bbc311f938dcef6d8a1ed8b4">children</a>() {</div>
+<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0], &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0] + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a> + <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a>);</div>
+<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>   }</div>
+<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> };</div>
+<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="comment"></span></div>
+<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="comment">/// This represents a GCC inline-assembly statement extension.</span></div>
+<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01500"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html"> 1500</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1GCCAsmStmt.html">GCCAsmStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1AsmStmt.html">AsmStmt</a> {</div>
+<div class="line"><a name="l01501"></a><span class="lineno"> 1501</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> RParenLoc;</div>
+<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *AsmStr;</div>
+<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> </div>
+<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>   <span class="comment">// FIXME: If we wanted to, we could allocate all of these in one big array.</span></div>
+<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> **Constraints;</div>
+<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> **Clobbers;</div>
+<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> **Names;</div>
+<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> </div>
+<div class="line"><a name="l01509"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#ad6427d648931017bffcb2f90b8930f9d"> 1509</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> </div>
+<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>   <a class="code" href="classclang_1_1GCCAsmStmt.html#a295983bbed3fb046d4d4b80bd43255ef">GCCAsmStmt</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <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> asmloc, <span class="keywordtype">bool</span> issimple,</div>
+<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>              <span class="keywordtype">bool</span> isvolatile, <span class="keywordtype">unsigned</span> numoutputs, <span class="keywordtype">unsigned</span> numinputs,</div>
+<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>              <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> **names, <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> **constraints, <a class="code" href="classclang_1_1Expr.html">Expr</a> **exprs,</div>
+<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>              <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *asmstr, <span class="keywordtype">unsigned</span> numclobbers,</div>
+<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>              <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> **clobbers, <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> rparenloc);</div>
+<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <span class="comment"></span></div>
+<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> <span class="comment">  /// \brief Build an empty inline-assembly statement.</span></div>
+<div class="line"><a name="l01519"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#ab6a5a02e45d5ba8384e3762e6e1f9cd8"> 1519</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1GCCAsmStmt.html#a295983bbed3fb046d4d4b80bd43255ef">GCCAsmStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1AsmStmt.html">AsmStmt</a>(GCCAsmStmtClass, Empty),</div>
+<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>     Constraints(0), Clobbers(0), Names(0) { }</div>
+<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> </div>
+<div class="line"><a name="l01522"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a7501368561d5bd9901d8ab266aa58bf8"> 1522</a></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> <a class="code" href="classclang_1_1GCCAsmStmt.html#a7501368561d5bd9901d8ab266aa58bf8">getRParenLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RParenLoc; }</div>
+<div class="line"><a name="l01523"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a82f3e0d761b182ecabce256f0de3e97e"> 1523</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1GCCAsmStmt.html#a82f3e0d761b182ecabce256f0de3e97e">setRParenLoc</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> L) { RParenLoc = L; }</div>
+<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> </div>
+<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>   <span class="comment">//===--- Asm String Analysis ---===//</span></div>
+<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> </div>
+<div class="line"><a name="l01527"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a4f3c666c1c99d4f66e8969ca36edaf1a"> 1527</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#a4f3c666c1c99d4f66e8969ca36edaf1a">getAsmString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> AsmStr; }</div>
+<div class="line"><a name="l01528"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a403886b4275a25f4d00578f2be5acc14"> 1528</a></span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#a403886b4275a25f4d00578f2be5acc14">getAsmString</a>() { <span class="keywordflow">return</span> AsmStr; }</div>
+<div class="line"><a name="l01529"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a929f22034934e265b966d0304e3594f1"> 1529</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1GCCAsmStmt.html#a929f22034934e265b966d0304e3594f1">setAsmString</a>(<a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *E) { AsmStr = E; }</div>
+<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> <span class="comment"></span></div>
+<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span> <span class="comment">  /// AsmStringPiece - this is part of a decomposed asm string specification</span></div>
+<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> <span class="comment">  /// (for use with the AnalyzeAsmString function below).  An asm string is</span></div>
+<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span> <span class="comment">  /// considered to be a concatenation of these parts.</span></div>
+<div class="line"><a name="l01534"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html"> 1534</a></span> <span class="comment"></span>  <span class="keyword">class </span><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html">AsmStringPiece</a> {</div>
+<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01536"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8"> 1536</a></span>     <span class="keyword">enum</span> <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8">Kind</a> {</div>
+<div class="line"><a name="l01537"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8aa5f01ef7c7a578a1360ffe5ac2e3177a"> 1537</a></span>       <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8aa5f01ef7c7a578a1360ffe5ac2e3177a">String</a>,  <span class="comment">// String in .ll asm string form, "$" -> "$$" and "%%" -> "%".</span></div>
+<div class="line"><a name="l01538"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8a51b6fd61117a181208b465160ba7197d"> 1538</a></span>       <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8a51b6fd61117a181208b465160ba7197d">Operand</a>  <span class="comment">// Operand reference, with optional modifier %c4.</span></div>
+<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>     };</div>
+<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>     <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> MyKind;</div>
+<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>     std::string Str;</div>
+<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>     <span class="keywordtype">unsigned</span> OperandNo;</div>
+<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01545"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a1caa034c1f1c8caa218cb731039df632"> 1545</a></span>     <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a1caa034c1f1c8caa218cb731039df632">AsmStringPiece</a>(<span class="keyword">const</span> std::string &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) : MyKind(<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8aa5f01ef7c7a578a1360ffe5ac2e3177a">String</a>), Str(S) {}</div>
+<div class="line"><a name="l01546"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a45419cd5c303c959bd8c37e06bf87b15"> 1546</a></span>     <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a1caa034c1f1c8caa218cb731039df632">AsmStringPiece</a>(<span class="keywordtype">unsigned</span> OpNo, <span class="keywordtype">char</span> Modifier)</div>
+<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>       : MyKind(<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8a51b6fd61117a181208b465160ba7197d">Operand</a>), Str(), OperandNo(OpNo) {</div>
+<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>       Str += Modifier;</div>
+<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>     }</div>
+<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> </div>
+<div class="line"><a name="l01551"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a8e6993e6bfe25cab4fbd1bab83bd37df"> 1551</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a8e6993e6bfe25cab4fbd1bab83bd37df">isString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> MyKind == <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8aa5f01ef7c7a578a1360ffe5ac2e3177a">String</a>; }</div>
+<div class="line"><a name="l01552"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a7e5e2a4d2e4a4da38022c220afc4f7ef"> 1552</a></span>     <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a7e5e2a4d2e4a4da38022c220afc4f7ef">isOperand</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> MyKind == <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4719dfb03b54bf0de6d0cfc4049647e8a51b6fd61117a181208b465160ba7197d">Operand</a>; }</div>
+<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> </div>
+<div class="line"><a name="l01554"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4b2b5aed6ef2d907abb85a7b6ada0b92"> 1554</a></span>     <span class="keyword">const</span> std::string &<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a4b2b5aed6ef2d907abb85a7b6ada0b92">getString</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>       assert(<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a8e6993e6bfe25cab4fbd1bab83bd37df">isString</a>());</div>
+<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>       <span class="keywordflow">return</span> Str;</div>
+<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>     }</div>
+<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> </div>
+<div class="line"><a name="l01559"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#aa89810e345eae09fd023f4fbacebb7cb"> 1559</a></span>     <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#aa89810e345eae09fd023f4fbacebb7cb">getOperandNo</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>       assert(<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a7e5e2a4d2e4a4da38022c220afc4f7ef">isOperand</a>());</div>
+<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>       <span class="keywordflow">return</span> OperandNo;</div>
+<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>     }</div>
+<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> <span class="comment"></span></div>
+<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> <span class="comment">    /// getModifier - Get the modifier for this operand, if present.  This</span></div>
+<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> <span class="comment">    /// returns '\0' if there was no modifier.</span></div>
+<div class="line"><a name="l01566"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a2144420be1ab06bde81b6a0a3afd9cca"> 1566</a></span> <span class="comment"></span>    <span class="keywordtype">char</span> <a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a2144420be1ab06bde81b6a0a3afd9cca">getModifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>       assert(<a class="code" href="classclang_1_1GCCAsmStmt_1_1AsmStringPiece.html#a7e5e2a4d2e4a4da38022c220afc4f7ef">isOperand</a>());</div>
+<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>       <span class="keywordflow">return</span> Str[0];</div>
+<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>     }</div>
+<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>   };</div>
+<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="comment"></span></div>
+<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> <span class="comment">  /// AnalyzeAsmString - Analyze the asm string of the current asm, decomposing</span></div>
+<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> <span class="comment">  /// it into pieces.  If the asm string is erroneous, emit errors and return</span></div>
+<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> <span class="comment">  /// true, otherwise return false.  This handles canonicalization and</span></div>
+<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <span class="comment">  /// translation of strings from GCC syntax to LLVM IR syntax, and handles</span></div>
+<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> <span class="comment">  //// flattening of named references like %[foo] to Operand AsmStringPiece's.</span></div>
+<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1GCCAsmStmt.html#a0bc9cbcfc0ebe857c14e054a693ff806">AnalyzeAsmString</a>(<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<AsmStringPiece></a> &Pieces,</div>
+<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>                             <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <span class="keywordtype">unsigned</span> &DiagOffs) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> <span class="comment"></span></div>
+<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> <span class="comment">  /// Assemble final IR asm string.</span></div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1GCCAsmStmt.html#acad9d7028bca93d0f13d375cd8db326e" title="Assemble final IR asm string.">generateAsmString</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> </div>
+<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>   <span class="comment">//===--- Output operands ---===//</span></div>
+<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> </div>
+<div class="line"><a name="l01585"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a2a497914dd2f7deb6324e167ef6417f7"> 1585</a></span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#a2a497914dd2f7deb6324e167ef6417f7">getOutputIdentifier</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>     <span class="keywordflow">return</span> Names[i];</div>
+<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>   }</div>
+<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> </div>
+<div class="line"><a name="l01589"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a10424f63ac82838f1742ed86cee78370"> 1589</a></span>   StringRef <a class="code" href="classclang_1_1GCCAsmStmt.html#a10424f63ac82838f1742ed86cee78370">getOutputName</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *II = <a class="code" href="classclang_1_1GCCAsmStmt.html#a2a497914dd2f7deb6324e167ef6417f7">getOutputIdentifier</a>(i))</div>
+<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>       <span class="keywordflow">return</span> II->getName();</div>
+<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> </div>
+<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>     <span class="keywordflow">return</span> StringRef();</div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>   }</div>
+<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> </div>
+<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>   StringRef <a class="code" href="classclang_1_1GCCAsmStmt.html#a2feafa238712beb5c8a6fcbb78548de4">getOutputConstraint</a>(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> </div>
+<div class="line"><a name="l01598"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#ae1e57ca698c0580f471d09ddc954bffd"> 1598</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#ae1e57ca698c0580f471d09ddc954bffd">getOutputConstraintLiteral</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>     <span class="keywordflow">return</span> Constraints[i];</div>
+<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>   }</div>
+<div class="line"><a name="l01601"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a717e991ab1469a023589b60c03f4d015"> 1601</a></span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#a717e991ab1469a023589b60c03f4d015">getOutputConstraintLiteral</a>(<span class="keywordtype">unsigned</span> i) {</div>
+<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>     <span class="keywordflow">return</span> Constraints[i];</div>
+<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>   }</div>
+<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> </div>
+<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#ac62057b9dae47bc5e260be28e7898a51">getOutputExpr</a>(<span class="keywordtype">unsigned</span> i);</div>
+<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> </div>
+<div class="line"><a name="l01607"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#ac3ddc5432933acd3ef5adf92424f2d0b"> 1607</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#ac3ddc5432933acd3ef5adf92424f2d0b">getOutputExpr</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1GCCAsmStmt.html">GCCAsmStmt</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1GCCAsmStmt.html#ac62057b9dae47bc5e260be28e7898a51">getOutputExpr</a>(i);</div>
+<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>   }</div>
+<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> </div>
+<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>   <span class="comment">//===--- Input operands ---===//</span></div>
+<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> </div>
+<div class="line"><a name="l01613"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a4d15d2e7c7d4a938eaaccc9e57920dd9"> 1613</a></span>   <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#a4d15d2e7c7d4a938eaaccc9e57920dd9">getInputIdentifier</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>     <span class="keywordflow">return</span> Names[i + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>];</div>
+<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>   }</div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> </div>
+<div class="line"><a name="l01617"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a3b2af7fbb0256d0ec9f2a46c4f5bfac6"> 1617</a></span>   StringRef <a class="code" href="classclang_1_1GCCAsmStmt.html#a3b2af7fbb0256d0ec9f2a46c4f5bfac6">getInputName</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *II = <a class="code" href="classclang_1_1GCCAsmStmt.html#a4d15d2e7c7d4a938eaaccc9e57920dd9">getInputIdentifier</a>(i))</div>
+<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>       <span class="keywordflow">return</span> II->getName();</div>
+<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> </div>
+<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>     <span class="keywordflow">return</span> StringRef();</div>
+<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>   }</div>
+<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> </div>
+<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>   StringRef <a class="code" href="classclang_1_1GCCAsmStmt.html#a966aacec221a8be77af4cf04af7641b5">getInputConstraint</a>(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> </div>
+<div class="line"><a name="l01626"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a0e120ec053a662e9a72f60d770486b5c"> 1626</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#a0e120ec053a662e9a72f60d770486b5c">getInputConstraintLiteral</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>     <span class="keywordflow">return</span> Constraints[i + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>];</div>
+<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>   }</div>
+<div class="line"><a name="l01629"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a3079264ba1a249910ccc66add731c97f"> 1629</a></span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#a3079264ba1a249910ccc66add731c97f">getInputConstraintLiteral</a>(<span class="keywordtype">unsigned</span> i) {</div>
+<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>     <span class="keywordflow">return</span> Constraints[i + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>];</div>
+<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>   }</div>
+<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> </div>
+<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#adcbe76a680c09def45d56b21336cc8f5">getInputExpr</a>(<span class="keywordtype">unsigned</span> i);</div>
+<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1GCCAsmStmt.html#a8722f2bfc12ec4e4591794056c13e5c2">setInputExpr</a>(<span class="keywordtype">unsigned</span> i, <a class="code" href="classclang_1_1Expr.html">Expr</a> *E);</div>
+<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> </div>
+<div class="line"><a name="l01636"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a54383c3413697429d4b068a3b740b95f"> 1636</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#a54383c3413697429d4b068a3b740b95f">getInputExpr</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1GCCAsmStmt.html">GCCAsmStmt</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1GCCAsmStmt.html#adcbe76a680c09def45d56b21336cc8f5">getInputExpr</a>(i);</div>
+<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>   }</div>
+<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span> </div>
+<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>   <span class="keywordtype">void</span> setOutputsAndInputsAndClobbers(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C,</div>
+<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>                                       <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> **Names,</div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>                                       <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> **Constraints,</div>
+<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>                                       <a class="code" href="classclang_1_1Stmt.html">Stmt</a> **<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>,</div>
+<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>                                       <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>,</div>
+<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>                                       <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a>,</div>
+<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>                                       <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> **Clobbers,</div>
+<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>                                       <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1AsmStmt.html#acb2b8e59f193e8d44a2c21fa5ee31d5a">NumClobbers</a>);</div>
+<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> </div>
+<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>   <span class="comment">//===--- Other ---===//</span></div>
+<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> <span class="comment"></span></div>
+<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> <span class="comment">  /// getNamedOperand - Given a symbolic operand reference like %[foo],</span></div>
+<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> <span class="comment">  /// translate this into a numeric value needed to reference the same operand.</span></div>
+<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span> <span class="comment">  /// This returns -1 if the operand name is invalid.</span></div>
+<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="classclang_1_1GCCAsmStmt.html#a295d42cdf6f96a1155ddf24f711b7077">getNamedOperand</a>(StringRef SymbolicName) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span> </div>
+<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>   StringRef <a class="code" href="classclang_1_1GCCAsmStmt.html#aa589bd466123621e0f4fb519e0c2f58e">getClobber</a>(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01659"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#ae838f0e69f371acf05ba123537c31130"> 1659</a></span>   <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#ae838f0e69f371acf05ba123537c31130">getClobberStringLiteral</a>(<span class="keywordtype">unsigned</span> i) { <span class="keywordflow">return</span> Clobbers[i]; }</div>
+<div class="line"><a name="l01660"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a16862ea08a5d41fe95073c0ba06339c3"> 1660</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1StringLiteral.html">StringLiteral</a> *<a class="code" href="classclang_1_1GCCAsmStmt.html#a16862ea08a5d41fe95073c0ba06339c3">getClobberStringLiteral</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>     <span class="keywordflow">return</span> Clobbers[i];</div>
+<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>   }</div>
+<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> </div>
+<div class="line"><a name="l01664"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#ae9575e96cd1c048aee4062dde6966a52"> 1664</a></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> <a class="code" href="classclang_1_1GCCAsmStmt.html#ae9575e96cd1c048aee4062dde6966a52">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1AsmStmt.html#a306a602e455ca6dffbf9fba7e3923ebc">AsmLoc</a>; }</div>
+<div class="line"><a name="l01665"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#a16300b5eb7afc78f511ede3fc5e54810"> 1665</a></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> <a class="code" href="classclang_1_1GCCAsmStmt.html#a16300b5eb7afc78f511ede3fc5e54810">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> RParenLoc; }</div>
+<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span> </div>
+<div class="line"><a name="l01667"></a><span class="lineno"><a class="code" href="classclang_1_1GCCAsmStmt.html#aa1f8cd504d20c71df3b0ef0019d5d95b"> 1667</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1GCCAsmStmt.html#aa1f8cd504d20c71df3b0ef0019d5d95b">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == GCCAsmStmtClass;</div>
+<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>   }</div>
+<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span> };</div>
+<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span> <span class="comment"></span></div>
+<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> <span class="comment">/// This represents a Microsoft inline-assembly statement extension.</span></div>
+<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01674"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html"> 1674</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1MSAsmStmt.html">MSAsmStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1AsmStmt.html">AsmStmt</a> {</div>
+<div class="line"><a name="l01675"></a><span class="lineno"> 1675</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> LBraceLoc, EndLoc;</div>
+<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>   StringRef AsmStr;</div>
+<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> </div>
+<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>   <span class="keywordtype">unsigned</span> NumAsmToks;</div>
+<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> </div>
+<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>   <a class="code" href="classclang_1_1Token.html">Token</a> *AsmToks;</div>
+<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>   StringRef *Constraints;</div>
+<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>   StringRef *Clobbers;</div>
+<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> </div>
+<div class="line"><a name="l01684"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#ad6427d648931017bffcb2f90b8930f9d"> 1684</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> </div>
+<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>   <a class="code" href="classclang_1_1MSAsmStmt.html#adf2ef38b7afefe68548ecf589f154d79">MSAsmStmt</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <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> asmloc,</div>
+<div class="line"><a name="l01688"></a><span class="lineno"> 1688</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> lbraceloc, <span class="keywordtype">bool</span> issimple, <span class="keywordtype">bool</span> isvolatile,</div>
+<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>             <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Token></a> asmtoks, <span class="keywordtype">unsigned</span> numoutputs, <span class="keywordtype">unsigned</span> numinputs,</div>
+<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>             <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a> constraints,</div>
+<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>             <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Expr*></a> exprs, StringRef asmstr,</div>
+<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>             <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a> clobbers, <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> endloc);</div>
+<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span> <span class="comment"></span></div>
+<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span> <span class="comment">  /// \brief Build an empty MS-style inline-assembly statement.</span></div>
+<div class="line"><a name="l01695"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#af02affd9b4d89e0d2efca451fe2212e5"> 1695</a></span> <span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classclang_1_1MSAsmStmt.html#adf2ef38b7afefe68548ecf589f154d79">MSAsmStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty) : <a class="code" href="classclang_1_1AsmStmt.html">AsmStmt</a>(MSAsmStmtClass, Empty),</div>
+<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>     NumAsmToks(0), AsmToks(0), Constraints(0), Clobbers(0) { }</div>
+<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> </div>
+<div class="line"><a name="l01698"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#aae227c3e83b2aaa766b0b14bc51bd072"> 1698</a></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> <a class="code" href="classclang_1_1MSAsmStmt.html#aae227c3e83b2aaa766b0b14bc51bd072">getLBraceLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LBraceLoc; }</div>
+<div class="line"><a name="l01699"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#ae95f0c8c389fcbfb62ed1abdfc721389"> 1699</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1MSAsmStmt.html#ae95f0c8c389fcbfb62ed1abdfc721389">setLBraceLoc</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> L) { LBraceLoc = L; }</div>
+<div class="line"><a name="l01700"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#afd7a1136aa59ff4783161e22f02bedfd"> 1700</a></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> <a class="code" href="classclang_1_1MSAsmStmt.html#afd7a1136aa59ff4783161e22f02bedfd">getEndLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> EndLoc; }</div>
+<div class="line"><a name="l01701"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#a993e87881a064cb3020c71bb5e77bc23"> 1701</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1MSAsmStmt.html#a993e87881a064cb3020c71bb5e77bc23">setEndLoc</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> L) { EndLoc = L; }</div>
+<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> </div>
+<div class="line"><a name="l01703"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#ab4b8d0543d24c1a388f1beb6806693a8"> 1703</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1MSAsmStmt.html#ab4b8d0543d24c1a388f1beb6806693a8">hasBraces</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LBraceLoc.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>(); }</div>
+<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> </div>
+<div class="line"><a name="l01705"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#ae1609f352c09abbb739ee98325dff1a6"> 1705</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1MSAsmStmt.html#ae1609f352c09abbb739ee98325dff1a6">getNumAsmToks</a>() { <span class="keywordflow">return</span> NumAsmToks; }</div>
+<div class="line"><a name="l01706"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#af42b761402530182c4d4bb4fb2b8a2e5"> 1706</a></span>   <a class="code" href="classclang_1_1Token.html">Token</a> *<a class="code" href="classclang_1_1MSAsmStmt.html#af42b761402530182c4d4bb4fb2b8a2e5">getAsmToks</a>() { <span class="keywordflow">return</span> AsmToks; }</div>
+<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> </div>
+<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>   <span class="comment">//===--- Asm String Analysis ---===//</span></div>
+<div class="line"><a name="l01709"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#ac51e462b8152aa3e7f691dab4c35c2e3"> 1709</a></span>   StringRef <a class="code" href="classclang_1_1MSAsmStmt.html#ac51e462b8152aa3e7f691dab4c35c2e3">getAsmString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> AsmStr; }</div>
+<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> <span class="comment"></span></div>
+<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> <span class="comment">  /// Assemble final IR asm string.</span></div>
+<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1MSAsmStmt.html#ae8a86266285f3aa3cdc915b8d4a69e24" title="Assemble final IR asm string.">generateAsmString</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> </div>
+<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>   <span class="comment">//===--- Output operands ---===//</span></div>
+<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> </div>
+<div class="line"><a name="l01716"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#aaab4166691ab4403b89052ac330542e2"> 1716</a></span>   StringRef <a class="code" href="classclang_1_1MSAsmStmt.html#aaab4166691ab4403b89052ac330542e2">getOutputConstraint</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>     assert(i < <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>);</div>
+<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>     <span class="keywordflow">return</span> Constraints[i];</div>
+<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>   }</div>
+<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> </div>
+<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1MSAsmStmt.html#a0f3377ea2ccfdadc01dc4af4380746dd">getOutputExpr</a>(<span class="keywordtype">unsigned</span> i);</div>
+<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> </div>
+<div class="line"><a name="l01723"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#a06ba51cc18cf15bb6165e838e65748d3"> 1723</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1MSAsmStmt.html#a06ba51cc18cf15bb6165e838e65748d3">getOutputExpr</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1MSAsmStmt.html">MSAsmStmt</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1MSAsmStmt.html#a0f3377ea2ccfdadc01dc4af4380746dd">getOutputExpr</a>(i);</div>
+<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>   }</div>
+<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> </div>
+<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>   <span class="comment">//===--- Input operands ---===//</span></div>
+<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> </div>
+<div class="line"><a name="l01729"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#ac662504391a5e892be76b7d1ccc89e73"> 1729</a></span>   StringRef <a class="code" href="classclang_1_1MSAsmStmt.html#ac662504391a5e892be76b7d1ccc89e73">getInputConstraint</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>     assert(i < <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a>);</div>
+<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>     <span class="keywordflow">return</span> Constraints[i + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>];</div>
+<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>   }</div>
+<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> </div>
+<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1MSAsmStmt.html#afba64c9a1224e36c2bcc53410c676a15">getInputExpr</a>(<span class="keywordtype">unsigned</span> i);</div>
+<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1MSAsmStmt.html#a9b15a9e75cf5b44076c46a4950282888">setInputExpr</a>(<span class="keywordtype">unsigned</span> i, <a class="code" href="classclang_1_1Expr.html">Expr</a> *E);</div>
+<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> </div>
+<div class="line"><a name="l01737"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#a60c78db190e71951c369dd292c9bb4cd"> 1737</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1MSAsmStmt.html#a60c78db190e71951c369dd292c9bb4cd">getInputExpr</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1MSAsmStmt.html">MSAsmStmt</a>*<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1MSAsmStmt.html#afba64c9a1224e36c2bcc53410c676a15">getInputExpr</a>(i);</div>
+<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>   }</div>
+<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> </div>
+<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>   <span class="comment">//===--- Other ---===//</span></div>
+<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span> </div>
+<div class="line"><a name="l01743"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#ae7232ecc0b060886cba331da09589c11"> 1743</a></span>   <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a> <a class="code" href="classclang_1_1MSAsmStmt.html#ae7232ecc0b060886cba331da09589c11">getAllConstraints</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a>(Constraints, <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a> + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>);</div>
+<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>   }</div>
+<div class="line"><a name="l01746"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#a2e227c8cf24a6d3a166a09f840a2f676"> 1746</a></span>   <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a> <a class="code" href="classclang_1_1MSAsmStmt.html#a2e227c8cf24a6d3a166a09f840a2f676">getClobbers</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a>(Clobbers, <a class="code" href="classclang_1_1AsmStmt.html#acb2b8e59f193e8d44a2c21fa5ee31d5a">NumClobbers</a>);</div>
+<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>   }</div>
+<div class="line"><a name="l01749"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#a2ec44f52d668f7053d9c7ec31b7ef211"> 1749</a></span>   <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Expr*></a> <a class="code" href="classclang_1_1MSAsmStmt.html#a2ec44f52d668f7053d9c7ec31b7ef211">getAllExprs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Expr*></a>(<span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>**<span class="keyword">></span>(<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>),</div>
+<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>                            <a class="code" href="classclang_1_1AsmStmt.html#a750a6360589f176f20d672855fbeba9f">NumInputs</a> + <a class="code" href="classclang_1_1AsmStmt.html#abfdca4e61a5ab142c1e4cca76629b0ba">NumOutputs</a>);</div>
+<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>   }</div>
+<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> </div>
+<div class="line"><a name="l01754"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#acc3b7769334cd9a2eeea076a18597263"> 1754</a></span>   StringRef <a class="code" href="classclang_1_1MSAsmStmt.html#acc3b7769334cd9a2eeea076a18597263">getClobber</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1MSAsmStmt.html#a2e227c8cf24a6d3a166a09f840a2f676">getClobbers</a>()[i]; }</div>
+<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> </div>
+<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>   <span class="keywordtype">void</span> initialize(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, StringRef AsmString,</div>
+<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>                   <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Token></a> AsmToks, <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a> Constraints,</div>
+<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>                   <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Expr*></a> <a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>, <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a> Clobbers);</div>
+<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> </div>
+<div class="line"><a name="l01762"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#a05e78e908863543e6923f5b311296765"> 1762</a></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> <a class="code" href="classclang_1_1MSAsmStmt.html#a05e78e908863543e6923f5b311296765">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1AsmStmt.html#a306a602e455ca6dffbf9fba7e3923ebc">AsmLoc</a>; }</div>
+<div class="line"><a name="l01763"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#a8583160918a162d650f3f4411c4badd8"> 1763</a></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> <a class="code" href="classclang_1_1MSAsmStmt.html#a8583160918a162d650f3f4411c4badd8">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> EndLoc; }</div>
+<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> </div>
+<div class="line"><a name="l01765"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#ad289f48d03c6ddb6a526a7e3511238c3"> 1765</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1MSAsmStmt.html#ad289f48d03c6ddb6a526a7e3511238c3">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == MSAsmStmtClass;</div>
+<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>   }</div>
+<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> </div>
+<div class="line"><a name="l01769"></a><span class="lineno"><a class="code" href="classclang_1_1MSAsmStmt.html#a3f556fbbd05d366bf77368f3475105a1"> 1769</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1MSAsmStmt.html#a3f556fbbd05d366bf77368f3475105a1">children</a>() {</div>
+<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0], &<a class="code" href="classclang_1_1AsmStmt.html#a1496fa0f69c24e933b7590b46bdc3fe3">Exprs</a>[0]);</div>
+<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>   }</div>
+<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> };</div>
+<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> </div>
+<div class="line"><a name="l01774"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html"> 1774</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1SEHExceptStmt.html">SEHExceptStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01775"></a><span class="lineno"> 1775</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="l01776"></a><span class="lineno"> 1776</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>           *Children[2];</div>
+<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> </div>
+<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>   <span class="keyword">enum</span> { FILTER_EXPR, BLOCK };</div>
+<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> </div>
+<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>   <a class="code" href="classclang_1_1SEHExceptStmt.html">SEHExceptStmt</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="l01781"></a><span class="lineno"> 1781</span>                 <a class="code" href="classclang_1_1Expr.html">Expr</a> *FilterExpr,</div>
+<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>                 <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Block);</div>
+<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> </div>
+<div class="line"><a name="l01784"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#a5d8560551ea81515968dd468e2e4082e"> 1784</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a>;</div>
+<div class="line"><a name="l01785"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#ad6427d648931017bffcb2f90b8930f9d"> 1785</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1SEHExceptStmt.html">SEHExceptStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> E) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(SEHExceptStmtClass, E) { }</div>
+<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> </div>
+<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1SEHExceptStmt.html">SEHExceptStmt</a>* <a class="code" href="classclang_1_1SEHExceptStmt.html#a9498782af69e8deabc0aa9cd0609eda5">Create</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C,</div>
+<div class="line"><a name="l01790"></a><span class="lineno"> 1790</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> ExceptLoc,</div>
+<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>                                <a class="code" href="classclang_1_1Expr.html">Expr</a> *FilterExpr,</div>
+<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>                                <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Block);</div>
+<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> </div>
+<div class="line"><a name="l01794"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#a4ef2b83d3588e1cfc72f20febf4d8c50"> 1794</a></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> <a class="code" href="classclang_1_1SEHExceptStmt.html#a4ef2b83d3588e1cfc72f20febf4d8c50">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SEHExceptStmt.html#a4da398fa6ceff41ba74d821191d8512c">getExceptLoc</a>(); }</div>
+<div class="line"><a name="l01795"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#a476325039b43436b3387a2264ab3594a"> 1795</a></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> <a class="code" href="classclang_1_1SEHExceptStmt.html#a476325039b43436b3387a2264ab3594a">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SEHExceptStmt.html#a5fdf6db27a24340aece2193cd7f02570">getEndLoc</a>(); }</div>
+<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> </div>
+<div class="line"><a name="l01797"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#a4da398fa6ceff41ba74d821191d8512c"> 1797</a></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> <a class="code" href="classclang_1_1SEHExceptStmt.html#a4da398fa6ceff41ba74d821191d8512c">getExceptLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Loc; }</div>
+<div class="line"><a name="l01798"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#a5fdf6db27a24340aece2193cd7f02570"> 1798</a></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> <a class="code" href="classclang_1_1SEHExceptStmt.html#a5fdf6db27a24340aece2193cd7f02570">getEndLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SEHExceptStmt.html#a025d60ee24d100eae6eef8c6c0b8c05b">getBlock</a>()-><a class="code" href="classclang_1_1CompoundStmt.html#ae17ff1ae046ccf2363ecd24d55da586d">getLocEnd</a>(); }</div>
+<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> </div>
+<div class="line"><a name="l01800"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#ad8e1183d674e227f8b47a49bf2cb8214"> 1800</a></span>   <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1SEHExceptStmt.html#ad8e1183d674e227f8b47a49bf2cb8214">getFilterExpr</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a>*<span class="keyword">></span>(Children[FILTER_EXPR]);</div>
+<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>   }</div>
+<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span> </div>
+<div class="line"><a name="l01804"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#a025d60ee24d100eae6eef8c6c0b8c05b"> 1804</a></span>   <a class="code" href="classclang_1_1CompoundStmt.html">CompoundStmt</a> *<a class="code" href="classclang_1_1SEHExceptStmt.html#a025d60ee24d100eae6eef8c6c0b8c05b">getBlock</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>     <span class="keywordflow">return</span> cast<CompoundStmt>(Children[<a class="code" href="Template_8h.html#aed31b0aae3b75e71601a579bec5040b0">BLOCK</a>]);</div>
+<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>   }</div>
+<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span> </div>
+<div class="line"><a name="l01808"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#a20c2a2c1160ea9db3c5fc69a727aead4"> 1808</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1SEHExceptStmt.html#a20c2a2c1160ea9db3c5fc69a727aead4">children</a>() {</div>
+<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(Children,Children+2);</div>
+<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>   }</div>
+<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span> </div>
+<div class="line"><a name="l01812"></a><span class="lineno"><a class="code" href="classclang_1_1SEHExceptStmt.html#adb8ac31d262fa7ea9e2262d9e2a7a55c"> 1812</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1SEHExceptStmt.html#adb8ac31d262fa7ea9e2262d9e2a7a55c">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == SEHExceptStmtClass;</div>
+<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>   }</div>
+<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> </div>
+<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> };</div>
+<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> </div>
+<div class="line"><a name="l01818"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html"> 1818</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1SEHFinallyStmt.html">SEHFinallyStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01819"></a><span class="lineno"> 1819</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="l01820"></a><span class="lineno"> 1820</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>           *Block;</div>
+<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span> </div>
+<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>   <a class="code" href="classclang_1_1SEHFinallyStmt.html">SEHFinallyStmt</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="l01823"></a><span class="lineno"> 1823</span>                  <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Block);</div>
+<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> </div>
+<div class="line"><a name="l01825"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html#a5d8560551ea81515968dd468e2e4082e"> 1825</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a>;</div>
+<div class="line"><a name="l01826"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html#ad6427d648931017bffcb2f90b8930f9d"> 1826</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1SEHFinallyStmt.html">SEHFinallyStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> E) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(SEHFinallyStmtClass, E) { }</div>
+<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> </div>
+<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1SEHFinallyStmt.html">SEHFinallyStmt</a>* <a class="code" href="classclang_1_1SEHFinallyStmt.html#ab35627b0ccbffcc4826c2fca2316d7a0">Create</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C,</div>
+<div class="line"><a name="l01831"></a><span class="lineno"> 1831</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> FinallyLoc,</div>
+<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>                                 <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Block);</div>
+<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> </div>
+<div class="line"><a name="l01834"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html#afe7572d1ffaac557d212f5d814cb77d6"> 1834</a></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> <a class="code" href="classclang_1_1SEHFinallyStmt.html#afe7572d1ffaac557d212f5d814cb77d6">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SEHFinallyStmt.html#a630e6eb775ba4e57bc256666332c85cc">getFinallyLoc</a>(); }</div>
+<div class="line"><a name="l01835"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html#a3282f4bb6d3be39b5ad71b67847ccc42"> 1835</a></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> <a class="code" href="classclang_1_1SEHFinallyStmt.html#a3282f4bb6d3be39b5ad71b67847ccc42">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SEHFinallyStmt.html#a7497d9138f6bd27ba0c3a56b916c7388">getEndLoc</a>(); }</div>
+<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> </div>
+<div class="line"><a name="l01837"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html#a630e6eb775ba4e57bc256666332c85cc"> 1837</a></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> <a class="code" href="classclang_1_1SEHFinallyStmt.html#a630e6eb775ba4e57bc256666332c85cc">getFinallyLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Loc; }</div>
+<div class="line"><a name="l01838"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html#a7497d9138f6bd27ba0c3a56b916c7388"> 1838</a></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> <a class="code" href="classclang_1_1SEHFinallyStmt.html#a7497d9138f6bd27ba0c3a56b916c7388">getEndLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Block-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>(); }</div>
+<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> </div>
+<div class="line"><a name="l01840"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html#afddb39b3530b6a5abec2bbc3309bc24f"> 1840</a></span>   <a class="code" href="classclang_1_1CompoundStmt.html">CompoundStmt</a> *<a class="code" href="classclang_1_1SEHFinallyStmt.html#afddb39b3530b6a5abec2bbc3309bc24f">getBlock</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> cast<CompoundStmt>(Block); }</div>
+<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span> </div>
+<div class="line"><a name="l01842"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html#a23ec0c6c91f1b843aaeadfbd4b632ba5"> 1842</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1SEHFinallyStmt.html#a23ec0c6c91f1b843aaeadfbd4b632ba5">children</a>() {</div>
+<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(&Block,&Block+1);</div>
+<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>   }</div>
+<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span> </div>
+<div class="line"><a name="l01846"></a><span class="lineno"><a class="code" href="classclang_1_1SEHFinallyStmt.html#ac36deeeae8deefc507c2c27390bb9be1"> 1846</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1SEHFinallyStmt.html#ac36deeeae8deefc507c2c27390bb9be1">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == SEHFinallyStmtClass;</div>
+<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>   }</div>
+<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> </div>
+<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span> };</div>
+<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> </div>
+<div class="line"><a name="l01852"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html"> 1852</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1SEHTryStmt.html">SEHTryStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>   <span class="keywordtype">bool</span>            IsCXXTry;</div>
+<div class="line"><a name="l01854"></a><span class="lineno"> 1854</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>  TryLoc;</div>
+<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a>           *Children[2];</div>
+<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> </div>
+<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>   <span class="keyword">enum</span> { TRY = 0, HANDLER = 1 };</div>
+<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> </div>
+<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>   <a class="code" href="classclang_1_1SEHTryStmt.html">SEHTryStmt</a>(<span class="keywordtype">bool</span> isCXXTry, <span class="comment">// true if 'try' otherwise '__try'</span></div>
+<div class="line"><a name="l01860"></a><span class="lineno"> 1860</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> TryLoc,</div>
+<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>              <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *TryBlock,</div>
+<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>              <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Handler);</div>
+<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span> </div>
+<div class="line"><a name="l01864"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#a5d8560551ea81515968dd468e2e4082e"> 1864</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a>;</div>
+<div class="line"><a name="l01865"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#ad6427d648931017bffcb2f90b8930f9d"> 1865</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1SEHTryStmt.html">SEHTryStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> E) : <a class="code" href="classclang_1_1Stmt.html">Stmt</a>(SEHTryStmtClass, E) { }</div>
+<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span> </div>
+<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1SEHTryStmt.html">SEHTryStmt</a>* <a class="code" href="classclang_1_1SEHTryStmt.html#aceaeb6d0a7fcf8d37dd52624aad7cf90">Create</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &C, <span class="keywordtype">bool</span> isCXXTry,</div>
+<div class="line"><a name="l01870"></a><span class="lineno"> 1870</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> TryLoc, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *TryBlock,</div>
+<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>                             <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Handler);</div>
+<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> </div>
+<div class="line"><a name="l01873"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#ae28777daf5cd0e589f294883914e02c4"> 1873</a></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> <a class="code" href="classclang_1_1SEHTryStmt.html#ae28777daf5cd0e589f294883914e02c4">getLocStart</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SEHTryStmt.html#a854c7aee881339d7de78c0d5bb391483">getTryLoc</a>(); }</div>
+<div class="line"><a name="l01874"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#a73bf77720c6cfa279e4667ee491e472c"> 1874</a></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> <a class="code" href="classclang_1_1SEHTryStmt.html#a73bf77720c6cfa279e4667ee491e472c">getLocEnd</a>() const LLVM_READONLY { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SEHTryStmt.html#a77d5502c971668c09c9ee308775d7800">getEndLoc</a>(); }</div>
+<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span> </div>
+<div class="line"><a name="l01876"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#a854c7aee881339d7de78c0d5bb391483"> 1876</a></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> <a class="code" href="classclang_1_1SEHTryStmt.html#a854c7aee881339d7de78c0d5bb391483">getTryLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TryLoc; }</div>
+<div class="line"><a name="l01877"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#a77d5502c971668c09c9ee308775d7800"> 1877</a></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> <a class="code" href="classclang_1_1SEHTryStmt.html#a77d5502c971668c09c9ee308775d7800">getEndLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Children[HANDLER]-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>(); }</div>
+<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> </div>
+<div class="line"><a name="l01879"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#a062ccae8bb5ea8b8074b76858e80be3c"> 1879</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1SEHTryStmt.html#a062ccae8bb5ea8b8074b76858e80be3c">getIsCXXTry</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> IsCXXTry; }</div>
+<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> </div>
+<div class="line"><a name="l01881"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#a5c9e11073337c61581fc8548bffe425c"> 1881</a></span>   <a class="code" href="classclang_1_1CompoundStmt.html">CompoundStmt</a>* <a class="code" href="classclang_1_1SEHTryStmt.html#a5c9e11073337c61581fc8548bffe425c">getTryBlock</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>     <span class="keywordflow">return</span> cast<CompoundStmt>(Children[TRY]);</div>
+<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>   }</div>
+<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> </div>
+<div class="line"><a name="l01885"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#a23e0a1a62ec7230219d44fa11921977f"> 1885</a></span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1SEHTryStmt.html#a23e0a1a62ec7230219d44fa11921977f">getHandler</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Children[HANDLER]; }</div>
+<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span> <span class="comment"></span></div>
+<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> <span class="comment">  /// Returns 0 if not defined</span></div>
+<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> <span class="comment"></span>  <a class="code" href="classclang_1_1SEHExceptStmt.html">SEHExceptStmt</a>  *<a class="code" href="classclang_1_1SEHTryStmt.html#ad80438bc36defaa10603019d3947805a" title="Returns 0 if not defined.">getExceptHandler</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>   <a class="code" href="classclang_1_1SEHFinallyStmt.html">SEHFinallyStmt</a> *<a class="code" href="classclang_1_1SEHTryStmt.html#abbbef70c58278bf3ca54ae774834040e">getFinallyHandler</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> </div>
+<div class="line"><a name="l01891"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#a04f729987745b71a875039790051707b"> 1891</a></span>   <a class="code" href="structclang_1_1StmtRange.html">child_range</a> <a class="code" href="classclang_1_1SEHTryStmt.html#a04f729987745b71a875039790051707b">children</a>() {</div>
+<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a>(Children,Children+2);</div>
+<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>   }</div>
+<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span> </div>
+<div class="line"><a name="l01895"></a><span class="lineno"><a class="code" href="classclang_1_1SEHTryStmt.html#a22acce2d068b84f8ab0102173bb152d7"> 1895</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1SEHTryStmt.html#a22acce2d068b84f8ab0102173bb152d7">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == SEHTryStmtClass;</div>
+<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>   }</div>
+<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> };</div>
+<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> <span class="comment"></span></div>
+<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> <span class="comment">/// \brief This captures a statement into a function. For example, the following</span></div>
+<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span> <span class="comment">/// pragma annotated compound statement can be represented as a CapturedStmt,</span></div>
+<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> <span class="comment">/// and this compound statement is the body of an anonymous outlined function.</span></div>
+<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> <span class="comment">/// @code</span></div>
+<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> <span class="comment">/// #pragma omp parallel</span></div>
+<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> <span class="comment">/// {</span></div>
+<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> <span class="comment">///   compute();</span></div>
+<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span> <span class="comment">/// }</span></div>
+<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span> <span class="comment">/// @endcode</span></div>
+<div class="line"><a name="l01909"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html"> 1909</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1CapturedStmt.html" title="This captures a statement into a function. For example, the following pragma annotated compound state...">CapturedStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> {</div>
+<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> <span class="comment">  /// \brief The different capture forms: by 'this' or by reference, etc.</span></div>
+<div class="line"><a name="l01912"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681"> 1912</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681" title="The different capture forms: by 'this' or by reference, etc.">VariableCaptureKind</a> {</div>
+<div class="line"><a name="l01913"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681a9b3af94196bbfd960c48ad3a3ae50fbd"> 1913</a></span>     <a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681a9b3af94196bbfd960c48ad3a3ae50fbd">VCK_This</a>,</div>
+<div class="line"><a name="l01914"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681a9a062a93945b17ad9e1f18d28301a1d2"> 1914</a></span>     <a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681a9a062a93945b17ad9e1f18d28301a1d2">VCK_ByRef</a></div>
+<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>   };</div>
+<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> <span class="comment"></span></div>
+<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> <span class="comment">  /// \brief Describes the capture of either a variable or 'this'.</span></div>
+<div class="line"><a name="l01918"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html"> 1918</a></span> <span class="comment"></span>  <span class="keyword">class </span><a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html" title="Describes the capture of either a variable or 'this'.">Capture</a> {</div>
+<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>     llvm::PointerIntPair<VarDecl *, 1, VariableCaptureKind> VarAndKind;</div>
+<div class="line"><a name="l01920"></a><span class="lineno"> 1920</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="l01921"></a><span class="lineno"> 1921</span> </div>
+<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>   <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> <span class="comment">    /// \brief Create a new capture.</span></div>
+<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> <span class="comment">    /// \param Loc The source location associated with this capture.</span></div>
+<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> <span class="comment">    /// \param Kind The kind of capture (this, ByRef, ...).</span></div>
+<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> <span class="comment">    /// \param Var The variable being captured, or null if capturing this.</span></div>
+<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l01931"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#aa8cf5b3f5f6c4248af1aebb49dc84359"> 1931</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#aa8cf5b3f5f6c4248af1aebb49dc84359" title="Create a new capture.">Capture</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, <a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681" title="The different capture forms: by 'this' or by reference, etc.">VariableCaptureKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *Var = 0)</div>
+<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>       : VarAndKind(Var, Kind), Loc(Loc) {</div>
+<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>       <span class="keywordflow">switch</span> (Kind) {</div>
+<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>       <span class="keywordflow">case</span> <a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681a9b3af94196bbfd960c48ad3a3ae50fbd">VCK_This</a>:</div>
+<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>         assert(Var == 0 && <span class="stringliteral">"'this' capture cannot have a variable!"</span>);</div>
+<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>       <span class="keywordflow">case</span> <a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681a9a062a93945b17ad9e1f18d28301a1d2">VCK_ByRef</a>:</div>
+<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>         assert(Var && <span class="stringliteral">"capturing by reference must have a variable!"</span>);</div>
+<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>       }</div>
+<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>     }</div>
+<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span> <span class="comment"></span></div>
+<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> <span class="comment">    /// \brief Determine the kind of capture.</span></div>
+<div class="line"><a name="l01944"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#af39d72ca97bfb95c78b6ce68fb4b2560"> 1944</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681" title="The different capture forms: by 'this' or by reference, etc.">VariableCaptureKind</a> <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#af39d72ca97bfb95c78b6ce68fb4b2560" title="Determine the kind of capture.">getCaptureKind</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> VarAndKind.getInt(); }</div>
+<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> <span class="comment"></span></div>
+<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> <span class="comment">    /// \brief Retrieve the source location at which the variable or 'this' was</span></div>
+<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> <span class="comment">    /// first used.</span></div>
+<div class="line"><a name="l01948"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#a3ab9175f6deaad3071649a3390d6dbb6"> 1948</a></span> <span class="comment"></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> <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#a3ab9175f6deaad3071649a3390d6dbb6" title="Retrieve the source location at which the variable or 'this' was first used.">getLocation</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Loc; }</div>
+<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> <span class="comment"></span></div>
+<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> <span class="comment">    /// \brief Determine whether this capture handles the C++ 'this' pointer.</span></div>
+<div class="line"><a name="l01951"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#a03e9c4049bafc994c41db716afc6f2c2"> 1951</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#a03e9c4049bafc994c41db716afc6f2c2" title="Determine whether this capture handles the C++ 'this' pointer.">capturesThis</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#af39d72ca97bfb95c78b6ce68fb4b2560" title="Determine the kind of capture.">getCaptureKind</a>() == <a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681a9b3af94196bbfd960c48ad3a3ae50fbd">VCK_This</a>; }</div>
+<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> <span class="comment"></span></div>
+<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> <span class="comment">    /// \brief Determine whether this capture handles a variable.</span></div>
+<div class="line"><a name="l01954"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#add6340dfa0e0528de4b339840bbc2a27"> 1954</a></span> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#add6340dfa0e0528de4b339840bbc2a27" title="Determine whether this capture handles a variable.">capturesVariable</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#af39d72ca97bfb95c78b6ce68fb4b2560" title="Determine the kind of capture.">getCaptureKind</a>() != <a class="code" href="classclang_1_1CapturedStmt.html#afb747ec45133369cb19bdfa42d05b681a9b3af94196bbfd960c48ad3a3ae50fbd">VCK_This</a>; }</div>
+<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> <span class="comment"></span></div>
+<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> <span class="comment">    /// \brief Retrieve the declaration of the variable being captured.</span></div>
+<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span> <span class="comment">    /// This operation is only valid if this capture does not capture 'this'.</span></div>
+<div class="line"><a name="l01959"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#a54455ccc8b91830833c4faa7c3535f4a"> 1959</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *<a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#a54455ccc8b91830833c4faa7c3535f4a" title="Retrieve the declaration of the variable being captured.">getCapturedVar</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>       assert(!<a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#a03e9c4049bafc994c41db716afc6f2c2" title="Determine whether this capture handles the C++ 'this' pointer.">capturesThis</a>() && <span class="stringliteral">"No variable available for 'this' capture"</span>);</div>
+<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>       <span class="keywordflow">return</span> VarAndKind.getPointer();</div>
+<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>     }</div>
+<div class="line"><a name="l01963"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html#ad6427d648931017bffcb2f90b8930f9d"> 1963</a></span>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>   };</div>
+<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> </div>
+<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span> <span class="comment">  /// \brief The number of variable captured, including 'this'.</span></div>
+<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> NumCaptures;</div>
+<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> <span class="comment"></span></div>
+<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> <span class="comment">  /// \brief The pointer part is the implicit the outlined function and the </span></div>
+<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span> <span class="comment">  /// int part is the captured region kind, 'CR_Default' etc.</span></div>
+<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> <span class="comment"></span>  llvm::PointerIntPair<CapturedDecl *, 1, CapturedRegionKind> CapDeclAndKind;</div>
+<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> <span class="comment"></span></div>
+<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="comment">  /// \brief The record for captured variables, a RecordDecl or CXXRecordDecl.</span></div>
+<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span> <span class="comment"></span>  <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *TheRecordDecl;</div>
+<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> <span class="comment"></span></div>
+<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span> <span class="comment">  /// \brief Construct a captured statement.</span></div>
+<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span> <span class="comment"></span>  <a class="code" href="classclang_1_1CapturedStmt.html" title="This captures a statement into a function. For example, the following pragma annotated compound state...">CapturedStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>, <a class="code" href="namespaceclang.html#a52df778f2a9b540afde2bc183e9c2075" title="The different kinds of captured statement.">CapturedRegionKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Capture></a> Captures,</div>
+<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>                <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<Expr *></a> CaptureInits, <a class="code" href="classclang_1_1CapturedDecl.html" title="This represents the body of a CapturedStmt, and serves as its DeclContext.">CapturedDecl</a> *CD, <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *RD);</div>
+<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span> <span class="comment"></span></div>
+<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> <span class="comment">  /// \brief Construct an empty captured statement.</span></div>
+<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span> <span class="comment"></span>  <a class="code" href="classclang_1_1CapturedStmt.html" title="This captures a statement into a function. For example, the following pragma annotated compound state...">CapturedStmt</a>(<a class="code" href="structclang_1_1Stmt_1_1EmptyShell.html" title="A placeholder type used to construct an empty shell of a type, that will be filled in later (e...">EmptyShell</a> Empty, <span class="keywordtype">unsigned</span> NumCaptures);</div>
+<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> </div>
+<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>   <a class="code" href="classclang_1_1Stmt.html">Stmt</a> **getStoredStmts()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Stmt.html">Stmt</a> **<span class="keyword">></span>(<span class="keyword">const_cast<</span><a class="code" href="classclang_1_1CapturedStmt.html" title="This captures a statement into a function. For example, the following pragma annotated compound state...">CapturedStmt</a> *<span class="keyword">></span>(<span class="keyword">this</span>) + 1);</div>
+<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>   }</div>
+<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span> </div>
+<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>   Capture *getStoredCaptures() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> </div>
+<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>   <span class="keywordtype">void</span> setCapturedStmt(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) { getStoredStmts()[NumCaptures] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>; }</div>
+<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> </div>
+<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>   <span class="keyword">static</span> CapturedStmt *<a class="code" href="classclang_1_1CapturedStmt.html#abb6962831b28edf01967311a9ec524e9">Create</a>(<span class="keyword">const</span> ASTContext &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>, <a class="code" href="classclang_1_1Stmt.html#a84ec094b6832b4912e576eae8c0dab8e" title="Construct an empty statement.">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>,</div>
+<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>                               <a class="code" href="namespaceclang.html#a52df778f2a9b540afde2bc183e9c2075" title="The different kinds of captured statement.">CapturedRegionKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>,</div>
+<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>                               ArrayRef<Capture> Captures,</div>
+<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>                               ArrayRef<Expr *> CaptureInits,</div>
+<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>                               CapturedDecl *CD, RecordDecl *RD);</div>
+<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> </div>
+<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>   <span class="keyword">static</span> CapturedStmt *<a class="code" href="classclang_1_1CapturedStmt.html#a0a2584a53abf8665afd008b0e6f05e58">CreateDeserialized</a>(<span class="keyword">const</span> ASTContext &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>,</div>
+<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>                                           <span class="keywordtype">unsigned</span> NumCaptures);</div>
+<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> <span class="comment"></span></div>
+<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span> <span class="comment">  /// \brief Retrieve the statement being captured.</span></div>
+<div class="line"><a name="l02003"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#ae8ade9cc59759ca1e39d7bb9d0a76f9f"> 2003</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1CapturedStmt.html#ae8ade9cc59759ca1e39d7bb9d0a76f9f" title="Retrieve the statement being captured.">getCapturedStmt</a>() { <span class="keywordflow">return</span> getStoredStmts()[NumCaptures]; }</div>
+<div class="line"><a name="l02004"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a87fd3b524dcc44f30b486a4fca76f2b6"> 2004</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1CapturedStmt.html#a87fd3b524dcc44f30b486a4fca76f2b6">getCapturedStmt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1CapturedStmt.html" title="This captures a statement into a function. For example, the following pragma annotated compound state...">CapturedStmt</a> *<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1CapturedStmt.html#ae8ade9cc59759ca1e39d7bb9d0a76f9f" title="Retrieve the statement being captured.">getCapturedStmt</a>();</div>
+<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>   }</div>
+<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> <span class="comment"></span></div>
+<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span> <span class="comment">  /// \brief Retrieve the outlined function declaration.</span></div>
+<div class="line"><a name="l02009"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a960a5bd4305398bb0ba8a1efc36989aa"> 2009</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1CapturedDecl.html" title="This represents the body of a CapturedStmt, and serves as its DeclContext.">CapturedDecl</a> *<a class="code" href="classclang_1_1CapturedStmt.html#a960a5bd4305398bb0ba8a1efc36989aa" title="Retrieve the outlined function declaration.">getCapturedDecl</a>() { <span class="keywordflow">return</span> CapDeclAndKind.getPointer(); }</div>
+<div class="line"><a name="l02010"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#ac6a991fa97d1ccb285dc42e23400e034"> 2010</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CapturedDecl.html" title="This represents the body of a CapturedStmt, and serves as its DeclContext.">CapturedDecl</a> *<a class="code" href="classclang_1_1CapturedStmt.html#ac6a991fa97d1ccb285dc42e23400e034">getCapturedDecl</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>     <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1CapturedStmt.html" title="This captures a statement into a function. For example, the following pragma annotated compound state...">CapturedStmt</a> *<span class="keyword">></span>(<span class="keyword">this</span>)-><a class="code" href="classclang_1_1CapturedStmt.html#a960a5bd4305398bb0ba8a1efc36989aa" title="Retrieve the outlined function declaration.">getCapturedDecl</a>();</div>
+<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>   }</div>
+<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> <span class="comment"></span></div>
+<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span> <span class="comment">  /// \brief Set the outlined function declaration.</span></div>
+<div class="line"><a name="l02015"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a60c9f7522ae72a27aac626662161747a"> 2015</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CapturedStmt.html#a60c9f7522ae72a27aac626662161747a" title="Set the outlined function declaration.">setCapturedDecl</a>(<a class="code" href="classclang_1_1CapturedDecl.html" title="This represents the body of a CapturedStmt, and serves as its DeclContext.">CapturedDecl</a> *D) {</div>
+<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>     assert(D && <span class="stringliteral">"null CapturedDecl"</span>);</div>
+<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>     CapDeclAndKind.setPointer(D);</div>
+<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>   }</div>
+<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span> <span class="comment"></span></div>
+<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> <span class="comment">  /// \brief Retrieve the captured region kind.</span></div>
+<div class="line"><a name="l02021"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a07b3d10f13c707690e898e71a00345d0"> 2021</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang.html#a52df778f2a9b540afde2bc183e9c2075" title="The different kinds of captured statement.">CapturedRegionKind</a> <a class="code" href="classclang_1_1CapturedStmt.html#a07b3d10f13c707690e898e71a00345d0" title="Retrieve the captured region kind.">getCapturedRegionKind</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>     <span class="keywordflow">return</span> CapDeclAndKind.getInt();</div>
+<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>   }</div>
+<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span> <span class="comment"></span></div>
+<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> <span class="comment">  /// \brief Set the captured region kind.</span></div>
+<div class="line"><a name="l02026"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a5acdd1a0b95eb592cf23492a05a122ed"> 2026</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CapturedStmt.html#a5acdd1a0b95eb592cf23492a05a122ed" title="Set the captured region kind.">setCapturedRegionKind</a>(<a class="code" href="namespaceclang.html#a52df778f2a9b540afde2bc183e9c2075" title="The different kinds of captured statement.">CapturedRegionKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>) {</div>
+<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>     CapDeclAndKind.setInt(Kind);</div>
+<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>   }</div>
+<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span> <span class="comment"></span></div>
+<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> <span class="comment">  /// \brief Retrieve the record declaration for captured variables.</span></div>
+<div class="line"><a name="l02031"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a2f409a989ad3689bd7739a98cc6c4f2f"> 2031</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *<a class="code" href="classclang_1_1CapturedStmt.html#a2f409a989ad3689bd7739a98cc6c4f2f" title="Retrieve the record declaration for captured variables.">getCapturedRecordDecl</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TheRecordDecl; }</div>
+<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> <span class="comment"></span></div>
+<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span> <span class="comment">  /// \brief Set the record declaration for captured variables.</span></div>
+<div class="line"><a name="l02034"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#ad3bf0e8f0d804a1e74ce0a0c4e06561a"> 2034</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CapturedStmt.html#ad3bf0e8f0d804a1e74ce0a0c4e06561a" title="Set the record declaration for captured variables.">setCapturedRecordDecl</a>(<a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *D) {</div>
+<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>     assert(D && <span class="stringliteral">"null RecordDecl"</span>);</div>
+<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>     TheRecordDecl = D;</div>
+<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>   }</div>
+<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span> <span class="comment"></span></div>
+<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span> <span class="comment">  /// \brief True if this variable has been captured.</span></div>
+<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CapturedStmt.html#af3feafaa5a34a5d1df78519b6dc3acdf" title="True if this variable has been captured.">capturesVariable</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="l02041"></a><span class="lineno"> 2041</span> <span class="comment"></span></div>
+<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span> <span class="comment">  /// \brief An iterator that walks over the captures.</span></div>
+<div class="line"><a name="l02043"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a1e077244aa0cc558d5f9ace762e9143c"> 2043</a></span> <span class="comment"></span>  <span class="keyword">typedef</span> <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html" title="Describes the capture of either a variable or 'this'.">Capture</a> *<a class="code" href="classclang_1_1CapturedStmt.html#a1e077244aa0cc558d5f9ace762e9143c" title="An iterator that walks over the captures.">capture_iterator</a>;</div>
+<div class="line"><a name="l02044"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#ab23563b7d113d256ae9d5b712f2ca93e"> 2044</a></span>   <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html" title="Describes the capture of either a variable or 'this'.">Capture</a> *<a class="code" href="classclang_1_1CapturedStmt.html#ab23563b7d113d256ae9d5b712f2ca93e">const_capture_iterator</a>;</div>
+<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span> <span class="comment"></span></div>
+<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span> <span class="comment">  /// \brief Retrieve an iterator pointing to the first capture.</span></div>
+<div class="line"><a name="l02047"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#aa33c320f36e4b541a7729234524589f7"> 2047</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html" title="Describes the capture of either a variable or 'this'.">capture_iterator</a> <a class="code" href="classclang_1_1CapturedStmt.html#aa33c320f36e4b541a7729234524589f7" title="Retrieve an iterator pointing to the first capture.">capture_begin</a>() { <span class="keywordflow">return</span> getStoredCaptures(); }</div>
+<div class="line"><a name="l02048"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a5bd80b9a81cc67447db0c2f3a6cc1a88"> 2048</a></span>   <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html" title="Describes the capture of either a variable or 'this'.">const_capture_iterator</a> <a class="code" href="classclang_1_1CapturedStmt.html#a5bd80b9a81cc67447db0c2f3a6cc1a88">capture_begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> getStoredCaptures(); }</div>
+<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span> <span class="comment"></span></div>
+<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span> <span class="comment">  /// \brief Retrieve an iterator pointing past the end of the sequence of</span></div>
+<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span> <span class="comment">  /// captures.</span></div>
+<div class="line"><a name="l02052"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#aad076f0963a5acff2b103bd054884524"> 2052</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1CapturedStmt_1_1Capture.html" title="Describes the capture of either a variable or 'this'.">capture_iterator</a> <a class="code" href="classclang_1_1CapturedStmt.html#aad076f0963a5acff2b103bd054884524" title="Retrieve an iterator pointing past the end of the sequence of captures.">capture_end</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>     <span class="keywordflow">return</span> getStoredCaptures() + NumCaptures;</div>
+<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>   }</div>
+<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span> <span class="comment"></span></div>
+<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span> <span class="comment">  /// \brief Retrieve the number of captures, including 'this'.</span></div>
+<div class="line"><a name="l02057"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a34b4118163f90b5aa7954164d1c1cda2"> 2057</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1CapturedStmt.html#a34b4118163f90b5aa7954164d1c1cda2" title="Retrieve the number of captures, including 'this'.">capture_size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumCaptures; }</div>
+<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span> <span class="comment"></span></div>
+<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span> <span class="comment">  /// \brief Iterator that walks over the capture initialization arguments.</span></div>
+<div class="line"><a name="l02060"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#ae6f2ac328a46bf44cec689f68a3502a8"> 2060</a></span> <span class="comment"></span>  <span class="keyword">typedef</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> **<a class="code" href="classclang_1_1CapturedStmt.html#ae6f2ac328a46bf44cec689f68a3502a8" title="Iterator that walks over the capture initialization arguments.">capture_init_iterator</a>;</div>
+<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span> <span class="comment"></span></div>
+<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span> <span class="comment">  /// \brief Retrieve the first initialization argument.</span></div>
+<div class="line"><a name="l02063"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a610a2d9a1e298de36a22a890af4bd922"> 2063</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1Expr.html">capture_init_iterator</a> <a class="code" href="classclang_1_1CapturedStmt.html#a610a2d9a1e298de36a22a890af4bd922" title="Retrieve the first initialization argument.">capture_init_begin</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1Expr.html">Expr</a> **<span class="keyword">></span>(getStoredStmts());</div>
+<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>   }</div>
+<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span> <span class="comment"></span></div>
+<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span> <span class="comment">  /// \brief Retrieve the iterator pointing one past the last initialization</span></div>
+<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span> <span class="comment">  /// argument.</span></div>
+<div class="line"><a name="l02069"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a6783aa0df938371b7fa1ee9f5d73c803"> 2069</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1Expr.html">capture_init_iterator</a> <a class="code" href="classclang_1_1CapturedStmt.html#a6783aa0df938371b7fa1ee9f5d73c803" title="Retrieve the iterator pointing one past the last initialization argument.">capture_init_end</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CapturedStmt.html#a610a2d9a1e298de36a22a890af4bd922" title="Retrieve the first initialization argument.">capture_init_begin</a>() + NumCaptures;</div>
+<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>   }</div>
+<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span> </div>
+<div class="line"><a name="l02073"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#aef55170459c197190cbba37b9d55f980"> 2073</a></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> <a class="code" href="classclang_1_1CapturedStmt.html#aef55170459c197190cbba37b9d55f980">getLocStart</a>() const LLVM_READONLY {</div>
+<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CapturedStmt.html#ae8ade9cc59759ca1e39d7bb9d0a76f9f" title="Retrieve the statement being captured.">getCapturedStmt</a>()-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>();</div>
+<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>   }</div>
+<div class="line"><a name="l02076"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#ae12b074f01ca2cc29110a6f8741fc83b"> 2076</a></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> <a class="code" href="classclang_1_1CapturedStmt.html#ae12b074f01ca2cc29110a6f8741fc83b">getLocEnd</a>() const LLVM_READONLY {</div>
+<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CapturedStmt.html#ae8ade9cc59759ca1e39d7bb9d0a76f9f" title="Retrieve the statement being captured.">getCapturedStmt</a>()-><a class="code" href="classclang_1_1Stmt.html#acdd36e45abff718e8134873f9b7448ef">getLocEnd</a>();</div>
+<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>   }</div>
+<div class="line"><a name="l02079"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a47535e5334c579d8fb0fd0c9d7d9166e"> 2079</a></span>   <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1CapturedStmt.html#a47535e5334c579d8fb0fd0c9d7d9166e">getSourceRange</a>() const LLVM_READONLY {</div>
+<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CapturedStmt.html#ae8ade9cc59759ca1e39d7bb9d0a76f9f" title="Retrieve the statement being captured.">getCapturedStmt</a>()-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>();</div>
+<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>   }</div>
+<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span> </div>
+<div class="line"><a name="l02083"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#a866c464bbe2619386ac1913269c462bb"> 2083</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CapturedStmt.html#a866c464bbe2619386ac1913269c462bb">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *T) {</div>
+<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>     <span class="keywordflow">return</span> T-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>() == CapturedStmtClass;</div>
+<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>   }</div>
+<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span> </div>
+<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>   <a class="code" href="classclang_1_1Stmt.html#a0e31184b9bde2f0d9bed2d81b4252555">child_range</a> <a class="code" href="classclang_1_1CapturedStmt.html#a537343df8f3a5e2caa8f3b9a5ddae27f">children</a>();</div>
+<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span> </div>
+<div class="line"><a name="l02089"></a><span class="lineno"><a class="code" href="classclang_1_1CapturedStmt.html#ad6427d648931017bffcb2f90b8930f9d"> 2089</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTStmtReader.html">ASTStmtReader</a>;</div>
+<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span> };</div>
+<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span> </div>
+<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span> }  <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span> </div>
+<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:10 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/____wmmintrin__aes_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/____wmmintrin__aes_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/____wmmintrin__aes_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/____wmmintrin__aes_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,146 @@
+<!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: __wmmintrin_aes.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_feab7f22fb9d3e29c2fe4a945187a763.html">Headers</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">__wmmintrin_aes.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="____wmmintrin__aes_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">/*===---- __wmmintrin_aes.h - AES intrinsics -------------------------------===</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"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment"> * of this software and associated documentation files (the "Software"), to deal</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment"> * in the Software without restriction, including without limitation the rights</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment"> * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment"> * copies of the Software, and to permit persons to whom the Software is</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment"> * furnished to do so, subject to the following conditions:</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"> * The above copyright notice and this permission notice shall be included in</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment"> * all copies or substantial portions of the Software.</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"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="comment"> * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="comment"> * THE SOFTWARE.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="comment"> *===-----------------------------------------------------------------------===</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#ifndef _WMMINTRIN_AES_H</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor"></span><span class="preprocessor">#define _WMMINTRIN_AES_H</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include <<a class="code" href="emmintrin_8h.html">emmintrin.h</a>></span></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="preprocessor">#if !defined (__AES__)</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor"></span><span class="preprocessor">#  error "AES instructions not enabled"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="keyword">static</span> __inline__ __m128i <a class="code" href="avxintrin_8h.html#a5d4228cb1fa87bacd1d05c6a567c8f45">__attribute__</a>((__always_inline__, __nodebug__))</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> _mm_aesenc_si128(__m128i __V, __m128i __R)</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="keywordflow">return</span> (__m128i)__builtin_ia32_aesenc128(__V, __R);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> }</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="keyword">static</span> __inline__ __m128i <a class="code" href="avxintrin_8h.html#a5d4228cb1fa87bacd1d05c6a567c8f45">__attribute__</a>((__always_inline__, __nodebug__))</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> _mm_aesenclast_si128(__m128i __V, __m128i __R)</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="keywordflow">return</span> (__m128i)__builtin_ia32_aesenclast128(__V, __R);</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> </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="keyword">static</span> __inline__ __m128i <a class="code" href="avxintrin_8h.html#a5d4228cb1fa87bacd1d05c6a567c8f45">__attribute__</a>((__always_inline__, __nodebug__))</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> _mm_aesdec_si128(__m128i __V, __m128i __R)</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="keywordflow">return</span> (__m128i)__builtin_ia32_aesdec128(__V, __R);</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">static</span> __inline__ __m128i <a class="code" href="avxintrin_8h.html#a5d4228cb1fa87bacd1d05c6a567c8f45">__attribute__</a>((__always_inline__, __nodebug__))</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> _mm_aesdeclast_si128(__m128i __V, __m128i __R)</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>   <span class="keywordflow">return</span> (__m128i)__builtin_ia32_aesdeclast128(__V, __R);</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> </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="keyword">static</span> __inline__ __m128i <a class="code" href="avxintrin_8h.html#a5d4228cb1fa87bacd1d05c6a567c8f45">__attribute__</a>((__always_inline__, __nodebug__))</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> _mm_aesimc_si128(__m128i __V)</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="keywordflow">return</span> (__m128i)__builtin_ia32_aesimc128(__V);</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> <span class="preprocessor">#define _mm_aeskeygenassist_si128(C, R) \</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="preprocessor">  __builtin_ia32_aeskeygenassist128((C), (R))</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="preprocessor">#endif  </span><span class="comment">/* _WMMINTRIN_AES_H */</span><span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:02 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/____wmmintrin__pclmul_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/____wmmintrin__pclmul_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/____wmmintrin__pclmul_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/____wmmintrin__pclmul_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,113 @@
+<!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: __wmmintrin_pclmul.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_feab7f22fb9d3e29c2fe4a945187a763.html">Headers</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">__wmmintrin_pclmul.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="____wmmintrin__pclmul_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">/*===---- __wmmintrin_pclmul.h - AES intrinsics ----------------------------===</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"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment"> * of this software and associated documentation files (the "Software"), to deal</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment"> * in the Software without restriction, including without limitation the rights</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment"> * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment"> * copies of the Software, and to permit persons to whom the Software is</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment"> * furnished to do so, subject to the following conditions:</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"> * The above copyright notice and this permission notice shall be included in</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment"> * all copies or substantial portions of the Software.</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"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="comment"> * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="comment"> * THE SOFTWARE.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="comment"> *===-----------------------------------------------------------------------===</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#ifndef _WMMINTRIN_PCLMUL_H</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor"></span><span class="preprocessor">#define _WMMINTRIN_PCLMUL_H</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#if !defined (__PCLMUL__)</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor"></span><span class="preprocessor"># error "PCLMUL instruction is not enabled"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor"></span><span class="preprocessor">#define _mm_clmulepi64_si128(__X, __Y, __I) \</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="preprocessor">  ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="preprocessor">                                        (__v2di)(__m128i)(__Y), (char)(__I)))</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="preprocessor">#endif </span><span class="comment">/* _WMMINTRIN_PCLMUL_H */</span><span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:02 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