[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/FormatString_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatString_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatString_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatString_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,927 @@
+<!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: FormatString.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_c63c305ced188fe7fa423548af4807d3.html">Analysis</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">FormatString.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="FormatString_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">// FormatString.cpp - Common stuff for handling printf/scanf formats -*- 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">// Shared details for processing format strings of printf and scanf</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// (and friends).</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="FormatStringParsing_8h.html">FormatStringParsing.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="LangOptions_8h.html" title="Defines the clang::LangOptions interface.">clang/Basic/LangOptions.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="include_2clang_2Basic_2TargetInfo_8h.html" title="Defines the clang::TargetInfo interface.">clang/Basic/TargetInfo.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">clang::analyze_format_string::ArgType</a>;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">clang::analyze_format_string::FormatStringHandler</a>;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html">clang::analyze_format_string::FormatSpecifier</a>;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">clang::analyze_format_string::LengthModifier</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">clang::analyze_format_string::OptionalAmount</a>;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">using</span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#ac609d0752a325cdc9217edc037c6a31f">clang::analyze_format_string::PositionContext</a>;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">clang::analyze_format_string::ConversionSpecifier</a>;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment">// Key function to FormatStringHandler.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ab9bb524cb0f4573060564755f70e0a8d">   29</a></span> FormatStringHandler::~FormatStringHandler() {}</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">// Functions for parsing format strings components in both printf and</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">// scanf format strings.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html#a4360d77257ec982c6f98dbd45fcdecb8">   37</a></span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#a4360d77257ec982c6f98dbd45fcdecb8">clang::analyze_format_string::ParseAmount</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *&Beg, <span class="keyword">const</span> <span class="keywordtype">char</span> *E) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *I = Beg;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <a class="code" href="classclang_1_1UpdateOnReturn.html">UpdateOnReturn <const char*></a> UpdateBeg(Beg, I);</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="keywordtype">unsigned</span> accumulator = 0;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <span class="keywordtype">bool</span> hasDigits = <span class="keyword">false</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="keywordflow">for</span> ( ; I != E; ++I) {</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>     <span class="keywordtype">char</span> c = *I;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>     <span class="keywordflow">if</span> (c >= <span class="charliteral">'0'</span> && c <= <span class="charliteral">'9'</span>) {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>       hasDigits = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>       accumulator = (accumulator * 10) + (c - <span class="charliteral">'0'</span>);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     }</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="keywordflow">if</span> (hasDigits)</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a>(OptionalAmount::Constant, accumulator, Beg, I - Beg,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>           <span class="keyword">false</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="keywordflow">break</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> </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a>();</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> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a></div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html#a6e032f72dc8d078ec3fc7af98ce0786e">   63</a></span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#a6e032f72dc8d078ec3fc7af98ce0786e">clang::analyze_format_string::ParseNonPositionAmount</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *&Beg,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>                                                      <span class="keyword">const</span> <span class="keywordtype">char</span> *E,</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>                                                      <span class="keywordtype">unsigned</span> &argIndex) {</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   <span class="keywordflow">if</span> (*Beg == <span class="charliteral">'*'</span>) {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     ++Beg;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a>(OptionalAmount::Arg, argIndex++, Beg, 0, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   }</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   <span class="keywordflow">return</span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#a4360d77257ec982c6f98dbd45fcdecb8">ParseAmount</a>(Beg, E);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> }</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a></div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html#a2df3e95b49092a7a2084652502aee570">   75</a></span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#a2df3e95b49092a7a2084652502aee570">clang::analyze_format_string::ParsePositionAmount</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> &H,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>                                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *Start,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>                                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *&Beg,</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>                                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *E,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>                                                   <a class="code" href="namespaceclang_1_1analyze__format__string.html#ac609d0752a325cdc9217edc037c6a31f">PositionContext</a> p) {</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>   <span class="keywordflow">if</span> (*Beg == <span class="charliteral">'*'</span>) {</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> *I = Beg + 1;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a> &Amt = <a class="code" href="namespaceclang_1_1analyze__format__string.html#a4360d77257ec982c6f98dbd45fcdecb8">ParseAmount</a>(I, E);</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>     <span class="keywordflow">if</span> (Amt.<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a1bdab324c18f9deae4be0fa80375bbae">getHowSpecified</a>() == OptionalAmount::NotSpecified) {</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>       H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ac530271593736374f8df5b2d3365190f">HandleInvalidPosition</a>(Beg, I - Beg, p);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a>(<span class="keyword">false</span>);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>     }</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>     <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>       <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>       H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ad26d531598d5b071215064ed67a02bcd">HandleIncompleteSpecifier</a>(Start, E - Start);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a>(<span class="keyword">false</span>);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     }</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     assert(Amt.<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a1bdab324c18f9deae4be0fa80375bbae">getHowSpecified</a>() == OptionalAmount::Constant);</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>     <span class="keywordflow">if</span> (*I == <span class="charliteral">'$'</span>) {</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>       <span class="comment">// Handle positional arguments</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>       <span class="comment">// Special case: '*0$', since this is an easy mistake.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>       <span class="keywordflow">if</span> (Amt.<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a084323f2fb5018892ce99341bb23994b">getConstantAmount</a>() == 0) {</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>         H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#aceff92e78278795d82fd62ae69c214df">HandleZeroPosition</a>(Beg, I - Beg + 1);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>         <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a>(<span class="keyword">false</span>);</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>       }</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *Tmp = Beg;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>       Beg = ++I;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a>(OptionalAmount::Arg, Amt.<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a084323f2fb5018892ce99341bb23994b">getConstantAmount</a>() - 1,</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>                             Tmp, 0, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>     }</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ac530271593736374f8df5b2d3365190f">HandleInvalidPosition</a>(Beg, I - Beg, p);</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a>(<span class="keyword">false</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="keywordflow">return</span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#a4360d77257ec982c6f98dbd45fcdecb8">ParseAmount</a>(Beg, E);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> }</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="keywordtype">bool</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html#a1d26a25a462ea2ca22822ac2e43dadbb">  122</a></span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#a1d26a25a462ea2ca22822ac2e43dadbb">clang::analyze_format_string::ParseFieldWidth</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> &H,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>                                               <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html">FormatSpecifier</a> &CS,</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>                                               <span class="keyword">const</span> <span class="keywordtype">char</span> *Start,</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>                                               <span class="keyword">const</span> <span class="keywordtype">char</span> *&Beg, <span class="keyword">const</span> <span class="keywordtype">char</span> *E,</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>                                               <span class="keywordtype">unsigned</span> *argIndex) {</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   <span class="comment">// FIXME: Support negative field widths.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   <span class="keywordflow">if</span> (argIndex) {</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>     CS.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a506829b42d35b7466b81c3c7b6fbcc6d">setFieldWidth</a>(<a class="code" href="namespaceclang_1_1analyze__format__string.html#a6e032f72dc8d078ec3fc7af98ce0786e">ParseNonPositionAmount</a>(Beg, E, *argIndex));</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   }</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>   <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a> Amt =</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>       <a class="code" href="namespaceclang_1_1analyze__format__string.html#a2df3e95b49092a7a2084652502aee570">ParsePositionAmount</a>(H, Start, Beg, E,</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>                           <a class="code" href="namespaceclang_1_1analyze__format__string.html#ac609d0752a325cdc9217edc037c6a31fa8b4abdf44e62e1dd2daec8ba593e1a11">analyze_format_string::FieldWidthPos</a>);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <span class="keywordflow">if</span> (Amt.<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#aaf92a8a1d065498676a30e9a1783f746">isInvalid</a>())</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>     CS.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a506829b42d35b7466b81c3c7b6fbcc6d">setFieldWidth</a>(Amt);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   }</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> }</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> <span class="keywordtype">bool</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html#ad97cb45df8d6378ec063ee8e16e5ff75">  144</a></span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#ad97cb45df8d6378ec063ee8e16e5ff75">clang::analyze_format_string::ParseArgPosition</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> &H,</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>                                                <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html">FormatSpecifier</a> &FS,</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>                                                <span class="keyword">const</span> <span class="keywordtype">char</span> *Start,</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>                                                <span class="keyword">const</span> <span class="keywordtype">char</span> *&Beg,</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>                                                <span class="keyword">const</span> <span class="keywordtype">char</span> *E) {</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *I = Beg;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a> &Amt = <a class="code" href="namespaceclang_1_1analyze__format__string.html#a4360d77257ec982c6f98dbd45fcdecb8">ParseAmount</a>(I, E);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>   <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>     <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>     H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ad26d531598d5b071215064ed67a02bcd">HandleIncompleteSpecifier</a>(Start, E - Start);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>   }</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>   <span class="keywordflow">if</span> (Amt.<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a1bdab324c18f9deae4be0fa80375bbae">getHowSpecified</a>() == OptionalAmount::Constant && *(I++) == <span class="charliteral">'$'</span>) {</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>     <span class="comment">// Warn that positional arguments are non-standard.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>     H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#abb30308269f8f7e68d9320633c2eb11a">HandlePosition</a>(Start, I - Start);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>     <span class="comment">// Special case: '%0$', since this is an easy mistake.</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>     <span class="keywordflow">if</span> (Amt.<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a084323f2fb5018892ce99341bb23994b">getConstantAmount</a>() == 0) {</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>       H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#aceff92e78278795d82fd62ae69c214df">HandleZeroPosition</a>(Start, I - Start);</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     }</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>     FS.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a894e7aae1edd453d05439c2ccff03873">setArgIndex</a>(Amt.<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a084323f2fb5018892ce99341bb23994b">getConstantAmount</a>() - 1);</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>     FS.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a79e468f6e0345632bd6aafbe3ebc8386">setUsesPositionalArg</a>();</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>     <span class="comment">// Update the caller's pointer if we decided to consume</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     <span class="comment">// these characters.</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>     Beg = I;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   }</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> }</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="keywordtype">bool</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html#ac7fa3f3d47a0a19a04519dcdaf829343">  181</a></span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#ac7fa3f3d47a0a19a04519dcdaf829343">clang::analyze_format_string::ParseLengthModifier</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html">FormatSpecifier</a> &FS,</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>                                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *&I,</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>                                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *E,</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>                                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LO,</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>                                                   <span class="keywordtype">bool</span> IsScanf) {</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895">LengthModifier::Kind</a> lmKind = LengthModifier::None;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *lmPosition = I;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <span class="keywordflow">switch</span> (*I) {</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>     <span class="keywordflow">case</span> <span class="charliteral">'h'</span>:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>       ++I;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>       lmKind = (I != E && *I == <span class="charliteral">'h'</span>) ? (++I, LengthModifier::AsChar)</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>                                      : LengthModifier::AsShort;</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>     <span class="keywordflow">case</span> <span class="charliteral">'l'</span>:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>       ++I;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>       lmKind = (I != E && *I == <span class="charliteral">'l'</span>) ? (++I, LengthModifier::AsLongLong)</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>                                      : LengthModifier::AsLong;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>     <span class="keywordflow">case</span> <span class="charliteral">'j'</span>: lmKind = LengthModifier::AsIntMax;     ++I; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>     <span class="keywordflow">case</span> <span class="charliteral">'z'</span>: lmKind = LengthModifier::AsSizeT;      ++I; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>     <span class="keywordflow">case</span> <span class="charliteral">'t'</span>: lmKind = LengthModifier::AsPtrDiff;    ++I; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>     <span class="keywordflow">case</span> <span class="charliteral">'L'</span>: lmKind = LengthModifier::AsLongDouble; ++I; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>     <span class="keywordflow">case</span> <span class="charliteral">'q'</span>: lmKind = LengthModifier::AsQuad;       ++I; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>     <span class="keywordflow">case</span> <span class="charliteral">'a'</span>:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>       <span class="keywordflow">if</span> (IsScanf && !LO.C99 && !LO.CPlusPlus11) {</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>         <span class="comment">// For scanf in C90, look at the next character to see if this should</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>         <span class="comment">// be parsed as the GNU extension 'a' length modifier. If not, this</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>         <span class="comment">// will be parsed as a conversion specifier.</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>         ++I;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>         <span class="keywordflow">if</span> (I != E && (*I == <span class="charliteral">'s'</span> || *I == <span class="charliteral">'S'</span> || *I == <span class="charliteral">'['</span>)) {</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>           lmKind = LengthModifier::AsAllocate;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>         }</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>         --I;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>       }</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>     <span class="keywordflow">case</span> <span class="charliteral">'m'</span>:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>       <span class="keywordflow">if</span> (IsScanf) {</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>         lmKind = LengthModifier::AsMAllocate;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>         ++I;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>         <span class="keywordflow">break</span>;</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>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>     <span class="comment">// printf: AsInt64, AsInt32, AsInt3264</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>     <span class="comment">// scanf:  AsInt64</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>     <span class="keywordflow">case</span> <span class="charliteral">'I'</span>:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>       <span class="keywordflow">if</span> (I + 1 != E && I + 2 != E) {</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>         <span class="keywordflow">if</span> (I[1] == <span class="charliteral">'6'</span> && I[2] == <span class="charliteral">'4'</span>) {</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>           I += 3;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>           lmKind = LengthModifier::AsInt64;</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>         }</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>         <span class="keywordflow">if</span> (IsScanf)</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>         <span class="keywordflow">if</span> (I[1] == <span class="charliteral">'3'</span> && I[2] == <span class="charliteral">'2'</span>) {</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>           I += 3;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>           lmKind = LengthModifier::AsInt32;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>         }</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>       }</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>       ++I;</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>       lmKind = LengthModifier::AsInt3264;</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>   }</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>   <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">LengthModifier</a> lm(lmPosition, lmKind);</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>   FS.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a8dc303adcda1fe3a47a30b61d9a818b1">setLengthModifier</a>(lm);</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> }</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> <span class="comment">// Methods on ArgType.</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0e0c00d374c833cec1b98760fd178868">  257</a></span> <span class="keywordtype">bool</span> ArgType::matchesType(<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_1QualType.html">QualType</a> argTy)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>   <span class="keywordflow">if</span> (Ptr) {</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>     <span class="comment">// It has to be a pointer.</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *PT = argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>();</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     <span class="keywordflow">if</span> (!PT)</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>     <span class="comment">// We cannot write through a const qualified pointer.</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>     <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1PointerType.html#a3d0af079431148f7da7e2c400052cc66">getPointeeType</a>().<a class="code" href="classclang_1_1QualType.html#afea72c89b99446db779fcfb0ea257826" title="Determine whether this type is const-qualified.">isConstQualified</a>())</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>     argTy = PT-><a class="code" href="classclang_1_1PointerType.html#a3d0af079431148f7da7e2c400052cc66">getPointeeType</a>();</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">  271</span>   <span class="keywordflow">switch</span> (K) {</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>     <span class="keywordflow">case</span> InvalidTy:</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>       llvm_unreachable(<span class="stringliteral">"ArgType must be valid"</span>);</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>     <span class="keywordflow">case</span> UnknownTy:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>       </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>     <span class="keywordflow">case</span> AnyCharTy: {</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1EnumType.html">EnumType</a> *ETy = argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1EnumType.html">EnumType</a>>())</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>         argTy = ETy->getDecl()->getIntegerType();</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a> *BT = argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a>>())</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>         <span class="keywordflow">switch</span> (BT->getKind()) {</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>           <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>             <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>           <span class="keywordflow">case</span> BuiltinType::Char_S:</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>           <span class="keywordflow">case</span> BuiltinType::SChar:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>           <span class="keywordflow">case</span> BuiltinType::UChar:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>           <span class="keywordflow">case</span> BuiltinType::Char_U:</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>             <span class="keywordflow">return</span> <span class="keyword">true</span>;            </div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>         }</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     }</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>       </div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>     <span class="keywordflow">case</span> SpecificTy: {</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1EnumType.html">EnumType</a> *ETy = argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1EnumType.html">EnumType</a>>())</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>         argTy = ETy->getDecl()->getIntegerType();</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>       argTy = C.<a class="code" href="classclang_1_1ASTContext.html#a7e70bb7eebf01548a0cab752e390ba37" title="Return the canonical (structural) type corresponding to the specified potentially non-canonical type ...">getCanonicalType</a>(argTy).<a class="code" href="classclang_1_1CanQual.html#af48a042eb252e80347f11899625ca0dc" title="Retrieve the unqualified form of this type.">getUnqualifiedType</a>();</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>       <span class="keywordflow">if</span> (T == argTy)</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>       <span class="comment">// Check for "compatible types".</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a> *BT = argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a>>())</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>         <span class="keywordflow">switch</span> (BT->getKind()) {</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>           <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>             <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>           <span class="keywordflow">case</span> BuiltinType::Char_S:</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>           <span class="keywordflow">case</span> BuiltinType::SChar:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>           <span class="keywordflow">case</span> BuiltinType::Char_U:</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>           <span class="keywordflow">case</span> BuiltinType::UChar:                    </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>             <span class="keywordflow">return</span> T == C.<a class="code" href="classclang_1_1ASTContext.html#aab61651b1e4d7e541343e7155263e861">UnsignedCharTy</a> || T == C.<a class="code" href="classclang_1_1ASTContext.html#a92063d19fd6dd12d2d3c1a016ffc849f">SignedCharTy</a>;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>           <span class="keywordflow">case</span> BuiltinType::Short:</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>             <span class="keywordflow">return</span> T == C.<a class="code" href="classclang_1_1ASTContext.html#ab9a777cc7ccb5b943f68c7d443b3cc86">UnsignedShortTy</a>;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>           <span class="keywordflow">case</span> BuiltinType::UShort:</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>             <span class="keywordflow">return</span> T == C.<a class="code" href="classclang_1_1ASTContext.html#ac369991763a2aa6bf9a8a3ded653afd8">ShortTy</a>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>           <span class="keywordflow">case</span> BuiltinType::Int:</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>             <span class="keywordflow">return</span> T == C.<a class="code" href="classclang_1_1ASTContext.html#aad4fc6bf8d266a4dbc03cd9d3a86aab4">UnsignedIntTy</a>;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>           <span class="keywordflow">case</span> BuiltinType::UInt:</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>             <span class="keywordflow">return</span> T == C.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>;</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>           <span class="keywordflow">case</span> BuiltinType::Long:</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>             <span class="keywordflow">return</span> T == C.<a class="code" href="classclang_1_1ASTContext.html#a76182acff43ec4d01c06751bb8a2f7bc">UnsignedLongTy</a>;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>           <span class="keywordflow">case</span> BuiltinType::ULong:</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>             <span class="keywordflow">return</span> T == C.<a class="code" href="classclang_1_1ASTContext.html#a0ba7f01d5d975ce7f18b482b052f10fb">LongTy</a>;</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>           <span class="keywordflow">case</span> BuiltinType::LongLong:</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>             <span class="keywordflow">return</span> T == C.<a class="code" href="classclang_1_1ASTContext.html#ab61a96bf1fc99d696d00eefe6104ea70">UnsignedLongLongTy</a>;</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>           <span class="keywordflow">case</span> BuiltinType::ULongLong:</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>             <span class="keywordflow">return</span> T == C.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>;</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>         }</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>     }</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>     <span class="keywordflow">case</span> CStrTy: {</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *PT = argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>();</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>       <span class="keywordflow">if</span> (!PT)</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> pointeeTy = PT-><a class="code" href="classclang_1_1PointerType.html#a3d0af079431148f7da7e2c400052cc66">getPointeeType</a>();</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a> *BT = pointeeTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a>>())</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>         <span class="keywordflow">switch</span> (BT->getKind()) {</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>           <span class="keywordflow">case</span> BuiltinType::Void:</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>           <span class="keywordflow">case</span> BuiltinType::Char_U:</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>           <span class="keywordflow">case</span> BuiltinType::UChar:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>           <span class="keywordflow">case</span> BuiltinType::Char_S:</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>           <span class="keywordflow">case</span> BuiltinType::SChar:</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>             <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>           <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>             <span class="keywordflow">break</span>;</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="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>     }</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>     <span class="keywordflow">case</span> WCStrTy: {</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *PT = argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>();</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>       <span class="keywordflow">if</span> (!PT)</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> pointeeTy =</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>         C.<a class="code" href="classclang_1_1ASTContext.html#a7e70bb7eebf01548a0cab752e390ba37" title="Return the canonical (structural) type corresponding to the specified potentially non-canonical type ...">getCanonicalType</a>(PT-><a class="code" href="classclang_1_1PointerType.html#a3d0af079431148f7da7e2c400052cc66">getPointeeType</a>()).getUnqualifiedType();</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>       <span class="keywordflow">return</span> pointeeTy == C.<a class="code" href="classclang_1_1ASTContext.html#af57de277fc43b9496acfac201da19c37" title="Return the type of wide characters. In C++, this returns the unique wchar_t type. In C99...">getWideCharType</a>();</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>     }</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>     </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>     <span class="keywordflow">case</span> WIntTy: {</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>       </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> PromoArg = </div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>         argTy-><a class="code" href="classclang_1_1Type.html#a93646db2ec9bee65a487eb0de943aac5" title="More type predicates useful for type checking/promotion.">isPromotableIntegerType</a>()</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>           ? C.<a class="code" href="classclang_1_1ASTContext.html#af9e92eecbebef4f85cfeb6e9f7058e61" title="Return the type that PromotableType will promote to: C99 6.3.1.1p2, assuming that PromotableType is a...">getPromotedIntegerType</a>(argTy) : argTy;</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>       <a class="code" href="classclang_1_1QualType.html">QualType</a> WInt = C.<a class="code" href="classclang_1_1ASTContext.html#a7e70bb7eebf01548a0cab752e390ba37" title="Return the canonical (structural) type corresponding to the specified potentially non-canonical type ...">getCanonicalType</a>(C.<a class="code" href="classclang_1_1ASTContext.html#aaec43779793b202d08e56515e004b0c1" title="In C99, this returns a type compatible with the type defined in <stddef.h> as defined by the target...">getWIntType</a>()).getUnqualifiedType();</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>       PromoArg = C.<a class="code" href="classclang_1_1ASTContext.html#a7e70bb7eebf01548a0cab752e390ba37" title="Return the canonical (structural) type corresponding to the specified potentially non-canonical type ...">getCanonicalType</a>(PromoArg).<a class="code" href="classclang_1_1CanQual.html#af48a042eb252e80347f11899625ca0dc" title="Retrieve the unqualified form of this type.">getUnqualifiedType</a>();</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>       </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>       <span class="comment">// If the promoted argument is the corresponding signed type of the</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>       <span class="comment">// wint_t type, then it should match.</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>       <span class="keywordflow">if</span> (PromoArg-><a class="code" href="classclang_1_1Type.html#a63c57da9e0790bd606480927192498be" title="Determine whether this type has an signed integer representation of some sort, e.g., it is an signed integer type or a vector.">hasSignedIntegerRepresentation</a>() &&</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>           C.<a class="code" href="classclang_1_1ASTContext.html#aef86a15ef8295931ee66295fcf5de8ea">getCorrespondingUnsignedType</a>(PromoArg) == WInt)</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>       <span class="keywordflow">return</span> WInt == PromoArg;</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>     }</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>     <span class="keywordflow">case</span> CPointerTy:</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>       <span class="keywordflow">return</span> argTy-><a class="code" href="classclang_1_1Type.html#a1c0038a55083ee0a292a020038ee04d8">isPointerType</a>() || argTy-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>() ||</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>              argTy-><a class="code" href="classclang_1_1Type.html#ad6cd1a04cac76bfb304bbc02bf23a9bb">isBlockPointerType</a>() || argTy-><a class="code" href="classclang_1_1Type.html#ac5e1b697b8baa513accaac2f0b1307b9">isNullPtrType</a>();</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>     <span class="keywordflow">case</span> ObjCPointerTy: {</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>       <span class="keywordflow">if</span> (argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a>>() ||</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>           argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1BlockPointerType.html">BlockPointerType</a>>())</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>       </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>       <span class="comment">// Handle implicit toll-free bridging.</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *PT = argTy-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1PointerType.html">PointerType</a>>()) {</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>         <span class="comment">// Things such as CFTypeRef are really just opaque pointers</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>         <span class="comment">// to C structs representing CF types that can often be bridged</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>         <span class="comment">// to Objective-C objects.  Since the compiler doesn't know which</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>         <span class="comment">// structs can be toll-free bridged, we just accept them all.</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>         <a class="code" href="classclang_1_1QualType.html">QualType</a> pointee = PT-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>         <span class="keywordflow">if</span> (pointee-><a class="code" href="classclang_1_1Type.html#a87c0b7d631156eaba036eccc56fa70b3">getAsStructureType</a>() || pointee-><a class="code" href="classclang_1_1Type.html#a0ee6d74a089fe24d755d9cfd8bceef3f">isVoidType</a>())</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>       }</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;      </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>     }</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>   }</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>   llvm_unreachable(<span class="stringliteral">"Invalid ArgType Kind!"</span>);</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> }</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a6e4e2b82bb09159f2a0c7d0ff042a64a">  405</a></span> <a class="code" href="classclang_1_1QualType.html">QualType</a> ArgType::getRepresentativeType(<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="l00406"></a><span class="lineno">  406</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> Res;</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>   <span class="keywordflow">switch</span> (K) {</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>     <span class="keywordflow">case</span> InvalidTy:</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>       llvm_unreachable(<span class="stringliteral">"No representative type for Invalid ArgType"</span>);</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>     <span class="keywordflow">case</span> UnknownTy:</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>       llvm_unreachable(<span class="stringliteral">"No representative type for Unknown ArgType"</span>);</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>     <span class="keywordflow">case</span> AnyCharTy:</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>       Res = C.<a class="code" href="classclang_1_1ASTContext.html#a80ed5a736a74c76bbbd66b90821d1689">CharTy</a>;</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>     <span class="keywordflow">case</span> SpecificTy:</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>       Res = T;</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>     <span class="keywordflow">case</span> CStrTy:</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>       Res = C.<a class="code" href="classclang_1_1ASTContext.html#a3574cad49cba0fc48ab7b4c953e7e31e" title="Return the uniqued reference to the type for a pointer to the specified type.">getPointerType</a>(C.<a class="code" href="classclang_1_1ASTContext.html#a80ed5a736a74c76bbbd66b90821d1689">CharTy</a>);</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>     <span class="keywordflow">case</span> WCStrTy:</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>       Res = C.<a class="code" href="classclang_1_1ASTContext.html#a3574cad49cba0fc48ab7b4c953e7e31e" title="Return the uniqued reference to the type for a pointer to the specified type.">getPointerType</a>(C.<a class="code" href="classclang_1_1ASTContext.html#af57de277fc43b9496acfac201da19c37" title="Return the type of wide characters. In C++, this returns the unique wchar_t type. In C99...">getWideCharType</a>());</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>     <span class="keywordflow">case</span> ObjCPointerTy:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>       Res = C.<a class="code" href="classclang_1_1ASTContext.html#a638544bdf0734f38ef4d348e5f24a790">ObjCBuiltinIdTy</a>;</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>     <span class="keywordflow">case</span> CPointerTy:</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>       Res = C.<a class="code" href="classclang_1_1ASTContext.html#a485732164c40553bb323c58f5e8bf7a7">VoidPtrTy</a>;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>     <span class="keywordflow">case</span> WIntTy: {</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>       Res = C.<a class="code" href="classclang_1_1ASTContext.html#aaec43779793b202d08e56515e004b0c1" title="In C99, this returns a type compatible with the type defined in <stddef.h> as defined by the target...">getWIntType</a>();</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>     }</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>   }</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> </div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>   <span class="keywordflow">if</span> (Ptr)</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>     Res = C.<a class="code" href="classclang_1_1ASTContext.html#a3574cad49cba0fc48ab7b4c953e7e31e" title="Return the uniqued reference to the type for a pointer to the specified type.">getPointerType</a>(Res);</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <span class="keywordflow">return</span> Res;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> }</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a724e8878d893aad91cc883bffa539c59">  441</a></span> std::string ArgType::getRepresentativeTypeName(<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="l00442"></a><span class="lineno">  442</span>   std::string <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a> = getRepresentativeType(C).getAsString();</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   std::string Alias;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   <span class="keywordflow">if</span> (Name) {</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>     <span class="comment">// Use a specific name for this type, e.g. "size_t".</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>     Alias = Name;</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>     <span class="keywordflow">if</span> (Ptr) {</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>       <span class="comment">// If ArgType is actually a pointer to T, append an asterisk.</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>       Alias += (Alias[Alias.size()-1] == <span class="charliteral">'*'</span>) ? <span class="stringliteral">"*"</span> : <span class="stringliteral">" *"</span>;</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>     }</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>     <span class="comment">// If Alias is the same as the underlying type, e.g. wchar_t, then drop it.</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>     <span class="keywordflow">if</span> (S == Alias)</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>       Alias.clear();</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>   }</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> </div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>   <span class="keywordflow">if</span> (!Alias.empty())</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>     <span class="keywordflow">return</span> std::string(<span class="stringliteral">"'"</span>) + Alias + <span class="stringliteral">"' (aka '"</span> + S + <span class="stringliteral">"')"</span>;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>   <span class="keywordflow">return</span> std::string(<span class="stringliteral">"'"</span>) + S + <span class="stringliteral">"'"</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">  461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> <span class="comment">// Methods on OptionalAmount.</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> </div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">ArgType</a></div>
+<div class="line"><a name="l00468"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a1cb0f01d65cbf8334a4e9cc26ee502fa">  468</a></span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a1cb0f01d65cbf8334a4e9cc26ee502fa">analyze_format_string::OptionalAmount::getArgType</a>(<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> &Ctx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>   <span class="keywordflow">return</span> Ctx.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>;</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> }</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> <span class="comment">// Methods on LengthModifier.</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *</div>
+<div class="line"><a name="l00477"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#ae955ef620b2e96e01cb727b80a8e046d">  477</a></span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#ae955ef620b2e96e01cb727b80a8e046d">analyze_format_string::LengthModifier::toString</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   <span class="keywordflow">switch</span> (<a class="code" href="namespaceclang_1_1diag.html#ab2f7277bc45b970f4b9631e0617ff02c" title="All of the diagnostics that can be emitted by the frontend.">kind</a>) {</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   <span class="keywordflow">case</span> AsChar:</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>     <span class="keywordflow">return</span> <span class="stringliteral">"hh"</span>;</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   <span class="keywordflow">case</span> AsShort:</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     <span class="keywordflow">return</span> <span class="stringliteral">"h"</span>;</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>   <span class="keywordflow">case</span> AsLong: <span class="comment">// or AsWideChar</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>     <span class="keywordflow">return</span> <span class="stringliteral">"l"</span>;</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>   <span class="keywordflow">case</span> AsLongLong:</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>     <span class="keywordflow">return</span> <span class="stringliteral">"ll"</span>;</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>   <span class="keywordflow">case</span> AsQuad:</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>     <span class="keywordflow">return</span> <span class="stringliteral">"q"</span>;</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>   <span class="keywordflow">case</span> AsIntMax:</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>     <span class="keywordflow">return</span> <span class="stringliteral">"j"</span>;</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>   <span class="keywordflow">case</span> AsSizeT:</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>     <span class="keywordflow">return</span> <span class="stringliteral">"z"</span>;</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>   <span class="keywordflow">case</span> AsPtrDiff:</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>     <span class="keywordflow">return</span> <span class="stringliteral">"t"</span>;</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>   <span class="keywordflow">case</span> AsInt32:</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>     <span class="keywordflow">return</span> <span class="stringliteral">"I32"</span>;</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>   <span class="keywordflow">case</span> AsInt3264:</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>     <span class="keywordflow">return</span> <span class="stringliteral">"I"</span>;</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>   <span class="keywordflow">case</span> AsInt64:</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>     <span class="keywordflow">return</span> <span class="stringliteral">"I64"</span>;</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>   <span class="keywordflow">case</span> AsLongDouble:</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>     <span class="keywordflow">return</span> <span class="stringliteral">"L"</span>;</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>   <span class="keywordflow">case</span> AsAllocate:</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>     <span class="keywordflow">return</span> <span class="stringliteral">"a"</span>;</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>   <span class="keywordflow">case</span> AsMAllocate:</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>     <span class="keywordflow">return</span> <span class="stringliteral">"m"</span>;</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>   <span class="keywordflow">case</span> None:</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>     <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>   }</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>   <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> }</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> </div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> <span class="comment">// Methods on ConversionSpecifier.</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span> </div>
+<div class="line"><a name="l00517"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a15188659e666ceed4dc80d9712750bcf">  517</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a15188659e666ceed4dc80d9712750bcf">ConversionSpecifier::toString</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>   <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a>) {</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">dArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"d"</span>;</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ab1bdb2a7e55f254fb7543d15443d0ef4">DArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"D"</span>;</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">iArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"i"</span>;</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">oArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"o"</span>;</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09aec6acd7c9ca1774bb3d579a91bef">OArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"O"</span>;</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">uArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"u"</span>;</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae19e44bba2c6232cebd58adeceffdf07">UArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"U"</span>;</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ace288a48383643360e259dd3d8111dc6">xArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"x"</span>;</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">XArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"X"</span>;</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a6721002098ae2e8ac30a1ca4cba4b248">fArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"f"</span>;</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a542227391a27a804dcf5e74d697d0f97">FArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"F"</span>;</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9fe5793ca92b10ae0ae503e86846ece0">eArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"e"</span>;</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae80747eded1d90043b3d5ffbd6c63373">EArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"E"</span>;</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a82797b7eeeda3d2511fcb8288bf0d8f2">gArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"g"</span>;</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a69ceb6eb4b535ccb35b9a069d069b63f">GArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"G"</span>;</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a917e205d7abe7cfb4481388cbbf7d24b">aArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"a"</span>;</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa4898758cd301f62ca57b9b250708351">AArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"A"</span>;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a02a4bb9cad84a46cec1d4e46e9e37ef0">cArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"c"</span>;</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad14fe138c8f80dc70c46825e01c31777">sArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"s"</span>;</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a11e3cfa42c2e7861a94efa743a90430a">pArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"p"</span>;</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a792fd76e2c595e8cdcfbfa1bfef0e1d3">nArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"n"</span>;</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aca54f7cd3084cbf423f8044460f379da">PercentArg</a>:  <span class="keywordflow">return</span> <span class="stringliteral">"%"</span>;</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa35aa4f6642be10b09095a73c0ed9139">ScanListArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"["</span>;</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a205c5b4cb2a9ca10f0a2a1f930f61c6d">InvalidSpecifier</a>: <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> </div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>   <span class="comment">// POSIX unicode extensions.</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09bfd8130b55ac148da21e0e43fab9f">CArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"C"</span>;</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a160f87b0871365f78394168a94bd9804">SArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"S"</span>;</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span> </div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>   <span class="comment">// Objective-C specific specifiers.</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9967c642b61140076c027233bb9157bf">ObjCObjArg</a>: <span class="keywordflow">return</span> <span class="stringliteral">"@"</span>;</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>   <span class="comment">// GlibC specific specifiers.</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad20a241e0e5d50f23740ee2afe07eaa1">PrintErrno</a>: <span class="keywordflow">return</span> <span class="stringliteral">"m"</span>;</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>   }</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>   <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> }</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> </div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span> <a class="code" href="classllvm_1_1Optional.html">Optional<ConversionSpecifier></a></div>
+<div class="line"><a name="l00558"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1e4c2d33f9cff497d42ebf75eb773a09">  558</a></span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1e4c2d33f9cff497d42ebf75eb773a09">ConversionSpecifier::getStandardSpecifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1">ConversionSpecifier::Kind</a> NewKind;</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>   <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>     <span class="keywordflow">return</span> None;</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ab1bdb2a7e55f254fb7543d15443d0ef4">DArg</a>:</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>     NewKind = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">dArg</a>;</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae19e44bba2c6232cebd58adeceffdf07">UArg</a>:</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>     NewKind = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">uArg</a>;</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09aec6acd7c9ca1774bb3d579a91bef">OArg</a>:</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>     NewKind = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">oArg</a>;</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>   }</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span> </div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">ConversionSpecifier</a> FixedCS(*<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   FixedCS.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0100f35b80873fe36f4989cd545d34ef">setKind</a>(NewKind);</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   <span class="keywordflow">return</span> FixedCS;</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span> }</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span> </div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> <span class="comment">// Methods on OptionalAmount.</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> </div>
+<div class="line"><a name="l00584"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#ab35eb56b2a934e0035fe00d98517dbae">  584</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#ab35eb56b2a934e0035fe00d98517dbae">OptionalAmount::toString</a>(raw_ostream &os)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>   <span class="keywordflow">switch</span> (hs) {</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298a9181efb050f56c6193575b414157df03">Invalid</a>:</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298ae0c41024f6865fff546bdf050c5d483e">NotSpecified</a>:</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298a9fb96210254d2e1e8393cfc4712102b0">Arg</a>:</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>     <span class="keywordflow">if</span> (UsesDotPrefix)</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>         os << <span class="stringliteral">"."</span>;</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#afbd01aec57718260bff092fae5d89d19">usesPositionalArg</a>())</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>       os << <span class="stringliteral">"*"</span> << <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a3c90b316a4912520d357555931996b93">getPositionalArgIndex</a>() << <span class="stringliteral">"$"</span>;</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>       os << <span class="stringliteral">"*"</span>;</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298abbe52fc4b0f718cac3333891c99953a4">Constant</a>:</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>     <span class="keywordflow">if</span> (UsesDotPrefix)</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>         os << <span class="stringliteral">"."</span>;</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>     os << amt;</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>   }</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> }</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span> </div>
+<div class="line"><a name="l00605"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a6b0f78cb00669c5bc2ed8c86f180f62d">  605</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a6b0f78cb00669c5bc2ed8c86f180f62d">FormatSpecifier::hasValidLengthModifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &Target)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>   <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a7a664b97549a6fe956519f54d5f2a3b6">getKind</a>()) {</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ae6f7aa020d3fc3385d8ca62f0955a4eb">LengthModifier::None</a>:</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>       </div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>     <span class="comment">// Handle most integer flags</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a4e94535d14ded9b0f3acb1d0dd2311e4">LengthModifier::AsChar</a>:</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aabbeaa4ab5e5c115b8498b50bc0a4964">LengthModifier::AsShort</a>:</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895afdd6ac3f00036867f5713c6d75055b27">LengthModifier::AsLongLong</a>:</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8eff55fdd638a6f2774e22669fbe1c6c">LengthModifier::AsQuad</a>:</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aa4a5df4f98fc3d433f94e3ae2d335c41">LengthModifier::AsIntMax</a>:</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8d04c1116705674a286ea41d5b088096">LengthModifier::AsSizeT</a>:</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ad21eeddcc550ac3295f307ee81db6d09">LengthModifier::AsPtrDiff</a>:</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>       <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">ConversionSpecifier::dArg</a>:</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ab1bdb2a7e55f254fb7543d15443d0ef4">ConversionSpecifier::DArg</a>:</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">ConversionSpecifier::iArg</a>:</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">ConversionSpecifier::oArg</a>:</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09aec6acd7c9ca1774bb3d579a91bef">ConversionSpecifier::OArg</a>:</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">ConversionSpecifier::uArg</a>:</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae19e44bba2c6232cebd58adeceffdf07">ConversionSpecifier::UArg</a>:</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ace288a48383643360e259dd3d8111dc6">ConversionSpecifier::xArg</a>:</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">ConversionSpecifier::XArg</a>:</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a792fd76e2c595e8cdcfbfa1bfef0e1d3">ConversionSpecifier::nArg</a>:</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>       }</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>       </div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>     <span class="comment">// Handle 'l' flag</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a1ce884f4f99f7be7097e9e822fa6740a">LengthModifier::AsLong</a>:</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>       <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">ConversionSpecifier::dArg</a>:</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ab1bdb2a7e55f254fb7543d15443d0ef4">ConversionSpecifier::DArg</a>:</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">ConversionSpecifier::iArg</a>:</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">ConversionSpecifier::oArg</a>:</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09aec6acd7c9ca1774bb3d579a91bef">ConversionSpecifier::OArg</a>:</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">ConversionSpecifier::uArg</a>:</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae19e44bba2c6232cebd58adeceffdf07">ConversionSpecifier::UArg</a>:</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ace288a48383643360e259dd3d8111dc6">ConversionSpecifier::xArg</a>:</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">ConversionSpecifier::XArg</a>:</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a917e205d7abe7cfb4481388cbbf7d24b">ConversionSpecifier::aArg</a>:</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa4898758cd301f62ca57b9b250708351">ConversionSpecifier::AArg</a>:</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a6721002098ae2e8ac30a1ca4cba4b248">ConversionSpecifier::fArg</a>:</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a542227391a27a804dcf5e74d697d0f97">ConversionSpecifier::FArg</a>:</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9fe5793ca92b10ae0ae503e86846ece0">ConversionSpecifier::eArg</a>:</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae80747eded1d90043b3d5ffbd6c63373">ConversionSpecifier::EArg</a>:</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a82797b7eeeda3d2511fcb8288bf0d8f2">ConversionSpecifier::gArg</a>:</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a69ceb6eb4b535ccb35b9a069d069b63f">ConversionSpecifier::GArg</a>:</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a792fd76e2c595e8cdcfbfa1bfef0e1d3">ConversionSpecifier::nArg</a>:</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a02a4bb9cad84a46cec1d4e46e9e37ef0">ConversionSpecifier::cArg</a>:</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad14fe138c8f80dc70c46825e01c31777">ConversionSpecifier::sArg</a>:</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa35aa4f6642be10b09095a73c0ed9139">ConversionSpecifier::ScanListArg</a>:</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a28f73f795c4bc11c858eb58835924652">LengthModifier::AsLongDouble</a>:</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>       <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a917e205d7abe7cfb4481388cbbf7d24b">ConversionSpecifier::aArg</a>:</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa4898758cd301f62ca57b9b250708351">ConversionSpecifier::AArg</a>:</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a6721002098ae2e8ac30a1ca4cba4b248">ConversionSpecifier::fArg</a>:</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a542227391a27a804dcf5e74d697d0f97">ConversionSpecifier::FArg</a>:</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9fe5793ca92b10ae0ae503e86846ece0">ConversionSpecifier::eArg</a>:</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae80747eded1d90043b3d5ffbd6c63373">ConversionSpecifier::EArg</a>:</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a82797b7eeeda3d2511fcb8288bf0d8f2">ConversionSpecifier::gArg</a>:</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a69ceb6eb4b535ccb35b9a069d069b63f">ConversionSpecifier::GArg</a>:</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>         <span class="comment">// GNU libc extension.</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">ConversionSpecifier::dArg</a>:</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">ConversionSpecifier::iArg</a>:</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">ConversionSpecifier::oArg</a>:</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">ConversionSpecifier::uArg</a>:</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ace288a48383643360e259dd3d8111dc6">ConversionSpecifier::xArg</a>:</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">ConversionSpecifier::XArg</a>:</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>           <span class="keywordflow">return</span> !Target.<a class="code" href="classclang_1_1TargetInfo.html#a20f1dc9686f1a537a03975c7603774e7" title="Returns the target triple of the primary target.">getTriple</a>().isOSDarwin() &&</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>                  !Target.<a class="code" href="classclang_1_1TargetInfo.html#a20f1dc9686f1a537a03975c7603774e7" title="Returns the target triple of the primary target.">getTriple</a>().isOSWindows();</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>       }</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span> </div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8e3573d0643e9fff4431cdc5f528f857">LengthModifier::AsAllocate</a>:</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>       <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad14fe138c8f80dc70c46825e01c31777">ConversionSpecifier::sArg</a>:</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a160f87b0871365f78394168a94bd9804">ConversionSpecifier::SArg</a>:</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa35aa4f6642be10b09095a73c0ed9139">ConversionSpecifier::ScanListArg</a>:</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>       }</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span> </div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a0d526133099ab9b15fdfc4424191ffe5">LengthModifier::AsMAllocate</a>:</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>       <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a02a4bb9cad84a46cec1d4e46e9e37ef0">ConversionSpecifier::cArg</a>:</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09bfd8130b55ac148da21e0e43fab9f">ConversionSpecifier::CArg</a>:</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad14fe138c8f80dc70c46825e01c31777">ConversionSpecifier::sArg</a>:</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a160f87b0871365f78394168a94bd9804">ConversionSpecifier::SArg</a>:</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa35aa4f6642be10b09095a73c0ed9139">ConversionSpecifier::ScanListArg</a>:</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>       }</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aba4c17e6a09051abddf190e1e71b1aa7">LengthModifier::AsInt32</a>:</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a65aa7828dbcdf8d6ea1e0ba383603d78">LengthModifier::AsInt3264</a>:</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a5d27a5354f13fb2715eebfed546ee303">LengthModifier::AsInt64</a>:</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>       <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">ConversionSpecifier::dArg</a>:</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">ConversionSpecifier::iArg</a>:</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">ConversionSpecifier::oArg</a>:</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">ConversionSpecifier::uArg</a>:</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ace288a48383643360e259dd3d8111dc6">ConversionSpecifier::xArg</a>:</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">ConversionSpecifier::XArg</a>:</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>           <span class="keywordflow">return</span> Target.<a class="code" href="classclang_1_1TargetInfo.html#a20f1dc9686f1a537a03975c7603774e7" title="Returns the target triple of the primary target.">getTriple</a>().isOSMSVCRT();</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>       }</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>   llvm_unreachable(<span class="stringliteral">"Invalid LengthModifier Kind!"</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">  725</span> </div>
+<div class="line"><a name="l00726"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a09b0b1de8fa313f6d77b8b18f8049908">  726</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a09b0b1de8fa313f6d77b8b18f8049908">FormatSpecifier::hasStandardLengthModifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>   <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a7a664b97549a6fe956519f54d5f2a3b6">getKind</a>()) {</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ae6f7aa020d3fc3385d8ca62f0955a4eb">LengthModifier::None</a>:</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a4e94535d14ded9b0f3acb1d0dd2311e4">LengthModifier::AsChar</a>:</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aabbeaa4ab5e5c115b8498b50bc0a4964">LengthModifier::AsShort</a>:</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a1ce884f4f99f7be7097e9e822fa6740a">LengthModifier::AsLong</a>:</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895afdd6ac3f00036867f5713c6d75055b27">LengthModifier::AsLongLong</a>:</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aa4a5df4f98fc3d433f94e3ae2d335c41">LengthModifier::AsIntMax</a>:</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8d04c1116705674a286ea41d5b088096">LengthModifier::AsSizeT</a>:</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ad21eeddcc550ac3295f307ee81db6d09">LengthModifier::AsPtrDiff</a>:</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a28f73f795c4bc11c858eb58835924652">LengthModifier::AsLongDouble</a>:</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8e3573d0643e9fff4431cdc5f528f857">LengthModifier::AsAllocate</a>:</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a0d526133099ab9b15fdfc4424191ffe5">LengthModifier::AsMAllocate</a>:</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8eff55fdd638a6f2774e22669fbe1c6c">LengthModifier::AsQuad</a>:</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aba4c17e6a09051abddf190e1e71b1aa7">LengthModifier::AsInt32</a>:</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a65aa7828dbcdf8d6ea1e0ba383603d78">LengthModifier::AsInt3264</a>:</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a5d27a5354f13fb2715eebfed546ee303">LengthModifier::AsInt64</a>:</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>   }</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>   llvm_unreachable(<span class="stringliteral">"Invalid LengthModifier Kind!"</span>);</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span> }</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span> </div>
+<div class="line"><a name="l00749"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ab938beb9519f744884869a3b798f04e1">  749</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ab938beb9519f744884869a3b798f04e1">FormatSpecifier::hasStandardConversionSpecifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpt)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>   <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a02a4bb9cad84a46cec1d4e46e9e37ef0">ConversionSpecifier::cArg</a>:</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">ConversionSpecifier::dArg</a>:</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">ConversionSpecifier::iArg</a>:</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">ConversionSpecifier::oArg</a>:</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">ConversionSpecifier::uArg</a>:</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ace288a48383643360e259dd3d8111dc6">ConversionSpecifier::xArg</a>:</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">ConversionSpecifier::XArg</a>:</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a6721002098ae2e8ac30a1ca4cba4b248">ConversionSpecifier::fArg</a>:</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a542227391a27a804dcf5e74d697d0f97">ConversionSpecifier::FArg</a>:</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9fe5793ca92b10ae0ae503e86846ece0">ConversionSpecifier::eArg</a>:</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae80747eded1d90043b3d5ffbd6c63373">ConversionSpecifier::EArg</a>:</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a82797b7eeeda3d2511fcb8288bf0d8f2">ConversionSpecifier::gArg</a>:</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a69ceb6eb4b535ccb35b9a069d069b63f">ConversionSpecifier::GArg</a>:</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a917e205d7abe7cfb4481388cbbf7d24b">ConversionSpecifier::aArg</a>:</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa4898758cd301f62ca57b9b250708351">ConversionSpecifier::AArg</a>:</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad14fe138c8f80dc70c46825e01c31777">ConversionSpecifier::sArg</a>:</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a11e3cfa42c2e7861a94efa743a90430a">ConversionSpecifier::pArg</a>:</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a792fd76e2c595e8cdcfbfa1bfef0e1d3">ConversionSpecifier::nArg</a>:</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9967c642b61140076c027233bb9157bf">ConversionSpecifier::ObjCObjArg</a>:</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa35aa4f6642be10b09095a73c0ed9139">ConversionSpecifier::ScanListArg</a>:</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aca54f7cd3084cbf423f8044460f379da">ConversionSpecifier::PercentArg</a>:</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09bfd8130b55ac148da21e0e43fab9f">ConversionSpecifier::CArg</a>:</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a160f87b0871365f78394168a94bd9804">ConversionSpecifier::SArg</a>:</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>       <span class="keywordflow">return</span> LangOpt.ObjC1 || LangOpt.ObjC2;</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a205c5b4cb2a9ca10f0a2a1f930f61c6d">ConversionSpecifier::InvalidSpecifier</a>:</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad20a241e0e5d50f23740ee2afe07eaa1">ConversionSpecifier::PrintErrno</a>:</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ab1bdb2a7e55f254fb7543d15443d0ef4">ConversionSpecifier::DArg</a>:</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09aec6acd7c9ca1774bb3d579a91bef">ConversionSpecifier::OArg</a>:</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae19e44bba2c6232cebd58adeceffdf07">ConversionSpecifier::UArg</a>:</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>   }</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>   llvm_unreachable(<span class="stringliteral">"Invalid ConversionSpecifier Kind!"</span>);</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span> }</div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span> </div>
+<div class="line"><a name="l00786"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a104207ca3f0e77d6c0de6e319ee99428">  786</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a104207ca3f0e77d6c0de6e319ee99428">FormatSpecifier::hasStandardLengthConversionCombination</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a7a664b97549a6fe956519f54d5f2a3b6">getKind</a>() == <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a28f73f795c4bc11c858eb58835924652">LengthModifier::AsLongDouble</a>) {</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>     <span class="keywordflow">switch</span>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">ConversionSpecifier::dArg</a>:</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">ConversionSpecifier::iArg</a>:</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">ConversionSpecifier::oArg</a>:</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">ConversionSpecifier::uArg</a>:</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ace288a48383643360e259dd3d8111dc6">ConversionSpecifier::xArg</a>:</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>         <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">ConversionSpecifier::XArg</a>:</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>     }</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>   }</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span> }</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span> </div>
+<div class="line"><a name="l00803"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a79d0210e35e2468ea3de498d53e83ad7">  803</a></span> <a class="code" href="classllvm_1_1Optional.html">Optional<LengthModifier></a> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a79d0210e35e2468ea3de498d53e83ad7">FormatSpecifier::getCorrectedLengthModifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#afa624fe09e06dcd90271e4925ead827e">isAnyIntArg</a>() || <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>() == <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a792fd76e2c595e8cdcfbfa1bfef0e1d3">ConversionSpecifier::nArg</a>) {</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a7a664b97549a6fe956519f54d5f2a3b6">getKind</a>() == <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a28f73f795c4bc11c858eb58835924652">LengthModifier::AsLongDouble</a> ||</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>         <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a7a664b97549a6fe956519f54d5f2a3b6">getKind</a>() == <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8eff55fdd638a6f2774e22669fbe1c6c">LengthModifier::AsQuad</a>) {</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>       <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">LengthModifier</a> FixedLM(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a>);</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>       FixedLM.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#adc2cdc9db75f9ab045fa273e6597504d">setKind</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895afdd6ac3f00036867f5713c6d75055b27">LengthModifier::AsLongLong</a>);</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>       <span class="keywordflow">return</span> FixedLM;</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>     }</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>   }</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span> </div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>   <span class="keywordflow">return</span> None;</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> </div>
+<div class="line"><a name="l00816"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ad02ebd54580d9f5baa1dc2ad0bb0ea3f">  816</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ad02ebd54580d9f5baa1dc2ad0bb0ea3f">FormatSpecifier::namedTypeToLengthModifier</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> QT,</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>                                                 <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">LengthModifier</a> &LM) {</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>   assert(isa<TypedefType>(QT) && <span class="stringliteral">"Expected a TypedefType"</span>);</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1TypedefNameDecl.html" title="Base class for declarations which introduce a typedef-name.">TypedefNameDecl</a> *Typedef = cast<TypedefType>(QT)->getDecl();</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span> </div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>   <span class="keywordflow">for</span> (;;) {</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *Identifier = Typedef-><a class="code" href="classclang_1_1NamedDecl.html#a554752f8f43eea0e6288da7205167fe2">getIdentifier</a>();</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>     <span class="keywordflow">if</span> (Identifier-><a class="code" href="classclang_1_1IdentifierInfo.html#a94caec6a16e508e8ca39eacd278bd2c5" title="Return the actual identifier string.">getName</a>() == <span class="stringliteral">"size_t"</span>) {</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>       LM.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#adc2cdc9db75f9ab045fa273e6597504d">setKind</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8d04c1116705674a286ea41d5b088096">LengthModifier::AsSizeT</a>);</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Identifier-><a class="code" href="classclang_1_1IdentifierInfo.html#a94caec6a16e508e8ca39eacd278bd2c5" title="Return the actual identifier string.">getName</a>() == <span class="stringliteral">"ssize_t"</span>) {</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>       <span class="comment">// Not C99, but common in Unix.</span></div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>       LM.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#adc2cdc9db75f9ab045fa273e6597504d">setKind</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8d04c1116705674a286ea41d5b088096">LengthModifier::AsSizeT</a>);</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Identifier-><a class="code" href="classclang_1_1IdentifierInfo.html#a94caec6a16e508e8ca39eacd278bd2c5" title="Return the actual identifier string.">getName</a>() == <span class="stringliteral">"intmax_t"</span>) {</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>       LM.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#adc2cdc9db75f9ab045fa273e6597504d">setKind</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aa4a5df4f98fc3d433f94e3ae2d335c41">LengthModifier::AsIntMax</a>);</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Identifier-><a class="code" href="classclang_1_1IdentifierInfo.html#a94caec6a16e508e8ca39eacd278bd2c5" title="Return the actual identifier string.">getName</a>() == <span class="stringliteral">"uintmax_t"</span>) {</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>       LM.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#adc2cdc9db75f9ab045fa273e6597504d">setKind</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aa4a5df4f98fc3d433f94e3ae2d335c41">LengthModifier::AsIntMax</a>);</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Identifier-><a class="code" href="classclang_1_1IdentifierInfo.html#a94caec6a16e508e8ca39eacd278bd2c5" title="Return the actual identifier string.">getName</a>() == <span class="stringliteral">"ptrdiff_t"</span>) {</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>       LM.<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#adc2cdc9db75f9ab045fa273e6597504d">setKind</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ad21eeddcc550ac3295f307ee81db6d09">LengthModifier::AsPtrDiff</a>);</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>     }</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span> </div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> T = Typedef-><a class="code" href="classclang_1_1TypedefNameDecl.html#a5fccedff6d3854db365a540145029158">getUnderlyingType</a>();</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>     <span class="keywordflow">if</span> (!isa<TypedefType>(T))</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span> </div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>     Typedef = cast<TypedefType>(T)->getDecl();</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>   }</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/FormatString_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatString_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatString_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatString_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,399 @@
+<!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: FormatString.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_c63c305ced188fe7fa423548af4807d3.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_d475dbd19d31b48f9c4cacce35904903.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">FormatString.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="FormatString_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> /home/tstellar/llvm/tools/clang/lib/Analysis/Release+Asserts/FormatString.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/Release+Asserts/FormatString.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  FormatString.cpp FormatStringParsing.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>/FormatString.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> FormatStringParsing.h:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTTypeTraits.h:</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> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</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> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</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> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>/FormatString.h:</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TargetInfo.h:</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TargetCXXABI.h:</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TargetOptions.h:</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/FormatString_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatString_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatString_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatString_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,730 @@
+<!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: FormatString.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_08cb8dd42fdabd3361bfbdc9f41acf33.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_b4fe6fb44b150d8be57689f1bc720b21.html">Analyses</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">FormatString.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="FormatString_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">//= FormatString.h - Analysis of printf/fprintf format strings --*- 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 APIs for analyzing the format strings of printf, fscanf,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// and friends.</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 structure of format strings for fprintf are described in C99 7.19.6.1.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="comment">// The structure of format strings for fscanf are described in C99 7.19.6.2.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#ifndef LLVM_CLANG_FORMAT_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_FORMAT_H</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="CanonicalType_8h.html">clang/AST/CanonicalType.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">class </span>TargetInfo;</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="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">/// Common components of both fprintf and fscanf format strings.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html">   30</a></span> <span class="comment"></span><span class="keyword">namespace </span>analyze_format_string {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">/// Class representing optional flags with location and representation</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">/// information.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html">   34</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html">OptionalFlag</a> {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a3f789a1d224fc4d501bb68b3dd091002">   36</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a3f789a1d224fc4d501bb68b3dd091002">OptionalFlag</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *Representation)</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>       : representation(Representation), flag(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {}</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a93841f38dbb19a190d30d2b21f3ad27a">   38</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a93841f38dbb19a190d30d2b21f3ad27a">isSet</a>() { <span class="keywordflow">return</span> flag; }</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a0912ab468f02cf5cb20d5c30da4fddbc">   39</a></span>   <span class="keywordtype">void</span> <span class="keyword">set</span>() { flag = <span class="keyword">true</span>; }</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a7a3e954764daddc7d0b7386ad68b7a70">   40</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a7a3e954764daddc7d0b7386ad68b7a70">clear</a>() { flag = <span class="keyword">false</span>; }</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a626188ef3518631bf02cf14f0dbf808f">   41</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a626188ef3518631bf02cf14f0dbf808f">setPosition</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *position) {</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>     assert(position);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     this->position = position;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   }</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a2eb4a0cf519710f1e7d874a434b0c6de">   45</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a2eb4a0cf519710f1e7d874a434b0c6de">getPosition</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>     assert(position);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>     <span class="keywordflow">return</span> position;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   }</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#ae87d53849c3b19c4e2f460da951b333a">   49</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#ae87d53849c3b19c4e2f460da951b333a">toString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> representation; }</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="comment">// Overloaded operators for bool like qualities</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#ad151bf2544759a1d2f5cac8ef043a9cd">   52</a></span>   LLVM_EXPLICIT <span class="keyword">operator</span> <a class="code" href="stdbool_8h.html#abb452686968e48b67397da5f97445f5b">bool</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> flag; }</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a260ebaa4227333be2e2dddf53d69c7df">   53</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html">OptionalFlag</a>& <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html#a260ebaa4227333be2e2dddf53d69c7df">operator=</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> &rhs) {</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>     flag = rhs;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     <span class="keywordflow">return</span> *<span class="keyword">this</span>;  <span class="comment">// Return a reference to myself.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>   }</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *representation;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *position;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>   <span class="keywordtype">bool</span> flag;</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="comment"></span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="comment">/// Represents the length modifier in a format string in scanf/printf.</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html">   64</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">LengthModifier</a> {</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895">   66</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895">Kind</a> {</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ae6f7aa020d3fc3385d8ca62f0955a4eb">   67</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ae6f7aa020d3fc3385d8ca62f0955a4eb">None</a>,</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a4e94535d14ded9b0f3acb1d0dd2311e4">   68</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a4e94535d14ded9b0f3acb1d0dd2311e4">AsChar</a>,       <span class="comment">// 'hh'</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aabbeaa4ab5e5c115b8498b50bc0a4964">   69</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aabbeaa4ab5e5c115b8498b50bc0a4964">AsShort</a>,      <span class="comment">// 'h'</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a1ce884f4f99f7be7097e9e822fa6740a">   70</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a1ce884f4f99f7be7097e9e822fa6740a">AsLong</a>,       <span class="comment">// 'l'</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895afdd6ac3f00036867f5713c6d75055b27">   71</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895afdd6ac3f00036867f5713c6d75055b27">AsLongLong</a>,   <span class="comment">// 'll'</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8eff55fdd638a6f2774e22669fbe1c6c">   72</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8eff55fdd638a6f2774e22669fbe1c6c">AsQuad</a>,       <span class="comment">// 'q' (BSD, deprecated, for 64-bit integer types)</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aa4a5df4f98fc3d433f94e3ae2d335c41">   73</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aa4a5df4f98fc3d433f94e3ae2d335c41">AsIntMax</a>,     <span class="comment">// 'j'</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8d04c1116705674a286ea41d5b088096">   74</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8d04c1116705674a286ea41d5b088096">AsSizeT</a>,      <span class="comment">// 'z'</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ad21eeddcc550ac3295f307ee81db6d09">   75</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ad21eeddcc550ac3295f307ee81db6d09">AsPtrDiff</a>,    <span class="comment">// 't'</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aba4c17e6a09051abddf190e1e71b1aa7">   76</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aba4c17e6a09051abddf190e1e71b1aa7">AsInt32</a>,      <span class="comment">// 'I32' (MSVCRT, like __int32)</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a65aa7828dbcdf8d6ea1e0ba383603d78">   77</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a65aa7828dbcdf8d6ea1e0ba383603d78">AsInt3264</a>,    <span class="comment">// 'I'   (MSVCRT, like __int3264 from MIDL)</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a5d27a5354f13fb2715eebfed546ee303">   78</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a5d27a5354f13fb2715eebfed546ee303">AsInt64</a>,      <span class="comment">// 'I64' (MSVCRT, like __int64)</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a28f73f795c4bc11c858eb58835924652">   79</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a28f73f795c4bc11c858eb58835924652">AsLongDouble</a>, <span class="comment">// 'L'</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8e3573d0643e9fff4431cdc5f528f857">   80</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a8e3573d0643e9fff4431cdc5f528f857">AsAllocate</a>,   <span class="comment">// for '%as', GNU extension to C90 scanf</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a0d526133099ab9b15fdfc4424191ffe5">   81</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a0d526133099ab9b15fdfc4424191ffe5">AsMAllocate</a>,  <span class="comment">// for '%ms', GNU extension to scanf</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a0f091406d6f2138694de759ae3beed5a">   82</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a0f091406d6f2138694de759ae3beed5a">AsWideChar</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a1ce884f4f99f7be7097e9e822fa6740a">AsLong</a> <span class="comment">// for '%ls', only makes sense for printf</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   };</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> </div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a3acceb83515c1be643ce25153eb554ec">   85</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a3acceb83515c1be643ce25153eb554ec">LengthModifier</a>()</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>     : Position(0), kind(<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ae6f7aa020d3fc3385d8ca62f0955a4eb">None</a>) {}</div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a44e560248716d5f291eb6d7693ba2657">   87</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a3acceb83515c1be643ce25153eb554ec">LengthModifier</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pos, <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895">Kind</a> k)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>     : Position(pos), kind(k) {}</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a7d098b2242b175c1002e8ce1c1396842">   90</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a7d098b2242b175c1002e8ce1c1396842">getStart</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>     <span class="keywordflow">return</span> Position;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   }</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a193ea9c2a618d245f1bbc488cc92336f">   94</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a193ea9c2a618d245f1bbc488cc92336f">getLength</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <span class="keywordflow">switch</span> (kind) {</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>         <span class="keywordflow">return</span> 1;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>       <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895afdd6ac3f00036867f5713c6d75055b27">AsLongLong</a>:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>       <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a4e94535d14ded9b0f3acb1d0dd2311e4">AsChar</a>:</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>         <span class="keywordflow">return</span> 2;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>       <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895aba4c17e6a09051abddf190e1e71b1aa7">AsInt32</a>:</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>       <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895a5d27a5354f13fb2715eebfed546ee303">AsInt64</a>:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>         <span class="keywordflow">return</span> 3;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>       <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895ae6f7aa020d3fc3385d8ca62f0955a4eb">None</a>:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>     }</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   }</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a7a664b97549a6fe956519f54d5f2a3b6">  109</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895">Kind</a> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#a7a664b97549a6fe956519f54d5f2a3b6">getKind</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> kind; }</div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#adc2cdc9db75f9ab045fa273e6597504d">  110</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#adc2cdc9db75f9ab045fa273e6597504d">setKind</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#aff2690c378d9475ad5bf6089d0fd2895">Kind</a> k) { kind = k; }</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html#ae955ef620b2e96e01cb727b80a8e046d">toString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *Position;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> kind;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> };</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">  119</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">ConversionSpecifier</a> {</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1">  121</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1">Kind</a> {</div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a205c5b4cb2a9ca10f0a2a1f930f61c6d">  122</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a205c5b4cb2a9ca10f0a2a1f930f61c6d">InvalidSpecifier</a> = 0,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>       <span class="comment">// C99 conversion specifiers.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a02a4bb9cad84a46cec1d4e46e9e37ef0">  124</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a02a4bb9cad84a46cec1d4e46e9e37ef0">cArg</a>,</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">  125</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">dArg</a>,</div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ab1bdb2a7e55f254fb7543d15443d0ef4">  126</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ab1bdb2a7e55f254fb7543d15443d0ef4">DArg</a>, <span class="comment">// Apple extension</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">  127</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">iArg</a>,</div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa1003250fc25f7fb696a6eb61d4e8f89">  128</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1adf1bbe5cad53bafe55cd35a1ebd68e93">IntArgBeg</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa718f7d4a0e5d8d903f30acbb91e179c">dArg</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa1003250fc25f7fb696a6eb61d4e8f89">IntArgEnd</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4e6027e3aea8ed3522591419eb7b124f">iArg</a>,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">  130</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">oArg</a>,</div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09aec6acd7c9ca1774bb3d579a91bef">  131</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09aec6acd7c9ca1774bb3d579a91bef">OArg</a>, <span class="comment">// Apple extension</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">  132</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a275b8377f2e55da5fde6cbaeb8d7c5ee">uArg</a>,</div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae19e44bba2c6232cebd58adeceffdf07">  133</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae19e44bba2c6232cebd58adeceffdf07">UArg</a>, <span class="comment">// Apple extension</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ace288a48383643360e259dd3d8111dc6">  134</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ace288a48383643360e259dd3d8111dc6">xArg</a>,</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">  135</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">XArg</a>,</div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4a18adf1aad1b0bd607eb0f865378bad">  136</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a3274107d740534c20e07f064395d3354">UIntArgBeg</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeea95e9053aa7370633a3a5755348629">oArg</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4a18adf1aad1b0bd607eb0f865378bad">UIntArgEnd</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9cc747499d63456392a1aaaa415d93a9">XArg</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"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a6721002098ae2e8ac30a1ca4cba4b248">  138</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a6721002098ae2e8ac30a1ca4cba4b248">fArg</a>,</div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a542227391a27a804dcf5e74d697d0f97">  139</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a542227391a27a804dcf5e74d697d0f97">FArg</a>,</div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9fe5793ca92b10ae0ae503e86846ece0">  140</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9fe5793ca92b10ae0ae503e86846ece0">eArg</a>,</div>
+<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae80747eded1d90043b3d5ffbd6c63373">  141</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ae80747eded1d90043b3d5ffbd6c63373">EArg</a>,</div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a82797b7eeeda3d2511fcb8288bf0d8f2">  142</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a82797b7eeeda3d2511fcb8288bf0d8f2">gArg</a>,</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a69ceb6eb4b535ccb35b9a069d069b63f">  143</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a69ceb6eb4b535ccb35b9a069d069b63f">GArg</a>,</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a917e205d7abe7cfb4481388cbbf7d24b">  144</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a917e205d7abe7cfb4481388cbbf7d24b">aArg</a>,</div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa4898758cd301f62ca57b9b250708351">  145</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa4898758cd301f62ca57b9b250708351">AArg</a>,</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a7b898d22e5abc318f7114e2c0179b88c">  146</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad92884443f265fc84d1b6822ec780df6">DoubleArgBeg</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a6721002098ae2e8ac30a1ca4cba4b248">fArg</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a7b898d22e5abc318f7114e2c0179b88c">DoubleArgEnd</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa4898758cd301f62ca57b9b250708351">AArg</a>,</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad14fe138c8f80dc70c46825e01c31777">  148</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad14fe138c8f80dc70c46825e01c31777">sArg</a>,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a11e3cfa42c2e7861a94efa743a90430a">  149</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a11e3cfa42c2e7861a94efa743a90430a">pArg</a>,</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a792fd76e2c595e8cdcfbfa1bfef0e1d3">  150</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a792fd76e2c595e8cdcfbfa1bfef0e1d3">nArg</a>,</div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aca54f7cd3084cbf423f8044460f379da">  151</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aca54f7cd3084cbf423f8044460f379da">PercentArg</a>,</div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09bfd8130b55ac148da21e0e43fab9f">  152</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa09bfd8130b55ac148da21e0e43fab9f">CArg</a>,</div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a160f87b0871365f78394168a94bd9804">  153</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a160f87b0871365f78394168a94bd9804">SArg</a>,</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>     <span class="comment">// ** Printf-specific **</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> </div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>     <span class="comment">// Objective-C specific specifiers.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9967c642b61140076c027233bb9157bf">  158</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9967c642b61140076c027233bb9157bf">ObjCObjArg</a>,  <span class="comment">// '@'</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeb2a37eaabb6ea3598d9d5db346151f9">  159</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a277373dc31ff8f24885e560e7a892b49">ObjCBeg</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9967c642b61140076c027233bb9157bf">ObjCObjArg</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aeb2a37eaabb6ea3598d9d5db346151f9">ObjCEnd</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9967c642b61140076c027233bb9157bf">ObjCObjArg</a>,</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>     <span class="comment">// GlibC specific specifiers.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad20a241e0e5d50f23740ee2afe07eaa1">  162</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad20a241e0e5d50f23740ee2afe07eaa1">PrintErrno</a>,   <span class="comment">// 'm'</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a43f4034821294b502a4589a2b951c989">  164</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1adbdfa419b125655308a9071b4328021b">PrintfConvBeg</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a9967c642b61140076c027233bb9157bf">ObjCObjArg</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a43f4034821294b502a4589a2b951c989">PrintfConvEnd</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad20a241e0e5d50f23740ee2afe07eaa1">PrintErrno</a>,</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>     <span class="comment">// ** Scanf-specific **</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa35aa4f6642be10b09095a73c0ed9139">  167</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa35aa4f6642be10b09095a73c0ed9139">ScanListArg</a>, <span class="comment">// '['</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a78556dfe210caaea6282b4daf8796b22">  168</a></span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a53fa4ecabbf03caecff866cd1d4a921c">ScanfConvBeg</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa35aa4f6642be10b09095a73c0ed9139">ScanListArg</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a78556dfe210caaea6282b4daf8796b22">ScanfConvEnd</a> = <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aa35aa4f6642be10b09095a73c0ed9139">ScanListArg</a></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>   };</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1a8222200b810a2380489d185bfc430e">  171</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1a8222200b810a2380489d185bfc430e">ConversionSpecifier</a>(<span class="keywordtype">bool</span> isPrintf = <span class="keyword">true</span>)</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     : <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a271382c538146037ae34938eb715d454">IsPrintf</a>(isPrintf), <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#abdb6ccbb486a5eea1f438cf915f27bc0">Position</a>(0), <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a75e679bedc9f94b582f2f7333a9c96bd">EndScanList</a>(0), <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a205c5b4cb2a9ca10f0a2a1f930f61c6d">InvalidSpecifier</a>) {}</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_1analyze__format__string_1_1ConversionSpecifier.html#af4b5593546aa72c1a27785bd6c52b797">  174</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1a8222200b810a2380489d185bfc430e">ConversionSpecifier</a>(<span class="keywordtype">bool</span> isPrintf, <span class="keyword">const</span> <span class="keywordtype">char</span> *pos, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1">Kind</a> k)</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>     : <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a271382c538146037ae34938eb715d454">IsPrintf</a>(isPrintf), <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#abdb6ccbb486a5eea1f438cf915f27bc0">Position</a>(pos), <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a75e679bedc9f94b582f2f7333a9c96bd">EndScanList</a>(0), <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a>(k) {}</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a09d3bb18027e66c95a5ebe80cf8b96a7">  177</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a09d3bb18027e66c95a5ebe80cf8b96a7">getStart</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#abdb6ccbb486a5eea1f438cf915f27bc0">Position</a>;</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_1analyze__format__string_1_1ConversionSpecifier.html#ab45bde4db6b0562bcfb3365cf705919e">  181</a></span>   StringRef <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ab45bde4db6b0562bcfb3365cf705919e">getCharacters</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     <span class="keywordflow">return</span> StringRef(<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a09d3bb18027e66c95a5ebe80cf8b96a7">getStart</a>(), <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ac05b2b08a1441a3627c6edc91a3cdecb">getLength</a>());</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>   }</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0436843bec3bd58a671bb0da0cdc5efa">  185</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0436843bec3bd58a671bb0da0cdc5efa">consumesDataArgument</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>     <span class="keywordflow">switch</span> (<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a>) {</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>       <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad20a241e0e5d50f23740ee2afe07eaa1">PrintErrno</a>:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>         assert(<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a271382c538146037ae34938eb715d454">IsPrintf</a>);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>       <span class="keywordflow">case</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1aca54f7cd3084cbf423f8044460f379da">PercentArg</a>:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>     }</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   }</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">  197</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1">Kind</a> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a>; }</div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0100f35b80873fe36f4989cd545d34ef">  198</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0100f35b80873fe36f4989cd545d34ef">setKind</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1">Kind</a> k) { <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> = k; }</div>
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ac05b2b08a1441a3627c6edc91a3cdecb">  199</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ac05b2b08a1441a3627c6edc91a3cdecb">getLength</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a75e679bedc9f94b582f2f7333a9c96bd">EndScanList</a> ? <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a75e679bedc9f94b582f2f7333a9c96bd">EndScanList</a> - <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#abdb6ccbb486a5eea1f438cf915f27bc0">Position</a> : 1;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>   }</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ae2fba28180597c8aeeae6a1e033aa781">  203</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ae2fba28180597c8aeeae6a1e033aa781">isIntArg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> >= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1adf1bbe5cad53bafe55cd35a1ebd68e93">IntArgBeg</a> && <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> <= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifi
 er.html#a031ac8e2230ee671c2add5ac3d1a21d1aa1003250fc25f7fb696a6eb61d4e8f89">IntArgEnd</a>; }</div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a77f1c3d9f9b14454c9b46a8d66bfec33">  204</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a77f1c3d9f9b14454c9b46a8d66bfec33">isUIntArg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> >= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a3274107d740534c20e07f064395d3354">UIntArgBeg</a> && <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> <= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpeci
 fier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4a18adf1aad1b0bd607eb0f865378bad">UIntArgEnd</a>; }</div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#afa624fe09e06dcd90271e4925ead827e">  205</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#afa624fe09e06dcd90271e4925ead827e">isAnyIntArg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> >= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1adf1bbe5cad53bafe55cd35a1ebd68e93">IntArgBeg</a> && <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> <= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpec
 ifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a4a18adf1aad1b0bd607eb0f865378bad">UIntArgEnd</a>; }</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a15188659e666ceed4dc80d9712750bcf">toString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ab338cbec5869e8fba6e4504696d7ec0b">  208</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ab338cbec5869e8fba6e4504696d7ec0b">isPrintfKind</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a271382c538146037ae34938eb715d454">IsPrintf</a>; }</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>   <a class="code" href="classllvm_1_1Optional.html">Optional<ConversionSpecifier></a> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1e4c2d33f9cff497d42ebf75eb773a09">getStandardSpecifier</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00213"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a271382c538146037ae34938eb715d454">  213</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a271382c538146037ae34938eb715d454">IsPrintf</a>;</div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#abdb6ccbb486a5eea1f438cf915f27bc0">  214</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#abdb6ccbb486a5eea1f438cf915f27bc0">Position</a>;</div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a75e679bedc9f94b582f2f7333a9c96bd">  215</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a75e679bedc9f94b582f2f7333a9c96bd">EndScanList</a>;</div>
+<div class="line"><a name="l00216"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">  216</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1">Kind</a> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a>;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> };</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">  219</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">ArgType</a> {</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba9d6468f8dccc6b2acc19c71333f5453f">  221</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feb">Kind</a> { <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba9d6468f8dccc6b2acc19c71333f5453f">UnknownTy</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba0f64ac781a7360af87c8607359d9fbd4">InvalidTy</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba2193e6268c5a0f01bc35b57fb0313ca8">SpecificTy</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba74b7fe8b5d1aa264800e547b1
 03d0305">ObjCPointerTy</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba10602cf6cc265f2769925905bce93669">CPointerTy</a>,</div>
+<div class="line"><a name="l00222"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36febaf443b41de24b27a5bee7b106d007f362">  222</a></span>               <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba0e71229122ab1c9e999c52ea7c382d65">AnyCharTy</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba26bd65cefb3e97fe49557e47b522456c">CStrTy</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36febaab1ecb9be0a74f96962d05e267fcea9f">WCStrTy</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36febaf443b41de24b27a5bee7b106d007f362">WIntTy</a> };</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   <span class="keyword">const</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> K;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> T;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *Name;</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <span class="keywordtype">bool</span> Ptr;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00229"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#aba4b31a4805521a0f0c7781f71bcafe7">  229</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#aba4b31a4805521a0f0c7781f71bcafe7">ArgType</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feb">Kind</a> k = <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba9d6468f8dccc6b2acc19c71333f5453f">UnknownTy</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *n = 0) : K(k), Name(n), Ptr(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {}</div>
+<div class="line"><a name="l00230"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a9ae42e5df1774bc57b2b73aace61bb5d">  230</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#aba4b31a4805521a0f0c7781f71bcafe7">ArgType</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> t, <span class="keyword">const</span> <span class="keywordtype">char</span> *n = 0)</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>       : K(<a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba2193e6268c5a0f01bc35b57fb0313ca8">SpecificTy</a>), T(t), Name(n), Ptr(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {}</div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a5275fac79ea0adba1595bd605310d8bd">  232</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a5275fac79ea0adba1595bd605310d8bd">ArgType</a>(<a class="code" href="classclang_1_1CanQual.html">CanQualType</a> t) : K(<a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba2193e6268c5a0f01bc35b57fb0313ca8">SpecificTy</a>), T(t), Name(0), Ptr(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {}</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a12f3f11c5991420b979aac8421694816">  234</a></span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">ArgType</a> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a12f3f11c5991420b979aac8421694816">Invalid</a>() { <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#aba4b31a4805521a0f0c7781f71bcafe7">ArgType</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba0f64ac781a7360af87c8607359d9fbd4">InvalidTy</a>); }</div>
+<div class="line"><a name="l00235"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a81dab4976477a12d4a8750bb16bdfb50">  235</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a81dab4976477a12d4a8750bb16bdfb50">isValid</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> K != <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba0f64ac781a7360af87c8607359d9fbd4">InvalidTy</a>; }</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> <span class="comment"></span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> <span class="comment">  /// Create an ArgType which corresponds to the type pointer to A.</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a1948cb02c629d821aaa85eb738550356">  238</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">ArgType</a> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a1948cb02c629d821aaa85eb738550356" title="Create an ArgType which corresponds to the type pointer to A.">PtrTo</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">ArgType</a>& A) {</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>     assert(A.K >= <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0a8f19649da4629776965291d6e36feba0f64ac781a7360af87c8607359d9fbd4">InvalidTy</a> && <span class="stringliteral">"ArgType cannot be pointer to invalid/unknown"</span>);</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>     <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">ArgType</a> Res = A;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>     Res.Ptr = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>     <span class="keywordflow">return</span> Res;</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   }</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a0e0c00d374c833cec1b98760fd178868">matchesType</a>(<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_1QualType.html">QualType</a> argTy) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a6e4e2b82bb09159f2a0c7d0ff042a64a">getRepresentativeType</a>(<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="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>   std::string <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html#a724e8878d893aad91cc883bffa539c59">getRepresentativeTypeName</a>(<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="l00250"></a><span class="lineno">  250</span> };</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">  252</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a> {</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00254"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298ae0c41024f6865fff546bdf050c5d483e">  254</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298">HowSpecified</a> { <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298ae0c41024f6865fff546bdf050c5d483e">NotSpecified</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298abbe52fc4b0f718cac3333891c99953a4">Constant</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298a9fb96210254d2e1e8393cfc4712102b0">Arg</a>, <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517
 fba719fe4c2e4cb4298a9181efb050f56c6193575b414157df03">Invalid</a> };</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#ac2f18cd4c07624e833d4a8e572e39f9c">  256</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#ac2f18cd4c07624e833d4a8e572e39f9c">OptionalAmount</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298">HowSpecified</a> howSpecified,</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>                  <span class="keywordtype">unsigned</span> amount,</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>                  <span class="keyword">const</span> <span class="keywordtype">char</span> *amountStart,</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>                  <span class="keywordtype">unsigned</span> amountLength,</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>                  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#afbd01aec57718260bff092fae5d89d19">usesPositionalArg</a>)</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>   : start(amountStart), length(amountLength), hs(howSpecified), amt(amount),</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>   UsesPositionalArg(usesPositionalArg), UsesDotPrefix(0) {}</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af59d8163b46ec11ea7b700d11ab52d40">  264</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#ac2f18cd4c07624e833d4a8e572e39f9c">OptionalAmount</a>(<span class="keywordtype">bool</span> valid = <span class="keyword">true</span>)</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>   : start(0),length(0), hs(valid ? <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298ae0c41024f6865fff546bdf050c5d483e">NotSpecified</a> : <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298a9181efb050f56c6193575b414157df03">Invalid</a>), amt(0),</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>   UsesPositionalArg(0), UsesDotPrefix(0) {}</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#aaf92a8a1d065498676a30e9a1783f746">  268</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#aaf92a8a1d065498676a30e9a1783f746">isInvalid</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>     <span class="keywordflow">return</span> hs == <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298a9181efb050f56c6193575b414157df03">Invalid</a>;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>   }</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a1bdab324c18f9deae4be0fa80375bbae">  272</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298">HowSpecified</a> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a1bdab324c18f9deae4be0fa80375bbae">getHowSpecified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> hs; }</div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#aff51385b958a7efa9dbf196d29a4bfc4">  273</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#aff51385b958a7efa9dbf196d29a4bfc4">setHowSpecified</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298">HowSpecified</a> h) { hs = h; }</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a494b9f8e86c092ad15bdf1a98d257ddf">  275</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a494b9f8e86c092ad15bdf1a98d257ddf">hasDataArgument</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> hs == <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298a9fb96210254d2e1e8393cfc4712102b0">Arg</a>; }</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#aba6415c3e2abd44fcc2b74d63f368eaf">  277</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#aba6415c3e2abd44fcc2b74d63f368eaf">getArgIndex</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>     assert(<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a494b9f8e86c092ad15bdf1a98d257ddf">hasDataArgument</a>());</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>     <span class="keywordflow">return</span> amt;</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>   }</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a084323f2fb5018892ce99341bb23994b">  282</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a084323f2fb5018892ce99341bb23994b">getConstantAmount</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>     assert(hs == <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298abbe52fc4b0f718cac3333891c99953a4">Constant</a>);</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     <span class="keywordflow">return</span> amt;</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>   }</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a5235865a3276ffca23de7712d4476711">  287</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a5235865a3276ffca23de7712d4476711">getStart</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>       <span class="comment">// We include the . character if it is given.</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     <span class="keywordflow">return</span> start - UsesDotPrefix;</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>   }</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a5b13e2cb578bffc89d65c7940eadbdbe">  292</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a5b13e2cb578bffc89d65c7940eadbdbe">getConstantLength</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     assert(hs == <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298abbe52fc4b0f718cac3333891c99953a4">Constant</a>);</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>     <span class="keywordflow">return</span> length + UsesDotPrefix;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>   }</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">ArgType</a> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a1cb0f01d65cbf8334a4e9cc26ee502fa">getArgType</a>(<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> &Ctx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#ab35eb56b2a934e0035fe00d98517dbae">toString</a>(raw_ostream &os) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#afbd01aec57718260bff092fae5d89d19">  301</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#afbd01aec57718260bff092fae5d89d19">usesPositionalArg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>) UsesPositionalArg; }</div>
+<div class="line"><a name="l00302"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a3c90b316a4912520d357555931996b93">  302</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a3c90b316a4912520d357555931996b93">getPositionalArgIndex</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>     assert(<a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a494b9f8e86c092ad15bdf1a98d257ddf">hasDataArgument</a>());</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>     <span class="keywordflow">return</span> amt + 1;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   }</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a344ff36105dc88fb0fc4dde0772415ff">  307</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a344ff36105dc88fb0fc4dde0772415ff">usesDotPrefix</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> UsesDotPrefix; }</div>
+<div class="line"><a name="l00308"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a778c78e5c5b6c5538250c323b09cfb3f">  308</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#a778c78e5c5b6c5538250c323b09cfb3f">setUsesDotPrefix</a>() { UsesDotPrefix = <span class="keyword">true</span>; }</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *start;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   <span class="keywordtype">unsigned</span> length;</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html#af3d4f50f89517fba719fe4c2e4cb4298">HowSpecified</a> hs;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   <span class="keywordtype">unsigned</span> amt;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>   <span class="keywordtype">bool</span> UsesPositionalArg : 1;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>   <span class="keywordtype">bool</span> UsesDotPrefix;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> };</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html">  320</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html">FormatSpecifier</a> {</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00322"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">  322</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">LengthModifier</a> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a>;</div>
+<div class="line"><a name="l00323"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#af821fee6a6a3daf8e2f1a1d375a362ba">  323</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#af821fee6a6a3daf8e2f1a1d375a362ba">FieldWidth</a>;</div>
+<div class="line"><a name="l00324"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">  324</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">ConversionSpecifier</a> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> <span class="comment">  /// Positional arguments, an IEEE extension:</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> <span class="comment">  ///  IEEE Std 1003.1, 2004 Edition</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> <span class="comment">  ///  http://www.opengroup.org/onlinepubs/009695399/functions/printf.html</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ade2fd6c364b8d6209d0b27320629ccc8">  328</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ade2fd6c364b8d6209d0b27320629ccc8">UsesPositionalArg</a>;</div>
+<div class="line"><a name="l00329"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9b8bebe3cd44429457985144d0ebbfef">  329</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9b8bebe3cd44429457985144d0ebbfef">argIndex</a>;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00331"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9569e0b660642cabcb93d12807ac0fcc">  331</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9569e0b660642cabcb93d12807ac0fcc">FormatSpecifier</a>(<span class="keywordtype">bool</span> isPrintf)</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>     : <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>(isPrintf), <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ade2fd6c364b8d6209d0b27320629ccc8">UsesPositionalArg</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9b8bebe3cd44429457985144d0ebbfef">argIndex</a>(0) {}</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a8dc303adcda1fe3a47a30b61d9a818b1">  334</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a8dc303adcda1fe3a47a30b61d9a818b1">setLengthModifier</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">LengthModifier</a> lm) {</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>     <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a> = lm;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   }</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a79e468f6e0345632bd6aafbe3ebc8386">  338</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a79e468f6e0345632bd6aafbe3ebc8386">setUsesPositionalArg</a>() { <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ade2fd6c364b8d6209d0b27320629ccc8">UsesPositionalArg</a> = <span class="keyword">true</span>; }</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a894e7aae1edd453d05439c2ccff03873">  340</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a894e7aae1edd453d05439c2ccff03873">setArgIndex</a>(<span class="keywordtype">unsigned</span> i) {</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>     <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9b8bebe3cd44429457985144d0ebbfef">argIndex</a> = i;</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>   }</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a642359ea9c381829feb0e1e76fea1276">  344</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a642359ea9c381829feb0e1e76fea1276">getArgIndex</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9b8bebe3cd44429457985144d0ebbfef">argIndex</a>;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>   }</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a4ce924042d146f0e33abd0801600d995">  348</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a4ce924042d146f0e33abd0801600d995">getPositionalArgIndex</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9b8bebe3cd44429457985144d0ebbfef">argIndex</a> + 1;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>   }</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a636da2433e48a20e707100210d9fb204">  352</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">LengthModifier</a> &<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a636da2433e48a20e707100210d9fb204">getLengthModifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a>;</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>   }</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ad562e6277e4f167cde779be19f84029c">  356</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a> &<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ad562e6277e4f167cde779be19f84029c">getFieldWidth</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#af821fee6a6a3daf8e2f1a1d375a362ba">FieldWidth</a>;</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   }</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a506829b42d35b7466b81c3c7b6fbcc6d">  360</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a506829b42d35b7466b81c3c7b6fbcc6d">setFieldWidth</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">OptionalAmount</a> &Amt) {</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>     <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#af821fee6a6a3daf8e2f1a1d375a362ba">FieldWidth</a> = Amt;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>   }</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a5e2d2eede7892b3bc7d860cca54acb9a">  364</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a5e2d2eede7892b3bc7d860cca54acb9a">usesPositionalArg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ade2fd6c364b8d6209d0b27320629ccc8">UsesPositionalArg</a>; }</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a6b0f78cb00669c5bc2ed8c86f180f62d">hasValidLengthModifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &Target) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a09b0b1de8fa313f6d77b8b18f8049908">hasStandardLengthModifier</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   <a class="code" href="classllvm_1_1Optional.html">Optional<LengthModifier></a> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a79d0210e35e2468ea3de498d53e83ad7">getCorrectedLengthModifier</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ab938beb9519f744884869a3b798f04e1">hasStandardConversionSpecifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpt) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> </div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a104207ca3f0e77d6c0de6e319ee99428">hasStandardLengthConversionCombination</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> <span class="comment"></span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> <span class="comment">  /// For a TypedefType QT, if it is a named integer type such as size_t,</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> <span class="comment">  /// assign the appropriate value to LM and return true.</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ad02ebd54580d9f5baa1dc2ad0bb0ea3f">namedTypeToLengthModifier</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> QT, <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">LengthModifier</a> &<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a10bbf7d7369792f5fb86f869dae59b45">LM</a>);</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> };</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> } <span class="comment">// end analyze_format_string namespace</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> <span class="comment">/// Pieces specific to fprintf format strings.</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> <span class="comment"></span></div>
+<div class="line"><a name="l00386"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__printf.html">  386</a></span> <span class="keyword">namespace </span>analyze_printf {</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html">  388</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html">PrintfConversionSpecifier</a> :</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>   <span class="keyword">public</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">analyze_format_string::ConversionSpecifier</a>  {</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00391"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a58ae1ce1e6a5ba8e6fe5b9696cf0bacd">  391</a></span>   <a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a58ae1ce1e6a5ba8e6fe5b9696cf0bacd">PrintfConversionSpecifier</a>()</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>     : <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1a8222200b810a2380489d185bfc430e">ConversionSpecifier</a>(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>, 0, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a205c5b4cb2a9ca10f0a2a1f930f61c6d">InvalidSpecifier</a>) {}</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> </div>
+<div class="line"><a name="l00394"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a265bb140235f3bf295284f8db0820a94">  394</a></span>   <a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a58ae1ce1e6a5ba8e6fe5b9696cf0bacd">PrintfConversionSpecifier</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pos, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1">Kind</a> k)</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     : <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1a8222200b810a2380489d185bfc430e">ConversionSpecifier</a>(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>, pos, k) {}</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a435ca9212e8edba7d2ba6ba3990c7805">  397</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a435ca9212e8edba7d2ba6ba3990c7805">isObjCArg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> >= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a277373dc31ff8f24885e560e7a892b49">ObjCBeg</a> && <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> <= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.ht
 ml#a031ac8e2230ee671c2add5ac3d1a21d1aeb2a37eaabb6ea3598d9d5db346151f9">ObjCEnd</a>; }</div>
+<div class="line"><a name="l00398"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#aa60c7c0afe0b1f70eb1c592d220acf5d">  398</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#aa60c7c0afe0b1f70eb1c592d220acf5d">isDoubleArg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> >= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1ad92884443f265fc84d1b6822ec780df6">DoubleArgBeg</a> &&</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>                                     <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a421d9c7e99f13006a269b3eafaa38801">kind</a> <= <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a7b898d22e5abc318f7114e2c0179b88c">DoubleArgEnd</a>; }</div>
+<div class="line"><a name="l00400"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a4fa94700e282803946fc9da72452c0b7">  400</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a4fa94700e282803946fc9da72452c0b7">getLength</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>       <span class="comment">// Conversion specifiers currently only are represented by</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>       <span class="comment">// single characters, but we be flexible.</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>     <span class="keywordflow">return</span> 1;</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>   }</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a30ca934b3e365bc5857020301cf44bbf">  406</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html#a30ca934b3e365bc5857020301cf44bbf">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">analyze_format_string::ConversionSpecifier</a> *CS) {</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     <span class="keywordflow">return</span> CS-><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ab338cbec5869e8fba6e4504696d7ec0b">isPrintfKind</a>();</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>   }</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> };</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">analyze_format_string::ArgType</a>;</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">analyze_format_string::LengthModifier</a>;</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">analyze_format_string::OptionalAmount</a>;</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html">analyze_format_string::OptionalFlag</a>;</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_1analyze__printf_1_1PrintfSpecifier.html">  416</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html">PrintfSpecifier</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html">analyze_format_string::FormatSpecifier</a> {</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>   OptionalFlag HasThousandsGrouping; <span class="comment">// ''', POSIX extension.</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   OptionalFlag IsLeftJustified; <span class="comment">// '-'</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>   OptionalFlag HasPlusPrefix; <span class="comment">// '+'</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>   OptionalFlag HasSpacePrefix; <span class="comment">// ' '</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>   OptionalFlag HasAlternativeForm; <span class="comment">// '#'</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>   OptionalFlag HasLeadingZeroes; <span class="comment">// '0'</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>   OptionalAmount Precision;</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00425"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a7a51ef3d8b6da085965163bfc3d942f6">  425</a></span>   <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a7a51ef3d8b6da085965163bfc3d942f6">PrintfSpecifier</a>() :</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>     <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9569e0b660642cabcb93d12807ac0fcc">FormatSpecifier</a>(<span class="comment">/* isPrintf = */</span> <a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>),</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>     HasThousandsGrouping(<span class="stringliteral">"'"</span>), IsLeftJustified(<span class="stringliteral">"-"</span>), HasPlusPrefix(<span class="stringliteral">"+"</span>),</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>     HasSpacePrefix(<span class="stringliteral">" "</span>), HasAlternativeForm(<span class="stringliteral">"#"</span>), HasLeadingZeroes(<span class="stringliteral">"0"</span>) {}</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> </div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html">PrintfSpecifier</a> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a3d83ff7d4f10374d7e2c628619941563">Parse</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *beg, <span class="keyword">const</span> <span class="keywordtype">char</span> *end);</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>     <span class="comment">// Methods for incrementally constructing the PrintfSpecifier.</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#af97739aa1069314c94bacad296099277">  433</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#af97739aa1069314c94bacad296099277">setConversionSpecifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html">PrintfConversionSpecifier</a> &cs) {</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>     <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a> = cs;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>   }</div>
+<div class="line"><a name="l00436"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a2fcb3a5dce559af80804348d75f7dc3e">  436</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a2fcb3a5dce559af80804348d75f7dc3e">setHasThousandsGrouping</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *position) {</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>     HasThousandsGrouping = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>     HasThousandsGrouping.setPosition(position);</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>   }</div>
+<div class="line"><a name="l00440"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a4f766d5d02bd7717722a34a5903267ba">  440</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a4f766d5d02bd7717722a34a5903267ba">setIsLeftJustified</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *position) {</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>     IsLeftJustified = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>     IsLeftJustified.setPosition(position);</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>   }</div>
+<div class="line"><a name="l00444"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a73a4f0289f7fe23d24e19c1a2ac7edc8">  444</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a73a4f0289f7fe23d24e19c1a2ac7edc8">setHasPlusPrefix</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *position) {</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>     HasPlusPrefix = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>     HasPlusPrefix.setPosition(position);</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>   }</div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a216b9238ac123b4efdfa5aa184116564">  448</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a216b9238ac123b4efdfa5aa184116564">setHasSpacePrefix</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *position) {</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>     HasSpacePrefix = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>     HasSpacePrefix.setPosition(position);</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>   }</div>
+<div class="line"><a name="l00452"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a09309997a093665db3d1207d155c1841">  452</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a09309997a093665db3d1207d155c1841">setHasAlternativeForm</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *position) {</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>     HasAlternativeForm = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>     HasAlternativeForm.setPosition(position);</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>   }</div>
+<div class="line"><a name="l00456"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a84f75544771361bd6d0530c1e967c534">  456</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a84f75544771361bd6d0530c1e967c534">setHasLeadingZeros</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *position) {</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>     HasLeadingZeroes = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>     HasLeadingZeroes.setPosition(position);</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>   }</div>
+<div class="line"><a name="l00460"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#aa2b8f5d3041cdcb21bee038a9acf34d8">  460</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#aa2b8f5d3041cdcb21bee038a9acf34d8">setUsesPositionalArg</a>() { <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ade2fd6c364b8d6209d0b27320629ccc8">UsesPositionalArg</a> = <span class="keyword">true</span>; }</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>     <span class="comment">// Methods for querying the format specifier.</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a4e7feaf91987120bcdeac9529e952c08">  464</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfConversionSpecifier.html">PrintfConversionSpecifier</a> &<a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a4e7feaf91987120bcdeac9529e952c08">getConversionSpecifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>     <span class="keywordflow">return</span> cast<PrintfConversionSpecifier>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>);</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>   }</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#accdfbbae33599877454e64ae6e9f0dba">  468</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#accdfbbae33599877454e64ae6e9f0dba">setPrecision</a>(<span class="keyword">const</span> OptionalAmount &Amt) {</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>     Precision = Amt;</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>     Precision.setUsesDotPrefix();</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>   }</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> </div>
+<div class="line"><a name="l00473"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a2f6718e64d07f6a302b277ffd83a5775">  473</a></span>   <span class="keyword">const</span> OptionalAmount &<a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a2f6718e64d07f6a302b277ffd83a5775">getPrecision</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>     <span class="keywordflow">return</span> Precision;</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>   }</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a name="l00477"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#afb7cace578d8e438e021413a4bb01150">  477</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#afb7cace578d8e438e021413a4bb01150">consumesDataArgument</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a4e7feaf91987120bcdeac9529e952c08">getConversionSpecifier</a>().<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0436843bec3bd58a671bb0da0cdc5efa">consumesDataArgument</a>();</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"></span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> <span class="comment">  /// \brief Returns the builtin type that a data argument</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span> <span class="comment">  /// paired with this format specifier should have.  This method</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> <span class="comment">  /// will return null if the format specifier does not have</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> <span class="comment">  /// a matching data argument or the matching argument matches</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> <span class="comment">  /// more than one type.</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> <span class="comment"></span>  ArgType <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a27fd37dd5543a4e6f5731a79c729bd27" title="Returns the builtin type that a data argument paired with this format specifier should have...">getArgType</a>(<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> &Ctx, <span class="keywordtype">bool</span> IsObjCLiteral) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> </div>
+<div class="line"><a name="l00488"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#af8b96632763f9cd53743a10dfc449ab6">  488</a></span>   <span class="keyword">const</span> OptionalFlag &<a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#af8b96632763f9cd53743a10dfc449ab6">hasThousandsGrouping</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>       <span class="keywordflow">return</span> HasThousandsGrouping;</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>   }</div>
+<div class="line"><a name="l00491"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#ad7f3f05a759dc553d38de2ab6b1d31d7">  491</a></span>   <span class="keyword">const</span> OptionalFlag &<a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#ad7f3f05a759dc553d38de2ab6b1d31d7">isLeftJustified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> IsLeftJustified; }</div>
+<div class="line"><a name="l00492"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a7619e089862d49a7dec6b091f5142aa4">  492</a></span>   <span class="keyword">const</span> OptionalFlag &<a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a7619e089862d49a7dec6b091f5142aa4">hasPlusPrefix</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> HasPlusPrefix; }</div>
+<div class="line"><a name="l00493"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a202e24d4766cd2c025238afe709c1c47">  493</a></span>   <span class="keyword">const</span> OptionalFlag &<a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a202e24d4766cd2c025238afe709c1c47">hasAlternativeForm</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> HasAlternativeForm; }</div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#acac97f738079ce4d80491fba588e6325">  494</a></span>   <span class="keyword">const</span> OptionalFlag &<a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#acac97f738079ce4d80491fba588e6325">hasLeadingZeros</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> HasLeadingZeroes; }</div>
+<div class="line"><a name="l00495"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a9d31315d97f31e678c7127799e85f557">  495</a></span>   <span class="keyword">const</span> OptionalFlag &<a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a9d31315d97f31e678c7127799e85f557">hasSpacePrefix</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> HasSpacePrefix; }</div>
+<div class="line"><a name="l00496"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a9d9da6dd9387cb683a3285ec49dde2c5">  496</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a9d9da6dd9387cb683a3285ec49dde2c5">usesPositionalArg</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#ade2fd6c364b8d6209d0b27320629ccc8">UsesPositionalArg</a>; }</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> <span class="comment"></span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> <span class="comment">  /// Changes the specifier and length according to a QualType, retaining any</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> <span class="comment">  /// flags or options. Returns true on success, or false when a conversion</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span> <span class="comment">  /// was not successful.</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a53f052c5f7e6c353207d915d4dfc8259">fixType</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> QT, <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpt, <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> &Ctx,</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>                <span class="keywordtype">bool</span> IsObjCLiteral);</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> </div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a89435131305ce4d3bda1708c44bb3c18">toString</a>(raw_ostream &os) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>   <span class="comment">// Validation methods - to check if any element results in undefined behavior</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#aa071fda2fa93eb7a55a1282b4f8b26b0">hasValidPlusPrefix</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#aaef6ff30a9d255483474f7594d76db88">hasValidAlternativeForm</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a55216406d60587c52294f1d3c3a0b8cf">hasValidLeadingZeros</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a68dd4929ecc459e187bd84275bbeeb00">hasValidSpacePrefix</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#af99ae96c3a959d675f61017894c3e853">hasValidLeftJustified</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a02576b727287130b58f175763f282bac">hasValidThousandsGroupingPrefix</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> </div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#a9bc21400ee8c8651be8fdbe185054874">hasValidPrecision</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html#ac352b9d249cf6938870eb60db48a87d1">hasValidFieldWidth</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span> };</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> }  <span class="comment">// end analyze_printf namespace</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> </div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span> <span class="comment">/// Pieces specific to fscanf format strings.</span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> <span class="comment"></span></div>
+<div class="line"><a name="l00522"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__scanf.html">  522</a></span> <span class="keyword">namespace </span>analyze_scanf {</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span> </div>
+<div class="line"><a name="l00524"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">  524</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">ScanfConversionSpecifier</a> :</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>     <span class="keyword">public</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">analyze_format_string::ConversionSpecifier</a>  {</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00527"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html#aed1ee3b84c15865a7228b979df9e97fb">  527</a></span>   <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html#aed1ee3b84c15865a7228b979df9e97fb">ScanfConversionSpecifier</a>()</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>     : <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1a8222200b810a2380489d185bfc430e">ConversionSpecifier</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>, 0, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1a205c5b4cb2a9ca10f0a2a1f930f61c6d">InvalidSpecifier</a>) {}</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span> </div>
+<div class="line"><a name="l00530"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html#aa7cc3098df7528adb4bacde46dec9333">  530</a></span>   <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html#aed1ee3b84c15865a7228b979df9e97fb">ScanfConversionSpecifier</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pos, <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a031ac8e2230ee671c2add5ac3d1a21d1">Kind</a> k)</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>     : <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a1a8222200b810a2380489d185bfc430e">ConversionSpecifier</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>, pos, k) {}</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span> </div>
+<div class="line"><a name="l00533"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html#ab70cd6fbf8283afde86c3cfb17bdb1e7">  533</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html#ab70cd6fbf8283afde86c3cfb17bdb1e7">setEndScanList</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pos) { <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a75e679bedc9f94b582f2f7333a9c96bd">EndScanList</a> = pos; }</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_1analyze__scanf_1_1ScanfConversionSpecifier.html#af85a57e8ab2fea7272fc802aee92b507">  535</a></span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html#af85a57e8ab2fea7272fc802aee92b507">classof</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html">analyze_format_string::ConversionSpecifier</a> *CS) {</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>     <span class="keywordflow">return</span> !CS-><a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#ab338cbec5869e8fba6e4504696d7ec0b">isPrintfKind</a>();</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>   }</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span> };</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> </div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1ArgType.html">analyze_format_string::ArgType</a>;</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1LengthModifier.html" title="Represents the length modifier in a format string in scanf/printf.">analyze_format_string::LengthModifier</a>;</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalAmount.html">analyze_format_string::OptionalAmount</a>;</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__format__string_1_1OptionalFlag.html">analyze_format_string::OptionalFlag</a>;</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span> </div>
+<div class="line"><a name="l00545"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html">  545</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html">ScanfSpecifier</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html">analyze_format_string::FormatSpecifier</a> {</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>   OptionalFlag SuppressAssignment; <span class="comment">// '*'</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00548"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a77adb36f7d009dda928deb6180087ccd">  548</a></span>   <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a77adb36f7d009dda928deb6180087ccd">ScanfSpecifier</a>() :</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>     <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#a9569e0b660642cabcb93d12807ac0fcc">FormatSpecifier</a>(<span class="comment">/* isPrintf = */</span> <a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>     SuppressAssignment(<span class="stringliteral">"*"</span>) {}</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span> </div>
+<div class="line"><a name="l00552"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#acf478843dd36eb34dae1a51465c68caf">  552</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#acf478843dd36eb34dae1a51465c68caf">setSuppressAssignment</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *position) {</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>     SuppressAssignment = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>     SuppressAssignment.setPosition(position);</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>   }</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> </div>
+<div class="line"><a name="l00557"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a5bb29d85fd558f7b4bbde3511a3667e6">  557</a></span>   <span class="keyword">const</span> OptionalFlag &<a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a5bb29d85fd558f7b4bbde3511a3667e6">getSuppressAssignment</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>     <span class="keywordflow">return</span> SuppressAssignment;</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>   }</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span> </div>
+<div class="line"><a name="l00561"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#ab18c8b552afbd33b1e766021e15c4eef">  561</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#ab18c8b552afbd33b1e766021e15c4eef">setConversionSpecifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">ScanfConversionSpecifier</a> &cs) {</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>     <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a> = cs;</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>   }</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span> </div>
+<div class="line"><a name="l00565"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a83e18110d56e417722152feb036ef698">  565</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">ScanfConversionSpecifier</a> &<a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a83e18110d56e417722152feb036ef698">getConversionSpecifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>     <span class="keywordflow">return</span> cast<ScanfConversionSpecifier>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>);</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>   }</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> </div>
+<div class="line"><a name="l00569"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a3bf1be14240de0a95a76f157dbe5ca70">  569</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a3bf1be14240de0a95a76f157dbe5ca70">consumesDataArgument</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatSpecifier.html#aace736b8c6fb2b53754eaa0b28202197">CS</a>.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0436843bec3bd58a671bb0da0cdc5efa">consumesDataArgument</a>() && !SuppressAssignment;</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>   }</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span> </div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>   ArgType <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a0a02eecb52cb3f9bc302cc7d5159b058">getArgType</a>(<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> &Ctx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span> </div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#af221b74797cf9f97b898d26bbac08f06">fixType</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> QT, <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpt, <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> &Ctx);</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span> </div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#ad09401ad2d4c1d88015bd6f511f3ebce">toString</a>(raw_ostream &os) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span> </div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html">ScanfSpecifier</a> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a339d23fbcc2d695c410fceea39d42a61">Parse</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *beg, <span class="keyword">const</span> <span class="keywordtype">char</span> *end);</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span> };</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> </div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> } <span class="comment">// end analyze_scanf namespace</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> </div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span> <span class="comment">// Parsing and processing of format strings (both fprintf and fscanf).</span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> </div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span> <span class="keyword">namespace </span>analyze_format_string {</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span> </div>
+<div class="line"><a name="l00589"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html#ac609d0752a325cdc9217edc037c6a31faecd94e985c42a37fae84ad5938522b20">  589</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#ac609d0752a325cdc9217edc037c6a31f">PositionContext</a> { <a class="code" href="namespaceclang_1_1analyze__format__string.html#ac609d0752a325cdc9217edc037c6a31fa8b4abdf44e62e1dd2daec8ba593e1a11">FieldWidthPos</a> = 0, <a class="code" href="namespaceclang_1_1analyze__format__string.html#ac609d0752a325cdc9217edc037c6a31faecd94e985c42a37fae84ad5938522b20">PrecisionPos</a> = 1 };</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span> </div>
+<div class="line"><a name="l00591"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">  591</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> {</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00593"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#affe8657c73d21cfa9a96fc9c05cfce05">  593</a></span>   <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#affe8657c73d21cfa9a96fc9c05cfce05">FormatStringHandler</a>() {}</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ab9bb524cb0f4573060564755f70e0a8d">~FormatStringHandler</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"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a9c1f8e30343640d08cac15dae21f76b6">  596</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a9c1f8e30343640d08cac15dae21f76b6">HandleNullChar</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *nullCharacter) {}</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span> </div>
+<div class="line"><a name="l00598"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#abb30308269f8f7e68d9320633c2eb11a">  598</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#abb30308269f8f7e68d9320633c2eb11a">HandlePosition</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *startPos, <span class="keywordtype">unsigned</span> posLen) {}</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span> </div>
+<div class="line"><a name="l00600"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ac530271593736374f8df5b2d3365190f">  600</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ac530271593736374f8df5b2d3365190f">HandleInvalidPosition</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *startPos, <span class="keywordtype">unsigned</span> posLen,</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>                                      <a class="code" href="namespaceclang_1_1analyze__format__string.html#ac609d0752a325cdc9217edc037c6a31f">PositionContext</a> p) {}</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span> </div>
+<div class="line"><a name="l00603"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#aceff92e78278795d82fd62ae69c214df">  603</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#aceff92e78278795d82fd62ae69c214df">HandleZeroPosition</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *startPos, <span class="keywordtype">unsigned</span> posLen) {}</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span> </div>
+<div class="line"><a name="l00605"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ad26d531598d5b071215064ed67a02bcd">  605</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#ad26d531598d5b071215064ed67a02bcd">HandleIncompleteSpecifier</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *startSpecifier,</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>                                          <span class="keywordtype">unsigned</span> specifierLen) {}</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span> </div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>   <span class="comment">// Printf-specific handlers.</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span> </div>
+<div class="line"><a name="l00610"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a1c92a01898d6c0c42c855ca99c066f59">  610</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a1c92a01898d6c0c42c855ca99c066f59">HandleInvalidPrintfConversionSpecifier</a>(</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>                                       <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html">analyze_printf::PrintfSpecifier</a> &FS,</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>                                       <span class="keyword">const</span> <span class="keywordtype">char</span> *startSpecifier,</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>                                       <span class="keywordtype">unsigned</span> specifierLen) {</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>   }</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span> </div>
+<div class="line"><a name="l00617"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a1204be1a3e872d743ec960f76f43fd11">  617</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a1204be1a3e872d743ec960f76f43fd11">HandlePrintfSpecifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__printf_1_1PrintfSpecifier.html">analyze_printf::PrintfSpecifier</a> &FS,</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>                                      <span class="keyword">const</span> <span class="keywordtype">char</span> *startSpecifier,</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>                                      <span class="keywordtype">unsigned</span> specifierLen) {</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>     <span class="keywordflow">return</span> <span class="keyword">true</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">// Scanf-specific handlers.</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span> </div>
+<div class="line"><a name="l00625"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#afc5ecd927d044433bda337f0171e7809">  625</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#afc5ecd927d044433bda337f0171e7809">HandleInvalidScanfConversionSpecifier</a>(</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html">analyze_scanf::ScanfSpecifier</a> &FS,</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>                                         <span class="keyword">const</span> <span class="keywordtype">char</span> *startSpecifier,</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>                                         <span class="keywordtype">unsigned</span> specifierLen) {</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>   }</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span> </div>
+<div class="line"><a name="l00632"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#aeac4749d62478cc736cebd4f6fe7c9bc">  632</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#aeac4749d62478cc736cebd4f6fe7c9bc">HandleScanfSpecifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html">analyze_scanf::ScanfSpecifier</a> &FS,</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>                                     <span class="keyword">const</span> <span class="keywordtype">char</span> *startSpecifier,</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>                                     <span class="keywordtype">unsigned</span> specifierLen) {</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>   }</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span> </div>
+<div class="line"><a name="l00638"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a959fb76b8aff05e12290c6742fc07f53">  638</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a959fb76b8aff05e12290c6742fc07f53">HandleIncompleteScanList</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *start, <span class="keyword">const</span> <span class="keywordtype">char</span> *end) {}</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span> };</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span> </div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#ae7ccf18a079e318bcbf0f690be71a423">ParsePrintfString</a>(FormatStringHandler &H,</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>                        <span class="keyword">const</span> <span class="keywordtype">char</span> *beg, <span class="keyword">const</span> <span class="keywordtype">char</span> *end, <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LO,</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>                        <span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &Target);</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span> </div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#af090016fd7bafde22c843e925d696b3d">ParseScanfString</a>(FormatStringHandler &H,</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>                       <span class="keyword">const</span> <span class="keywordtype">char</span> *beg, <span class="keyword">const</span> <span class="keywordtype">char</span> *end, <span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LO,</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>                       <span class="keyword">const</span> <a class="code" href="classclang_1_1TargetInfo.html" title="Exposes information about the current target.">TargetInfo</a> &Target);</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span> </div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> } <span class="comment">// end analyze_format_string namespace</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span> } <span class="comment">// end clang namespace</span></div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/FormatToken_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatToken_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatToken_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatToken_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,283 @@
+<!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: FormatToken.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">FormatToken.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="FormatToken_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">//===--- FormatToken.cpp - Format C++ code --------------------------------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// \brief This file implements specific functions of \c FormatTokens and their</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">/// roles.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="FormatToken_8h.html" title="This file contains the declaration of the FormatToken, a wrapper around Token with additional informa...">FormatToken.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="ContinuationIndenter_8h.html" title="This file implements an indenter that manages the indentation of continuations.">ContinuationIndenter.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="Format_8h.html">clang/Format/Format.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "llvm/ADT/SmallVector.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/Support/Debug.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">namespace </span>format {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1TokenRole.html#ae78d6a220114fcc7f2a2fdf8f0b49943">   25</a></span> <a class="code" href="classclang_1_1format_1_1TokenRole.html#ae78d6a220114fcc7f2a2fdf8f0b49943">TokenRole::~TokenRole</a>() {}</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1TokenRole.html#a16c2035d3702379596da2fd39a2cab10">   27</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1TokenRole.html#a16c2035d3702379596da2fd39a2cab10" title="After the TokenAnnotator has finished annotating all the tokens, this function precomputes required i...">TokenRole::precomputeFormattingInfos</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="classclang_1_1Token.html">Token</a>) {}</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html#a6f2b9d7fccee3dbbfcd830d024b10b8e">   29</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html#a6f2b9d7fccee3dbbfcd830d024b10b8e" title="Apply the special formatting that the given role demands.">CommaSeparatedList::format</a>(<a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>                                     <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html">ContinuationIndenter</a> *<a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>,</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>                                     <span class="keywordtype">bool</span> DryRun) {</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>   <span class="keywordflow">if</span> (!State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a> || !State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a> ||</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>       Commas.size() <= 2)</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="comment">// Ensure that we start on the opening brace.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *LBrace = State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keywordflow">if</span> (LBrace-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a70cb2af212cf1462b3e533de7867fa51">isNot</a>(tok::l_brace) ||</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>       LBrace-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a8535587de7dd43ab56e32b88279ea917" title="Contains the kind of block if this token is a brace.">BlockKind</a> == <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaac0cd3adbed48a71039a2855df3fe8036">BK_Block</a> ||</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>       LBrace-><a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a1539e9e36f093ea30703159731670a0d">TT_DictLiteral</a> ||</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>       LBrace-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430af3ff69cf1759e24f4f7d8f3c5ca01d69">TT_DesignatedInitializerPeriod</a>)</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <span class="comment">// Calculate the number of code points we have to format this list. As the</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="comment">// first token is already placed, we have to subtract it.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keywordtype">unsigned</span> RemainingCodePoints = <a class="code" href="classclang_1_1format_1_1TokenRole.html#a5924b5484f0f8f27c7fcf43eb89231b1">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a> - State.<a class="code" href="structclang_1_1format_1_1LineState.html#a4738f13ffbb9ada85645918e807fcb9c" title="The number of used columns in the current line.">Column</a> +</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>                                  State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a>;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   <span class="comment">// Find the best ColumnFormat, i.e. the best number of columns to use.</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <span class="keyword">const</span> ColumnFormat *Format = getColumnFormat(RemainingCodePoints);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="keywordflow">if</span> (!Format)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   <span class="comment">// Format the entire list.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   <span class="keywordtype">unsigned</span> Penalty = 0;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>   <span class="keywordtype">unsigned</span> <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a> = 0;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>   <span class="keywordtype">unsigned</span> Item = 0;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   <span class="keywordflow">while</span> (State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a> != LBrace-><a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>) {</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>     <span class="keywordtype">bool</span> <a class="code" href="Format_8cpp.html#a5034b09b7876fa69430159948e9a403e">NewLine</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>     <span class="keywordtype">unsigned</span> ExtraSpaces = 0;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>     <span class="comment">// If the previous token was one of our commas, we are now on the next item.</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>     <span class="keywordflow">if</span> (Item < Commas.size() && State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a> == Commas[Item]) {</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>       <span class="keywordflow">if</span> (!State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a810285a2ad890ec1f70b823433ad9f94">isTrailingComment</a>()) {</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>         ExtraSpaces += Format->ColumnSizes[<a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>] - ItemLengths[Item];</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>         ++<a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>       }</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>       ++Item;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     }</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>     <span class="keywordflow">if</span> (Column == Format->Columns || State.<a class="code" href="structclang_1_1format_1_1LineState.html#aebb3f7e264539956840e020e3aac94d1" title="The token that needs to be next formatted.">NextToken</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a7bf92e943c028898d14a5516969e25d9" title="Whether there must be a line break before this token.">MustBreakBefore</a>) {</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>       Column = 0;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>       NewLine = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>     }</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>     <span class="comment">// Place token using the continuation indenter and store the penalty.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>     Penalty += Indenter-><a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html#a556415a6f3870120dac6b0b2849e6083" title="Appends the next token to State and updates information necessary for indentation.">addTokenToState</a>(State, NewLine, DryRun, ExtraSpaces);</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>   <span class="keywordflow">return</span> Penalty;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> }</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> <span class="comment">// Returns the lengths in code points between Begin and End (both included),</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> <span class="comment">// assuming that the entire sequence is put on a single line.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#aae5d1d387154b424ef2498d5d64739c1">   84</a></span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1format.html#aae5d1d387154b424ef2498d5d64739c1">CodePointsBetween</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *Begin,</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>                                   <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *End) {</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>   assert(End-><a class="code" href="structclang_1_1format_1_1FormatToken.html#ac2b733f2b528aeab33b9c9189a05dc7a" title="The total length of the unwrapped line up to and including this token.">TotalLength</a> >= Begin-><a class="code" href="structclang_1_1format_1_1FormatToken.html#ac2b733f2b528aeab33b9c9189a05dc7a" title="The total length of the unwrapped line up to and including this token.">TotalLength</a>);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   <span class="keywordflow">return</span> End-><a class="code" href="structclang_1_1format_1_1FormatToken.html#ac2b733f2b528aeab33b9c9189a05dc7a" title="The total length of the unwrapped line up to and including this token.">TotalLength</a> - Begin-><a class="code" href="structclang_1_1format_1_1FormatToken.html#ac2b733f2b528aeab33b9c9189a05dc7a" title="The total length of the unwrapped line up to and including this token.">TotalLength</a> + Begin-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a>;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> }</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html#a3beb9328e1e6df12ebea3540625e22a9">   90</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html#a3beb9328e1e6df12ebea3540625e22a9" title="After the TokenAnnotator has finished annotating all the tokens, this function precomputes required i...">CommaSeparatedList::precomputeFormattingInfos</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="classclang_1_1Token.html">Token</a>) {</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   <span class="comment">// FIXME: At some point we might want to do this for other lists, too.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   <span class="keywordflow">if</span> (!Token-><a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a> || Token-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a70cb2af212cf1462b3e533de7867fa51">isNot</a>(tok::l_brace))</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *ItemBegin = Token-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<bool, 8></a> MustBreakBeforeItem;</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">// The lengths of an item if it is put at the end of the line. This includes</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   <span class="comment">// trailing comments which are otherwise ignored for column alignment.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<unsigned, 8></a> EndOfLineItemLength;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   <span class="keywordtype">bool</span> HasNestedBracedList = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = Commas.size() + 1; i != e; ++i) {</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>     <span class="comment">// Skip comments on their own line.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>     <span class="keywordflow">while</span> (ItemBegin-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a417deb217e49152e9db65ca39a48d9ba" title="Whether there is at least one unescaped newline before the Token.">HasUnescapedNewline</a> && ItemBegin-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a810285a2ad890ec1f70b823433ad9f94">isTrailingComment</a>())</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>       ItemBegin = ItemBegin-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>     MustBreakBeforeItem.push_back(ItemBegin-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a7bf92e943c028898d14a5516969e25d9" title="Whether there must be a line break before this token.">MustBreakBefore</a>);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>     <span class="keywordflow">if</span> (ItemBegin-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::l_brace))</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>       HasNestedBracedList = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *ItemEnd = <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     <span class="keywordflow">if</span> (i == Commas.size()) {</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>       ItemEnd = Token-><a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>       <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *NonCommentEnd = ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#ad359be5e70de0e24a609d8c7018b3d1e" title="Returns the previous token ignoring comments.">getPreviousNonComment</a>();</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>       ItemLengths.push_back(<a class="code" href="namespaceclang_1_1format.html#aae5d1d387154b424ef2498d5d64739c1">CodePointsBetween</a>(ItemBegin, NonCommentEnd));</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1format_1_1TokenRole.html#a5924b5484f0f8f27c7fcf43eb89231b1">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a082f72ed255395cea133365999de70a1" title="If true, format braced lists as best suited for C++11 braced lists.">Cpp11BracedListStyle</a>) {</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>         <span class="comment">// In Cpp11 braced list style, the } and possibly other subsequent</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>         <span class="comment">// tokens will need to stay on a line with the last element.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>         <span class="keywordflow">while</span> (ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a> && !ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a8f4e8957198b4e546e719860c8d9668b" title="true if it is allowed to break before this token.">CanBreakBefore</a>)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>           ItemEnd = ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>         <span class="comment">// In other braced lists styles, the "}" can be wrapped to the new line.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>         ItemEnd = Token-><a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</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>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>       ItemEnd = Commas[i];</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>       <span class="comment">// The comma is counted as part of the item when calculating the length.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>       ItemLengths.push_back(<a class="code" href="namespaceclang_1_1format.html#aae5d1d387154b424ef2498d5d64739c1">CodePointsBetween</a>(ItemBegin, ItemEnd));</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>       <span class="comment">// Consume trailing comments so the are included in EndOfLineItemLength.</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>       <span class="keywordflow">if</span> (ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a> && !ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a417deb217e49152e9db65ca39a48d9ba" title="Whether there is at least one unescaped newline before the Token.">HasUnescapedNewline</a> &&</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>           ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a810285a2ad890ec1f70b823433ad9f94">isTrailingComment</a>())</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>         ItemEnd = ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>     }</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>     EndOfLineItemLength.push_back(<a class="code" href="namespaceclang_1_1format.html#aae5d1d387154b424ef2498d5d64739c1">CodePointsBetween</a>(ItemBegin, ItemEnd));</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     <span class="comment">// If there is a trailing comma in the list, the next item will start at the</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <span class="comment">// closing brace. Don't create an extra item for this.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>     <span class="keywordflow">if</span> (ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#af553e2911fcfe2ee149a158cf2ae6bed" title="Returns the next token ignoring comments.">getNextNonComment</a>() == Token-><a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>)</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>     ItemBegin = ItemEnd-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   }</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   <span class="comment">// We can never place more than ColumnLimit / 3 items in a row (because of the</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>   <span class="comment">// spaces and the comma).</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> Columns = 1; Columns <= <a class="code" href="classclang_1_1format_1_1TokenRole.html#a5924b5484f0f8f27c7fcf43eb89231b1">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a> / 3; ++Columns) {</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>     ColumnFormat Format;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     Format.Columns = Columns;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>     Format.ColumnSizes.resize(Columns);</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>     Format.LineCount = 1;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     <span class="keywordtype">bool</span> HasRowWithSufficientColumns = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>     <span class="keywordtype">unsigned</span> <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a> = 0;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = ItemLengths.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>       assert(i < MustBreakBeforeItem.size());</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>       <span class="keywordflow">if</span> (MustBreakBeforeItem[i] || Column == Columns) {</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>         ++Format.LineCount;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>         Column = 0;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>       }</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>       <span class="keywordflow">if</span> (Column == Columns - 1)</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>         HasRowWithSufficientColumns = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>       <span class="keywordtype">unsigned</span> length =</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>           (Column == Columns - 1) ? EndOfLineItemLength[i] : ItemLengths[i];</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>       Format.ColumnSizes[<a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>] =</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>           std::max(Format.ColumnSizes[Column], length);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>       ++<a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</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="comment">// If all rows are terminated early (e.g. by trailing comments), we don't</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>     <span class="comment">// need to look further.</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     <span class="keywordflow">if</span> (!HasRowWithSufficientColumns)</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>     Format.TotalWidth = Columns - 1; <span class="comment">// Width of the N-1 spaces.</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < Columns; ++i) {</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>       Format.TotalWidth += Format.ColumnSizes[i];</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     }</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>     <span class="comment">// Ignore layouts that are bound to violate the column limit.</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>     <span class="keywordflow">if</span> (Format.TotalWidth > <a class="code" href="classclang_1_1format_1_1TokenRole.html#a5924b5484f0f8f27c7fcf43eb89231b1">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a>)</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>     <span class="comment">// If this braced list has nested braced list, we format it either with one</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>     <span class="comment">// element per line or with all elements on one line.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>     <span class="keywordflow">if</span> (HasNestedBracedList && Columns > 1 && Format.LineCount > 1)</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     Formats.push_back(Format);</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>   }</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> }</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> <span class="keyword">const</span> CommaSeparatedList::ColumnFormat *</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> CommaSeparatedList::getColumnFormat(<span class="keywordtype">unsigned</span> RemainingCharacters)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   <span class="keyword">const</span> ColumnFormat *BestFormat = <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVector.html">SmallVector<ColumnFormat, 4>::const_reverse_iterator</a></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>            I = Formats.rbegin(),</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>            E = Formats.rend();</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>     <span class="keywordflow">if</span> (I->TotalWidth <= RemainingCharacters) {</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>       <span class="keywordflow">if</span> (BestFormat && I->LineCount > BestFormat->LineCount)</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>       BestFormat = &*I;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>     }</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>   }</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   <span class="keywordflow">return</span> BestFormat;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> }</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> } <span class="comment">// namespace format</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> } <span class="comment">// namespace clang</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/FormatToken_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatToken_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatToken_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatToken_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,299 @@
+<!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: FormatToken.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li><li class="navelem"><a class="el" href="dir_44489bf775064c0a1fac45ff4ce7e6b1.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">FormatToken.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="FormatToken_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> /home/tstellar/llvm/tools/clang/lib/Format/Release+Asserts/FormatToken.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Format/Release+Asserts/FormatToken.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  FormatToken.cpp FormatToken.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorPrecedence.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Format/Format.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendAction.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Refactoring.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Tooling.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/ArgumentsAdjusters.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/CompilationDatabase.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TemplateKinds.h \
+ ContinuationIndenter.h <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/ConvertUTF.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/Unicode.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/Debug.h</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> FormatToken.h:</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> </div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorPrecedence.h:</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> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Format/Format.h:</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> </div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendAction.h:</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> </div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendOptions.h:</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/CommandLineSourceLoc.h:</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h:</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> </div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h:</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Refactoring.h:</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Tooling.h:</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Driver/Util.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/ArgumentsAdjusters.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/CompilationDatabase.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> ContinuationIndenter.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> /home/tstellar/llvm/include/llvm/Support/ConvertUTF.h:</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> /home/tstellar/llvm/include/llvm/Support/Unicode.h:</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> /home/tstellar/llvm/include/llvm/Support/Debug.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/FormatToken_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatToken_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatToken_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/FormatToken_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,531 @@
+<!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: FormatToken.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">FormatToken.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="FormatToken_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">//===--- FormatToken.h - Format C++ code ------------------------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// \brief This file contains the declaration of the FormatToken, a wrapper</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">/// around Token with additional information related to formatting.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#ifndef LLVM_CLANG_FORMAT_FORMAT_TOKEN_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_FORMAT_FORMAT_TOKEN_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="OperatorPrecedence_8h.html" title="Defines and computes precedence levels for binary/ternary operators.">clang/Basic/OperatorPrecedence.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="Format_8h.html">clang/Format/Format.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="Lexer_8h.html">clang/Lex/Lexer.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/ADT/OwningPtr.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">namespace </span>format {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430">   27</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430">TokenType</a> {</div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a2e3762edd81fd8c2e1d9e783484df5b8">   28</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a2e3762edd81fd8c2e1d9e783484df5b8">TT_ArrayInitializerLSquare</a>,</div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a43e8488d842d361a0e6522cde916f226">   29</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a43e8488d842d361a0e6522cde916f226">TT_ArraySubscriptLSquare</a>,</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">   30</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ac424678f6a37ee16439f51854e058118">TT_BinaryOperator</a>,</div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a350d9ecdaaad2af24e7a554d7585c3ec">   31</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a350d9ecdaaad2af24e7a554d7585c3ec">TT_BitFieldColon</a>,</div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a859fe314630fc3f13b072c9ad016de0e">   32</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a859fe314630fc3f13b072c9ad016de0e">TT_BlockComment</a>,</div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a277e8a7fed5c710335cf32f68ccea541">   33</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a277e8a7fed5c710335cf32f68ccea541">TT_CastRParen</a>,</div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abe66d25c228b849cfb3ff9b26e9379fe">   34</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abe66d25c228b849cfb3ff9b26e9379fe">TT_ConditionalExpr</a>,</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a76f2f9f6c4be0da59735260a6ea561fc">   35</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a76f2f9f6c4be0da59735260a6ea561fc">TT_CtorInitializerColon</a>,</div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a03da0da0ed401d7753ad639cc5309ee8">   36</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a03da0da0ed401d7753ad639cc5309ee8">TT_CtorInitializerComma</a>,</div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430af3ff69cf1759e24f4f7d8f3c5ca01d69">   37</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430af3ff69cf1759e24f4f7d8f3c5ca01d69">TT_DesignatedInitializerPeriod</a>,</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a1539e9e36f093ea30703159731670a0d">   38</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a1539e9e36f093ea30703159731670a0d">TT_DictLiteral</a>,</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ab8c273d0514d57f2acdd371ff781e28a">   39</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ab8c273d0514d57f2acdd371ff781e28a">TT_ImplicitStringLiteral</a>,</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a33b3706da41c3de553b666d042fd5f23">   40</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a33b3706da41c3de553b666d042fd5f23">TT_InlineASMColon</a>,</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a7df61bb8e6d255a45a95a69a797a96cc">   41</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a7df61bb8e6d255a45a95a69a797a96cc">TT_InheritanceColon</a>,</div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a84ab3c91dc352c25f65c0e8b1efe1ac2">   42</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a84ab3c91dc352c25f65c0e8b1efe1ac2">TT_FunctionTypeLParen</a>,</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a466ba5ab307713221b528114f86e3ca7">   43</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a466ba5ab307713221b528114f86e3ca7">TT_LambdaLSquare</a>,</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a83fdf1f81a2b707b6a6f0203a186b3d6">   44</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a83fdf1f81a2b707b6a6f0203a186b3d6">TT_LineComment</a>,</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a25b0a211f5fab1ebac77a4c3309e0055">   45</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a25b0a211f5fab1ebac77a4c3309e0055">TT_ObjCBlockLParen</a>,</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a7b3e38742b33e0d8f99ddc7d70c774c7">   46</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a7b3e38742b33e0d8f99ddc7d70c774c7">TT_ObjCDecl</a>,</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430af7c7bb8763c134340d6c6197f9f0fa39">   47</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430af7c7bb8763c134340d6c6197f9f0fa39">TT_ObjCForIn</a>,</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a9d3cc1d7cf8da7870bc3589c39ae081e">   48</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a9d3cc1d7cf8da7870bc3589c39ae081e">TT_ObjCMethodExpr</a>,</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430aac59d74efedf027d39f1a8e99c729d82">   49</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430aac59d74efedf027d39f1a8e99c729d82">TT_ObjCMethodSpecifier</a>,</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430aa8a444a60a5dc84fdf99bd6c0a84b143">   50</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430aa8a444a60a5dc84fdf99bd6c0a84b143">TT_ObjCProperty</a>,</div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a62238766a6793dfe08767e6453ed7847">   51</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a62238766a6793dfe08767e6453ed7847">TT_ObjCSelectorName</a>,</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a470c5e9de483f14fc8e61d840c5bd1c5">   52</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a470c5e9de483f14fc8e61d840c5bd1c5">TT_OverloadedOperator</a>,</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ad1a611931ea285385dc0e34e95a32a09">   53</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ad1a611931ea285385dc0e34e95a32a09">TT_OverloadedOperatorLParen</a>,</div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a94f4375f7d99c163d0df602dd4c39e4f">   54</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a94f4375f7d99c163d0df602dd4c39e4f">TT_PointerOrReference</a>,</div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430add3bc4fc843a7079cec3895febda862f">   55</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430add3bc4fc843a7079cec3895febda862f">TT_PureVirtualSpecifier</a>,</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a4f95490aebc878c9d6de73ec7337ade9">   56</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a4f95490aebc878c9d6de73ec7337ade9">TT_RangeBasedForLoopColon</a>,</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a53ade488c5de2055aa5bab57dcb1bf57">   57</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a53ade488c5de2055aa5bab57dcb1bf57">TT_StartOfName</a>,</div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ae0f5f7054e11f208cdde909bce37ab92">   58</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ae0f5f7054e11f208cdde909bce37ab92">TT_TemplateCloser</a>,</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a34a613aee8d51353e36c166d3b674db6">   59</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a34a613aee8d51353e36c166d3b674db6">TT_TemplateOpener</a>,</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a20e62872527d10ed17a66bb4efa784ba">   60</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a20e62872527d10ed17a66bb4efa784ba">TT_TrailingReturnArrow</a>,</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ad459b11b464aba30cdbfa9bafd4cfbe3">   61</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ad459b11b464aba30cdbfa9bafd4cfbe3">TT_TrailingUnaryOperator</a>,</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abf7cc8fa98d8d1989deadbd7dbe7766b">   62</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430abf7cc8fa98d8d1989deadbd7dbe7766b">TT_UnaryOperator</a>,</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a090276a6e6d07dca09db497faac8c36c">   63</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a090276a6e6d07dca09db497faac8c36c">TT_Unknown</a></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> };</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment">// Represents what type of block a set of braces open.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaea">   67</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaea">BraceBlockKind</a> {</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaabc206459d88deb858f2709556db71017">   68</a></span>   <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaabc206459d88deb858f2709556db71017">BK_Unknown</a>,</div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaac0cd3adbed48a71039a2855df3fe8036">   69</a></span>   <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaac0cd3adbed48a71039a2855df3fe8036">BK_Block</a>,</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaae56a45f3e07dfba04c28c70b668c2bdd">   70</a></span>   <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaae56a45f3e07dfba04c28c70b668c2bdd">BK_BracedInit</a></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> };</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> </div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="comment">// The packing kind of a function's parameters.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6">   74</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6">ParameterPackingKind</a> {</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6a3e1e85534f0f7b91f01b7574f4d4adf5">   75</a></span>   <a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6a3e1e85534f0f7b91f01b7574f4d4adf5">PPK_BinPacked</a>,</div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6af698c50de2f16b48e6eec09e447ebf99">   76</a></span>   <a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6af698c50de2f16b48e6eec09e447ebf99">PPK_OnePerLine</a>,</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6aa198a0d4cbb39979341cb7388e93e97b">   77</a></span>   <a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6aa198a0d4cbb39979341cb7388e93e97b">PPK_Inconclusive</a></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="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929">   80</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929">FormatDecision</a> {</div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a8da12d86e1be42ee8d8d458d1f5dfc25">   81</a></span>   <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a8da12d86e1be42ee8d8d458d1f5dfc25">FD_Unformatted</a>,</div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a98df366120a9a0c1f0eaec09b1555cff">   82</a></span>   <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a98df366120a9a0c1f0eaec09b1555cff">FD_Continue</a>,</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a77ad2a14db7203e0c45a0e9aacf50745">   83</a></span>   <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a77ad2a14db7203e0c45a0e9aacf50745">FD_Break</a></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> };</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="keyword">class </span>TokenRole;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="keyword">class </span>AnnotatedLine;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment"></span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment">/// \brief A wrapper around a \c Token storing information about the</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> <span class="comment">/// whitespace characters preceeding it.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html">   91</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> {</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ac23dc39b2fee0d4a1c8c83bf55b6123b">   92</a></span>   <a class="code" href="structclang_1_1format_1_1FormatToken.html#ac23dc39b2fee0d4a1c8c83bf55b6123b">FormatToken</a>()</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>       : <a class="code" href="structclang_1_1format_1_1FormatToken.html#a72f16c0fdd775e9545918812f2eb2b17" title="The number of newlines immediately before the Token.">NewlinesBefore</a>(0), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a417deb217e49152e9db65ca39a48d9ba" title="Whether there is at least one unescaped newline before the Token.">HasUnescapedNewline</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a4edfb74c77faf5ae1aefd45294a70c67" title="The offset just past the last ' ' in this token's leading whitespace (relative to WhiteSpaceStart)...">LastNewlineOffset</a>(0),</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a>(0), <a class="code" href="structclang_1_1format_1_1FormatToken.html#ab719098ee6275e50caf2aaa183aa6cf4" title="Contains the width in columns of the last line of a multi-line token.">LastLineColumnWidth</a>(0), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a70bb88056e95d29a53586f074baa21b4" title="Whether the token text contains newlines (escaped or not).">IsMultiline</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#ade509cfc6b5db2122888001ed48244c5" title="Indicates that this is the first token.">IsFirst</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a7bf92e943c028898d14a5516969e25d9" title="Whether there must be a line break before this token.">MustBreakBefore</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#aa03b5ffdd70212f8a526b33371c2fcd7" title="Set to true if this token is an unterminated literal.">IsUnterminatedLiteral</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#a8535587de7dd43ab56e32b88279ea917" title="Contains the kind of block if this token is a brace.">BlockKind</a>(<a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaabc206459d88deb858f2709556db71017">BK_Unknown</a>), <a class="code" href="classclang_1_1Type.html">Type</a>(<a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a090276a6e6d07dca09db497faac8c36c">TT_Unknown</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a7b69d38383565c6694cc6a1194e4b415" title="The number of spaces that should be inserted before this token.">SpacesRequiredBefore</a>(0),</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#a8f4e8957198b4e546e719860c8d9668b" title="true if it is allowed to break before this token.">CanBreakBefore</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a45ae7a4a00d3d8d31a00da0054944362">ClosesTemplateDeclaration</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#ae90cdc897b40e34d38a97c3960ca6305" title="Number of parameters, if this is "(", "[" or "<".">ParameterCount</a>(0), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a96efcb686568bd37e85ac6d0dd16c8bf" title="If this is an opening parenthesis, how are the parameters packed?">PackingKind</a>(<a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6aa198a0d4cbb39979341cb7388e93e97b">PPK_Inconclusive</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#ac2b733f2b528aeab33b9c9189a05dc7a" title="The total length of the unwrapped line up to and including this token.">TotalLength</a>(0),</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#ab404887ac13f8c9a424887e936d3290b" title="The length of following tokens until the next natural split point, or the next token that can be brok...">UnbreakableTailLength</a>(0), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a23387284a8f9d75f12b68f9be1aeb467" title="The binding strength of a token. This is a combined value of operator precedence, parenthesis nesting...">BindingStrength</a>(0), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a4f0196cff50715366a1d83c49b08964e" title="Penalty for inserting a line break before this token.">SplitPenalty</a>(0),</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#a40e51d1e0f79dba69b2da861b0b6fa3c" title="If this is the first ObjC selector name in an ObjC method definition or call, this contains the lengt...">LongestObjCSelectorName</a>(0), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a059052a817efb1d6712041927f3264c1" title="Insert this many fake ) after this token for correct indentation.">FakeRParens</a>(0),</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#af46e943ec6822966d41011b39a9f3a37" title="true if this token starts a binary expression, i.e. has at least one fake l_paren with a precedence g...">StartsBinaryExpression</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a2deef3f679166d2f9e755986a4d07874" title="true if this token ends a binary expression.">EndsBinaryExpression</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#a82a0c7fa7be6b82a0c55dfe241f86d1b" title="Is this the last "." or "->" in a builder-type call?">LastInChainOfCalls</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a223490cc21236e8f24bc5bb96125a06f" title="Is this token part of a DeclStmt defining multiple variables?">PartOfMultiVariableDeclStmt</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>(<a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>(<a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>(<a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>),</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>         <a class="code" href="structclang_1_1format_1_1FormatToken.html#a009e204f96f46355e68a38a84eeb0f69" title="Stores the formatting decision for the token once it was made.">Decision</a>(<a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a8da12d86e1be42ee8d8d458d1f5dfc25">FD_Unformatted</a>), <a class="code" href="structclang_1_1format_1_1FormatToken.html#ae83a4324a22c9e4a4f589c7bb87d6f49" title="If true, this token has been fully formatted (indented and potentially re-formatted inside)...">Finalized</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {}</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="comment"></span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment">  /// \brief The \c Token.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481">  107</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1Token.html">Token</a> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a>;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="comment"></span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment">  /// \brief The number of newlines immediately before the \c Token.</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> <span class="comment">  /// This can be used to determine what the user wrote in the original code</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment">  /// and thereby e.g. leave an empty line between two function definitions.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a72f16c0fdd775e9545918812f2eb2b17">  113</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a72f16c0fdd775e9545918812f2eb2b17" title="The number of newlines immediately before the Token.">NewlinesBefore</a>;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment"></span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="comment">  /// \brief Whether there is at least one unescaped newline before the \c</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="comment">  /// Token.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a417deb217e49152e9db65ca39a48d9ba">  117</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a417deb217e49152e9db65ca39a48d9ba" title="Whether there is at least one unescaped newline before the Token.">HasUnescapedNewline</a>;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment"></span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment">  /// \brief The range of the whitespace immediately preceeding the \c Token.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#aebc21aac53563fe7b3b1acabc08f3a6f">  120</a></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="structclang_1_1format_1_1FormatToken.html#aebc21aac53563fe7b3b1acabc08f3a6f" title="The range of the whitespace immediately preceeding the Token.">WhitespaceRange</a>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment"></span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment">  /// \brief The offset just past the last '\n' in this token's leading</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment">  /// whitespace (relative to \c WhiteSpaceStart). 0 if there is no '\n'.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a4edfb74c77faf5ae1aefd45294a70c67">  124</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a4edfb74c77faf5ae1aefd45294a70c67" title="The offset just past the last ' ' in this token's leading whitespace (relative to WhiteSpaceStart)...">LastNewlineOffset</a>;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment"></span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment">  /// \brief The width of the non-whitespace parts of the token (or its first</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="comment">  /// line for multi-line tokens) in columns.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment">  /// We need this to correctly measure number of columns a token spans.</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88">  129</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a93569d64f8649501a001718995b8ba88" title="The width of the non-whitespace parts of the token (or its first line for multi-line tokens) in colum...">ColumnWidth</a>;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment"></span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> <span class="comment">  /// \brief Contains the width in columns of the last line of a multi-line</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> <span class="comment">  /// token.</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ab719098ee6275e50caf2aaa183aa6cf4">  133</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ab719098ee6275e50caf2aaa183aa6cf4" title="Contains the width in columns of the last line of a multi-line token.">LastLineColumnWidth</a>;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment"></span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="comment">  /// \brief Whether the token text contains newlines (escaped or not).</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a70bb88056e95d29a53586f074baa21b4">  136</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a70bb88056e95d29a53586f074baa21b4" title="Whether the token text contains newlines (escaped or not).">IsMultiline</a>;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="comment"></span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> <span class="comment">  /// \brief Indicates that this is the first token.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ade509cfc6b5db2122888001ed48244c5">  139</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ade509cfc6b5db2122888001ed48244c5" title="Indicates that this is the first token.">IsFirst</a>;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> <span class="comment">  /// \brief Whether there must be a line break before this token.</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> <span class="comment">  /// This happens for example when a preprocessor directive ended directly</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> <span class="comment">  /// before the token.</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a7bf92e943c028898d14a5516969e25d9">  145</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a7bf92e943c028898d14a5516969e25d9" title="Whether there must be a line break before this token.">MustBreakBefore</a>;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment"></span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> <span class="comment">  /// \brief Returns actual token start location without leading escaped</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> <span class="comment">  /// newlines and whitespace.</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> <span class="comment">  /// This can be different to Tok.getLocation(), which includes leading escaped</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> <span class="comment">  /// newlines.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#afb7a439a00fdfbfe7a58bee248fcbddb">  152</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="structclang_1_1format_1_1FormatToken.html#afb7a439a00fdfbfe7a58bee248fcbddb" title="Returns actual token start location without leading escaped newlines and whitespace.">getStartOfNonWhitespace</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#aebc21aac53563fe7b3b1acabc08f3a6f" title="The range of the whitespace immediately preceeding the Token.">WhitespaceRange</a>.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>();</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>   }</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> <span class="comment"></span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> <span class="comment">  /// \brief The raw text of the token.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> <span class="comment">  /// Contains the raw token text without leading whitespace and without leading</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> <span class="comment">  /// escaped newlines.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b">  160</a></span> <span class="comment"></span>  StringRef <a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> <span class="comment"></span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> <span class="comment">  /// \brief Set to \c true if this token is an unterminated literal.</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#aa03b5ffdd70212f8a526b33371c2fcd7">  163</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#aa03b5ffdd70212f8a526b33371c2fcd7" title="Set to true if this token is an unterminated literal.">IsUnterminatedLiteral</a>;</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment"></span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> <span class="comment">  /// \brief Contains the kind of block if this token is a brace.</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a8535587de7dd43ab56e32b88279ea917">  166</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaea">BraceBlockKind</a> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a8535587de7dd43ab56e32b88279ea917" title="Contains the kind of block if this token is a brace.">BlockKind</a>;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">  168</a></span>   <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430">TokenType</a> <a class="code" href="structclang_1_1format_1_1FormatToken.html#acc9a4d3e0add22535846930962df8943">Type</a>;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> <span class="comment"></span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> <span class="comment">  /// \brief The number of spaces that should be inserted before this token.</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a7b69d38383565c6694cc6a1194e4b415">  171</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a7b69d38383565c6694cc6a1194e4b415" title="The number of spaces that should be inserted before this token.">SpacesRequiredBefore</a>;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> <span class="comment"></span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> <span class="comment">  /// \brief \c true if it is allowed to break before this token.</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a8f4e8957198b4e546e719860c8d9668b">  174</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a8f4e8957198b4e546e719860c8d9668b" title="true if it is allowed to break before this token.">CanBreakBefore</a>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a45ae7a4a00d3d8d31a00da0054944362">  176</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a45ae7a4a00d3d8d31a00da0054944362">ClosesTemplateDeclaration</a>;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="comment"></span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> <span class="comment">  /// \brief Number of parameters, if this is "(", "[" or "<".</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="comment">  /// This is initialized to 1 as we don't need to distinguish functions with</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> <span class="comment">  /// 0 parameters from functions with 1 parameter. Thus, we can simply count</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> <span class="comment">  /// the number of commas.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ae90cdc897b40e34d38a97c3960ca6305">  183</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ae90cdc897b40e34d38a97c3960ca6305" title="Number of parameters, if this is "(", "[" or "<".">ParameterCount</a>;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment"></span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment">  /// \brief A token can have a special role that can carry extra information</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> <span class="comment">  /// about the token's formatting.</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a5f3e5ade2e606a4209cf7b11389a4b4a">  187</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1OwningPtr.html">llvm::OwningPtr<TokenRole></a> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5f3e5ade2e606a4209cf7b11389a4b4a" title="A token can have a special role that can carry extra information about the token's formatting...">Role</a>;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> <span class="comment"></span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> <span class="comment">  /// \brief If this is an opening parenthesis, how are the parameters packed?</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a96efcb686568bd37e85ac6d0dd16c8bf">  190</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6">ParameterPackingKind</a> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a96efcb686568bd37e85ac6d0dd16c8bf" title="If this is an opening parenthesis, how are the parameters packed?">PackingKind</a>;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> <span class="comment"></span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> <span class="comment">  /// \brief The total length of the unwrapped line up to and including this</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> <span class="comment">  /// token.</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ac2b733f2b528aeab33b9c9189a05dc7a">  194</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ac2b733f2b528aeab33b9c9189a05dc7a" title="The total length of the unwrapped line up to and including this token.">TotalLength</a>;</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment"></span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> <span class="comment">  /// \brief The original 0-based column of this token, including expanded tabs.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> <span class="comment">  /// The configured TabWidth is used as tab width.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a322abe2bf32da92638234e912cef2a76">  198</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a322abe2bf32da92638234e912cef2a76" title="The original 0-based column of this token, including expanded tabs. The configured TabWidth is used a...">OriginalColumn</a>;</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> <span class="comment"></span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> <span class="comment">  /// \brief The length of following tokens until the next natural split point,</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> <span class="comment">  /// or the next token that can be broken.</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ab404887ac13f8c9a424887e936d3290b">  202</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ab404887ac13f8c9a424887e936d3290b" title="The length of following tokens until the next natural split point, or the next token that can be brok...">UnbreakableTailLength</a>;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>   <span class="comment">// FIXME: Come up with a 'cleaner' concept.</span><span class="comment"></span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> <span class="comment">  /// \brief The binding strength of a token. This is a combined value of</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment">  /// operator precedence, parenthesis nesting, etc.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a23387284a8f9d75f12b68f9be1aeb467">  207</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a23387284a8f9d75f12b68f9be1aeb467" title="The binding strength of a token. This is a combined value of operator precedence, parenthesis nesting...">BindingStrength</a>;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> <span class="comment"></span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> <span class="comment">  /// \brief Penalty for inserting a line break before this token.</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a4f0196cff50715366a1d83c49b08964e">  210</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a4f0196cff50715366a1d83c49b08964e" title="Penalty for inserting a line break before this token.">SplitPenalty</a>;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> <span class="comment"></span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> <span class="comment">  /// \brief If this is the first ObjC selector name in an ObjC method</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> <span class="comment">  /// definition or call, this contains the length of the longest name.</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a40e51d1e0f79dba69b2da861b0b6fa3c">  214</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a40e51d1e0f79dba69b2da861b0b6fa3c" title="If this is the first ObjC selector name in an ObjC method definition or call, this contains the lengt...">LongestObjCSelectorName</a>;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> <span class="comment"></span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> <span class="comment">  /// \brief Stores the number of required fake parentheses and the</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> <span class="comment">  /// corresponding operator precedence.</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> <span class="comment">  /// If multiple fake parentheses start at a token, this vector stores them in</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> <span class="comment">  /// reverse order, i.e. inner fake parenthesis first.</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a600030206a7eb54cf1325f6bdb466d7b">  221</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<prec::Level, 4></a> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a600030206a7eb54cf1325f6bdb466d7b" title="Stores the number of required fake parentheses and the corresponding operator precedence.">FakeLParens</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> <span class="comment">  /// \brief Insert this many fake ) after this token for correct indentation.</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a059052a817efb1d6712041927f3264c1">  223</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a059052a817efb1d6712041927f3264c1" title="Insert this many fake ) after this token for correct indentation.">FakeRParens</a>;</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> <span class="comment"></span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> <span class="comment">  /// \brief \c true if this token starts a binary expression, i.e. has at least</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> <span class="comment">  /// one fake l_paren with a precedence greater than prec::Unknown.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#af46e943ec6822966d41011b39a9f3a37">  227</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#af46e943ec6822966d41011b39a9f3a37" title="true if this token starts a binary expression, i.e. has at least one fake l_paren with a precedence g...">StartsBinaryExpression</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> <span class="comment">  /// \brief \c true if this token ends a binary expression.</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a2deef3f679166d2f9e755986a4d07874">  229</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a2deef3f679166d2f9e755986a4d07874" title="true if this token ends a binary expression.">EndsBinaryExpression</a>;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> <span class="comment"></span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> <span class="comment">  /// \brief Is this the last "." or "->" in a builder-type call?</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a82a0c7fa7be6b82a0c55dfe241f86d1b">  232</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a82a0c7fa7be6b82a0c55dfe241f86d1b" title="Is this the last "." or "->" in a builder-type call?">LastInChainOfCalls</a>;</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> <span class="comment"></span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> <span class="comment">  /// \brief Is this token part of a \c DeclStmt defining multiple variables?</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> <span class="comment">  /// Only set if \c Type == \c TT_StartOfName.</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a223490cc21236e8f24bc5bb96125a06f">  237</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a223490cc21236e8f24bc5bb96125a06f" title="Is this token part of a DeclStmt defining multiple variables?">PartOfMultiVariableDeclStmt</a>;</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">  239</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(<a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a>.<a class="code" href="classclang_1_1Token.html#abc7c8cc4d8598e2c07148189157cf066">is</a>(Kind); }</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">  241</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(<a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K1, <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K2)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K1) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K2);</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   }</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a76d440744eac6302e24af68e8f776312">  245</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a76d440744eac6302e24af68e8f776312">isOneOf</a>(<a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K1, <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K2, <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K3)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K1) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K2) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K3);</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> </div>
+<div class="line"><a name="l00249"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ae03d5815bc211c7c0936c45979e9e21c">  249</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(<a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K1, <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K2, <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K3,</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>                <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K4, <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K5 = tok::NUM_TOKENS,</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>                <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K6 = tok::NUM_TOKENS,</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>                <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K7 = tok::NUM_TOKENS,</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>                <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K8 = tok::NUM_TOKENS,</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>                <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K9 = tok::NUM_TOKENS,</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>                <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K10 = tok::NUM_TOKENS,</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>                <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K11 = tok::NUM_TOKENS,</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>                <a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> K12 = tok::NUM_TOKENS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K1) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K2) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K3) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K4) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K5) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K6) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K7) ||</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>            <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K8) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K9) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K10) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K11) || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(K12);</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>   }</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a70cb2af212cf1462b3e533de7867fa51">  262</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a70cb2af212cf1462b3e533de7867fa51">isNot</a>(<a class="code" href="namespaceclang_1_1tok.html#aca39774690bea476816dc56565cb7cd5" title="Provides a simple uniform namespace for tokens from all C languages.">tok::TokenKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a>.<a class="code" href="classclang_1_1Token.html#add9ef521a5de741af9c573525b71cb73">isNot</a>(Kind); }</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a41acec7fe9262aed6bf19393280b3e0e">  264</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a41acec7fe9262aed6bf19393280b3e0e">isObjCAtKeyword</a>(<a class="code" href="namespaceclang_1_1tok.html#a8bd1e86849bee8ef3fed043919c0a0e8" title="Provides a namespace for Objective-C keywords which start with an '@'.">tok::ObjCKeywordKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a>.<a class="code" href="classclang_1_1Token.html#a5761d2afabf61a167722a8d2ac7a9f51" title="Return true if we have an ObjC keyword identifier.">isObjCAtKeyword</a>(Kind);</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>   }</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ada8a3c11fbb9918fe8054cd93839bd36">  268</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ada8a3c11fbb9918fe8054cd93839bd36">isAccessSpecifier</a>(<span class="keywordtype">bool</span> ColonRequired = <span class="keyword">true</span>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(tok::kw_public, tok::kw_protected, tok::kw_private) &&</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>            (!ColonRequired || (<a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a> && <a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::colon)));</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>   }</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a9c8519cfc70ee4a36fc145a288f720b7">  273</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a9c8519cfc70ee4a36fc145a288f720b7">isObjCAccessSpecifier</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::at) && <a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a> && (<a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a41acec7fe9262aed6bf19393280b3e0e">isObjCAtKeyword</a>(tok::objc_public) ||</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>                                    <a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a41acec7fe9262aed6bf19393280b3e0e">isObjCAtKeyword</a>(tok::objc_protected) ||</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>                                    <a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a41acec7fe9262aed6bf19393280b3e0e">isObjCAtKeyword</a>(tok::objc_package) ||</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>                                    <a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a41acec7fe9262aed6bf19393280b3e0e">isObjCAtKeyword</a>(tok::objc_private));</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>   }</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> <span class="comment"></span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> <span class="comment">  /// \brief Returns whether \p Tok is ([{ or a template opening <.</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a79d0d51105d04be9c8707673942ad848">  281</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a79d0d51105d04be9c8707673942ad848" title="Returns whether Tok is ([{ or a template opening <.">opensScope</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(tok::l_paren, tok::l_brace, tok::l_square) ||</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>            <a class="code" href="classclang_1_1Type.html">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a34a613aee8d51353e36c166d3b674db6">TT_TemplateOpener</a>;</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 Returns whether \p Tok is )]} or a template closing >.</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ae2c64a150bfee354e7ff1263649e7c62">  286</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ae2c64a150bfee354e7ff1263649e7c62" title="Returns whether Tok is )]} or a template closing >.">closesScope</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(tok::r_paren, tok::r_brace, tok::r_square) ||</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>            <a class="code" href="classclang_1_1Type.html">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ae0f5f7054e11f208cdde909bce37ab92">TT_TemplateCloser</a>;</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>   }</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> <span class="comment"></span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> <span class="comment">  /// \brief Returns \c true if this is a "." or "->" accessing a member.</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#afb165bbfa3bd86b014bc6975c2723afc">  292</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#afb165bbfa3bd86b014bc6975c2723afc" title="Returns true if this is a "." or "->" accessing a member.">isMemberAccess</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#afa3b82627c967554b96c7926050e5717">isOneOf</a>(tok::arrow, tok::period) &&</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>            <a class="code" href="classclang_1_1Type.html">Type</a> != <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430af3ff69cf1759e24f4f7d8f3c5ca01d69">TT_DesignatedInitializerPeriod</a>;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>   }</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a83203e20caaa10af9cfffe54b854612b">  297</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a83203e20caaa10af9cfffe54b854612b">isUnaryOperator</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>     <span class="keywordflow">switch</span> (<a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a>.<a class="code" href="classclang_1_1Token.html#a84a069f6887b650763e640eeabfeebe4">getKind</a>()) {</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>     <span class="keywordflow">case</span> tok::plus:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>     <span class="keywordflow">case</span> tok::plusplus:</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>     <span class="keywordflow">case</span> tok::minus:</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>     <span class="keywordflow">case</span> tok::minusminus:</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>     <span class="keywordflow">case</span> tok::exclaim:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>     <span class="keywordflow">case</span> tok::tilde:</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>     <span class="keywordflow">case</span> tok::kw_sizeof:</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>     <span class="keywordflow">case</span> tok::kw_alignof:</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>     }</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>   }</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> </div>
+<div class="line"><a name="l00313"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a04db72cbf2b48b8567947240570112e8">  313</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a04db72cbf2b48b8567947240570112e8">isBinaryOperator</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>     <span class="comment">// Comma is a binary operator, but does not behave as such wrt. formatting.</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a290b3fbb5ec95d0b24b8ea1418696d78">getPrecedence</a>() > <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa6d1c4fb4c0102e4d0ade0b662a8abf36">prec::Comma</a>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>   }</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a810285a2ad890ec1f70b823433ad9f94">  318</a></span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a810285a2ad890ec1f70b823433ad9f94">isTrailingComment</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::comment) && (!<a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a> || <a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a72f16c0fdd775e9545918812f2eb2b17" title="The number of newlines immediately before the Token.">NewlinesBefore</a> > 0);</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   }</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a290b3fbb5ec95d0b24b8ea1418696d78">  322</a></span>   <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">prec::Level</a> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a290b3fbb5ec95d0b24b8ea1418696d78">getPrecedence</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#aa414f649e1be6c0b862072fc39895f4c" title="Return the precedence of the specified binary operator token.">getBinOpPrecedence</a>(<a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a>.<a class="code" href="classclang_1_1Token.html#a84a069f6887b650763e640eeabfeebe4">getKind</a>(), <span class="keyword">true</span>, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   }</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> <span class="comment"></span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> <span class="comment">  /// \brief Returns the previous token ignoring comments.</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ad359be5e70de0e24a609d8c7018b3d1e">  327</a></span> <span class="comment"></span>  <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="structclang_1_1format_1_1FormatToken.html#ad359be5e70de0e24a609d8c7018b3d1e" title="Returns the previous token ignoring comments.">getPreviousNonComment</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>     <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a> = <a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>     <span class="keywordflow">while</span> (Tok != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> && Tok-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::comment))</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>       Tok = Tok-><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>     <span class="keywordflow">return</span> Tok;</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>   }</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> <span class="comment"></span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> <span class="comment">  /// \brief Returns the next token ignoring comments.</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#af553e2911fcfe2ee149a158cf2ae6bed">  335</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="structclang_1_1format_1_1FormatToken.html#af553e2911fcfe2ee149a158cf2ae6bed" title="Returns the next token ignoring comments.">getNextNonComment</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="structclang_1_1format_1_1FormatToken.html#ad5faf26454fb42c93ed4fe3757cb4481" title="The Token.">Tok</a> = <a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>     <span class="keywordflow">while</span> (Tok != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> && Tok-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::comment))</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>       Tok = Tok-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>     <span class="keywordflow">return</span> Tok;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   }</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> <span class="comment"></span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> <span class="comment">  /// \brief Returns \c true if this tokens starts a block-type list, i.e. a</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> <span class="comment">  /// list that should be indented with a block indent.</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a88ca9dbfdeec7443cb7357a4ba3b4a85">  344</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a88ca9dbfdeec7443cb7357a4ba3b4a85" title="Returns true if this tokens starts a block-type list, i.e. a list that should be indented with a bloc...">opensBlockTypeList</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Type.html">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a2e3762edd81fd8c2e1d9e783484df5b8">TT_ArrayInitializerLSquare</a> ||</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>            (<a class="code" href="structclang_1_1format_1_1FormatToken.html#a5902dd2b3abaad59721ec364ee50bcad">is</a>(tok::l_brace) &&</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>             (<a class="code" href="structclang_1_1format_1_1FormatToken.html#a8535587de7dd43ab56e32b88279ea917" title="Contains the kind of block if this token is a brace.">BlockKind</a> == <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaac0cd3adbed48a71039a2855df3fe8036">BK_Block</a> || <a class="code" href="classclang_1_1Type.html">Type</a> == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a1539e9e36f093ea30703159731670a0d">TT_DictLiteral</a> ||</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>              !Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a082f72ed255395cea133365999de70a1" title="If true, format braced lists as best suited for C++11 braced lists.">Cpp11BracedListStyle</a>));</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   }</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> <span class="comment"></span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> <span class="comment">  /// \brief Same as opensBlockTypeList, but for the closing token.</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#aa5d001972c32158a787498e77c5de6e8">  352</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#aa5d001972c32158a787498e77c5de6e8" title="Same as opensBlockTypeList, but for the closing token.">closesBlockTypeList</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a> && <a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>-><a class="code" href="structclang_1_1format_1_1FormatToken.html#a88ca9dbfdeec7443cb7357a4ba3b4a85" title="Returns true if this tokens starts a block-type list, i.e. a list that should be indented with a bloc...">opensBlockTypeList</a>(Style);</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>   }</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">  356</a></span>   <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="structclang_1_1format_1_1FormatToken.html#af12eecf8720255ffb8111c004ea75a93">MatchingParen</a>;</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> </div>
+<div class="line"><a name="l00358"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">  358</a></span>   <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="structclang_1_1format_1_1FormatToken.html#afd2b1b6774edaba6ab37660e457e3a04">Previous</a>;</div>
+<div class="line"><a name="l00359"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">  359</a></span>   <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="structclang_1_1format_1_1FormatToken.html#a69a581e676a2af19891855ab81e0a0c6">Next</a>;</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a169148f6ef24660797b7daa1a6c7113e">  361</a></span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<AnnotatedLine *, 1></a> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a169148f6ef24660797b7daa1a6c7113e">Children</a>;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> <span class="comment"></span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> <span class="comment">  /// \brief Stores the formatting decision for the token once it was made.</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#a009e204f96f46355e68a38a84eeb0f69">  364</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929">FormatDecision</a> <a class="code" href="structclang_1_1format_1_1FormatToken.html#a009e204f96f46355e68a38a84eeb0f69" title="Stores the formatting decision for the token once it was made.">Decision</a>;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> <span class="comment"></span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> <span class="comment">  /// \brief If \c true, this token has been fully formatted (indented and</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> <span class="comment">  /// potentially re-formatted inside), and we do not allow further formatting</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> <span class="comment">  /// changes.</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno"><a class="code" href="structclang_1_1format_1_1FormatToken.html#ae83a4324a22c9e4a4f589c7bb87d6f49">  369</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html#ae83a4324a22c9e4a4f589c7bb87d6f49" title="If true, this token has been fully formatted (indented and potentially re-formatted inside)...">Finalized</a>;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   <span class="comment">// Disallow copying.</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   <a class="code" href="structclang_1_1format_1_1FormatToken.html#ac23dc39b2fee0d4a1c8c83bf55b6123b">FormatToken</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>   <span class="keywordtype">void</span> operator=(const <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> };</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> class <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html">ContinuationIndenter</a>;</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> struct <a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a>;</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> </div>
+<div class="line"><a name="l00380"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1TokenRole.html">  380</a></span> class <a class="code" href="classclang_1_1format_1_1TokenRole.html">TokenRole</a> {</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00382"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1TokenRole.html#acc9bd01b6dc2c92316db0a8bd4107f17">  382</a></span>   <a class="code" href="classclang_1_1format_1_1TokenRole.html#acc9bd01b6dc2c92316db0a8bd4107f17">TokenRole</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>) : Style(Style) {}</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>   <span class="keyword">virtual</span> ~TokenRole();</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> <span class="comment"></span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> <span class="comment">  /// \brief After the \c TokenAnnotator has finished annotating all the tokens,</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> <span class="comment">  /// this function precomputes required information for formatting.</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> precomputeFormattingInfos(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="classclang_1_1Token.html">Token</a>);</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> <span class="comment"></span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> <span class="comment">  /// \brief Apply the special formatting that the given role demands.</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> <span class="comment">  /// Continues formatting from \p State leaving indentation to \p Indenter and</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> <span class="comment">  /// returns the total penalty that this formatting incurs.</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1TokenRole.html#afbeecd5b0a727cbdce723b178a9ea1ae">  393</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> format(LineState &<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, ContinuationIndenter *<a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>,</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>                           <span class="keywordtype">bool</span> DryRun) {</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   }</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> <span class="comment"></span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> <span class="comment">  /// \brief Notifies the \c Role that a comma was found.</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1TokenRole.html#a931ec5bfb9c1f5b80f6ebd53e82497e6">  399</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1TokenRole.html#a931ec5bfb9c1f5b80f6ebd53e82497e6" title="Notifies the Role that a comma was found.">CommaFound</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="classclang_1_1Token.html">Token</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="keyword">protected</span>:</div>
+<div class="line"><a name="l00402"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1TokenRole.html#a5924b5484f0f8f27c7fcf43eb89231b1">  402</a></span>   <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="classclang_1_1format_1_1TokenRole.html#a5924b5484f0f8f27c7fcf43eb89231b1">Style</a>;</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> };</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html">  405</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html">CommaSeparatedList</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1format_1_1TokenRole.html">TokenRole</a> {</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00407"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html#a8ba40d75a547eead50a34b00672322ce">  407</a></span>   <a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html#a8ba40d75a547eead50a34b00672322ce">CommaSeparatedList</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>) : <a class="code" href="classclang_1_1format_1_1TokenRole.html">TokenRole</a>(Style) {}</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> </div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> precomputeFormattingInfos(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="classclang_1_1Token.html">Token</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>   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> format(<a class="code" href="structclang_1_1format_1_1LineState.html" title="The current state when indenting a unwrapped line.">LineState</a> &<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, <a class="code" href="classclang_1_1format_1_1ContinuationIndenter.html">ContinuationIndenter</a> *<a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>,</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>                           <span class="keywordtype">bool</span> DryRun);</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> <span class="comment"></span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span> <span class="comment">  /// \brief Adds \p Token as the next comma to the \c CommaSeparated list.</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html#a807896655b36398ad85ffd0f976b8e5f">  415</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1CommaSeparatedList.html#a807896655b36398ad85ffd0f976b8e5f" title="Adds Token as the next comma to the CommaSeparated list.">CommaFound</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> *<a class="code" href="classclang_1_1Token.html">Token</a>) { Commas.push_back(Token); }</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span> </div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> <span class="comment">  /// \brief A struct that holds information on how to format a given list with</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> <span class="comment">  /// a specific number of columns.</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="comment"></span>  <span class="keyword">struct </span>ColumnFormat {<span class="comment"></span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="comment">    /// \brief The number of columns to use.</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> Columns;</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">    /// \brief The total width in characters.</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> TotalWidth;</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">    /// \brief The number of lines required for this format.</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> <span class="comment"></span>    <span class="keywordtype">unsigned</span> LineCount;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> <span class="comment"></span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> <span class="comment">    /// \brief The size of each column in characters.</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> <span class="comment"></span>    <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<unsigned, 8></a> ColumnSizes;</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>   };</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> <span class="comment"></span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> <span class="comment">  /// \brief Calculate which \c ColumnFormat fits best into</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> <span class="comment">  /// \p RemainingCharacters.</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> <span class="comment"></span>  <span class="keyword">const</span> ColumnFormat *getColumnFormat(<span class="keywordtype">unsigned</span> RemainingCharacters) <span class="keyword">const</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">  /// \brief The ordered \c FormatTokens making up the commas of this list.</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<const FormatToken *, 8></a> Commas;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> <span class="comment"></span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> <span class="comment">  /// \brief The length of each of the list's items in characters including the</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> <span class="comment">  /// trailing comma.</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<unsigned, 8></a> ItemLengths;</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> <span class="comment"></span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> <span class="comment">  /// \brief Precomputed formats that can be used for this list.</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<ColumnFormat, 4></a> Formats;</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> };</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> </div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> } <span class="comment">// namespace format</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> } <span class="comment">// namespace clang</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> <span class="preprocessor">#endif // LLVM_CLANG_FORMAT_FORMAT_TOKEN_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/Format_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Format_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Format_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Format_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1556 @@
+<!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: Format.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Format.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Format_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">//===--- Format.cpp - Format C++ code -------------------------------------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// \brief This file implements functions declared in Format.h. This will be</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">/// split into separate files as we go.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a name="l00016"></a><span class="lineno"><a class="code" href="Format_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">   16</a></span> <span class="preprocessor">#define DEBUG_TYPE "format-formatter"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="ContinuationIndenter_8h.html" title="This file implements an indenter that manages the indentation of continuations.">ContinuationIndenter.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="TokenAnnotator_8h.html" title="This file implements a token annotator, i.e. creates AnnotatedTokens out of FormatTokens with require...">TokenAnnotator.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="UnwrappedLineParser_8h.html" title="This file contains the declaration of the UnwrappedLineParser, which turns a stream of tokens into Un...">UnwrappedLineParser.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="WhitespaceManager_8h.html" title="WhitespaceManager class manages whitespace around tokens and their replacements.">WhitespaceManager.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="Diagnostic_8h.html" title="Defines the Diagnostic-related interfaces.">clang/Basic/Diagnostic.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "<a class="code" href="SourceManager_8h.html" title="Defines the SourceManager interface.">clang/Basic/SourceManager.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "<a class="code" href="Format_8h.html">clang/Format/Format.h</a>"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "<a class="code" href="Lexer_8h.html">clang/Lex/Lexer.h</a>"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/ADT/STLExtras.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include "llvm/Support/Allocator.h"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor">#include "llvm/Support/Debug.h"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor">#include "llvm/Support/YAMLTraits.h"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="preprocessor">#include <queue></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="keyword">namespace </span>llvm {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="keyword">namespace </span>yaml {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="keyword">template</span> <></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1ScalarEnumerationTraits_3_01clang_1_1format_1_1FormatStyle_1_1LanguageStandard_01_4.html">   37</a></span> <span class="keyword">struct </span>ScalarEnumerationTraits<clang::format::FormatStyle::LanguageStandard> {</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1ScalarEnumerationTraits_3_01clang_1_1format_1_1FormatStyle_1_1LanguageStandard_01_4.html#ac05f706fc96b3f5c55c391144dcf64b5">   38</a></span>   <span class="keyword">static</span> <span class="keywordtype">void</span> enumeration(IO &IO,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>                           <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39" title="Supported language standards.">clang::format::FormatStyle::LanguageStandard</a> &<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>     IO.enumCase(Value, <span class="stringliteral">"Cpp03"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ad690e77384ec0503c47e9f4e238a58a5" title="Use C++03-compatible syntax.">clang::format::FormatStyle::LS_Cpp03</a>);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     IO.enumCase(Value, <span class="stringliteral">"C++03"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ad690e77384ec0503c47e9f4e238a58a5" title="Use C++03-compatible syntax.">clang::format::FormatStyle::LS_Cpp03</a>);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>     IO.enumCase(Value, <span class="stringliteral">"Cpp11"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ac2adca34064745a7171f70ba7e600095">clang::format::FormatStyle::LS_Cpp11</a>);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     IO.enumCase(Value, <span class="stringliteral">"C++11"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ac2adca34064745a7171f70ba7e600095">clang::format::FormatStyle::LS_Cpp11</a>);</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>     IO.enumCase(Value, <span class="stringliteral">"Auto"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ad54fa310d0a1bb4f4893fab021db1eaf" title="Automatic detection based on the input.">clang::format::FormatStyle::LS_Auto</a>);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   }</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> };</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="keyword">template</span> <></div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1ScalarEnumerationTraits_3_01clang_1_1format_1_1FormatStyle_1_1UseTabStyle_01_4.html">   49</a></span> <span class="keyword">struct </span>ScalarEnumerationTraits<clang::format::FormatStyle::UseTabStyle> {</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1ScalarEnumerationTraits_3_01clang_1_1format_1_1FormatStyle_1_1UseTabStyle_01_4.html#a89f1f955072e5cb9a88df3e7f567af8d">   50</a></span>   <span class="keyword">static</span> <span class="keywordtype">void</span> enumeration(IO &IO,</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>                           <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a45a4057e4a661ece92683d81c6164510" title="Different ways to use tab in formatting.">clang::format::FormatStyle::UseTabStyle</a> &<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     IO.enumCase(Value, <span class="stringliteral">"Never"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a45a4057e4a661ece92683d81c6164510afd12c70df29dd36bbb5971672f08bd12" title="Never use tab.">clang::format::FormatStyle::UT_Never</a>);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>     IO.enumCase(Value, <span class="stringliteral">"false"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a45a4057e4a661ece92683d81c6164510afd12c70df29dd36bbb5971672f08bd12" title="Never use tab.">clang::format::FormatStyle::UT_Never</a>);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>     IO.enumCase(Value, <span class="stringliteral">"Always"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a45a4057e4a661ece92683d81c6164510ac5fc60e5d09b7daadafd5e12d266d30a">clang::format::FormatStyle::UT_Always</a>);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     IO.enumCase(Value, <span class="stringliteral">"true"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a45a4057e4a661ece92683d81c6164510ac5fc60e5d09b7daadafd5e12d266d30a">clang::format::FormatStyle::UT_Always</a>);</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>     IO.enumCase(Value, <span class="stringliteral">"ForIndentation"</span>,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>                 <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a45a4057e4a661ece92683d81c6164510a98348a0ed9ac4d191ce1bb3cb3e541fb" title="Use tabs only for indentation.">clang::format::FormatStyle::UT_ForIndentation</a>);</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> };</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="keyword">template</span> <></div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1ScalarEnumerationTraits_3_01clang_1_1format_1_1FormatStyle_1_1BraceBreakingStyle_01_4.html">   62</a></span> <span class="keyword">struct </span>ScalarEnumerationTraits<clang::format::FormatStyle::BraceBreakingStyle> {</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   <span class="keyword">static</span> <span class="keywordtype">void</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1ScalarEnumerationTraits_3_01clang_1_1format_1_1FormatStyle_1_1BraceBreakingStyle_01_4.html#aa8fbb54a14ea390f2ea84cce772eabce">   64</a></span>   <a class="code" href="structllvm_1_1yaml_1_1ScalarEnumerationTraits_3_01clang_1_1format_1_1FormatStyle_1_1BraceBreakingStyle_01_4.html#aa8fbb54a14ea390f2ea84cce772eabce">enumeration</a>(IO &IO, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3" title="Different ways to attach braces to their surrounding context.">clang::format::FormatStyle::BraceBreakingStyle</a> &<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>     IO.enumCase(Value, <span class="stringliteral">"Attach"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3aea9196ec59731ddd6e997f063ae9cabc" title="Always attach braces to surrounding context.">clang::format::FormatStyle::BS_Attach</a>);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>     IO.enumCase(Value, <span class="stringliteral">"Linux"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3a90651ce12fddb7c4099d48b10457059b">clang::format::FormatStyle::BS_Linux</a>);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     IO.enumCase(Value, <span class="stringliteral">"Stroustrup"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3a791f92a5bb45f402345d9c92669a02a6" title="Like Attach, but break before function definitions.">clang::format::FormatStyle::BS_Stroustrup</a>);</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     IO.enumCase(Value, <span class="stringliteral">"Allman"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3a7916b04cf2c230741a0f9d7c18fd86ff" title="Always break before braces.">clang::format::FormatStyle::BS_Allman</a>);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   }</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> };</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> <span class="keyword">template</span> <></div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1ScalarEnumerationTraits_3_01clang_1_1format_1_1FormatStyle_1_1NamespaceIndentationKind_01_4.html">   73</a></span> <span class="keyword">struct </span>ScalarEnumerationTraits<</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>     clang::format::FormatStyle::NamespaceIndentationKind> {</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="keyword">static</span> <span class="keywordtype">void</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1ScalarEnumerationTraits_3_01clang_1_1format_1_1FormatStyle_1_1NamespaceIndentationKind_01_4.html#a6255762bf0814a6f33d72d967f0d95db">   76</a></span>   enumeration(IO &IO,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>               <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a792627527ce5d5ae7372f9f95c74fc68" title="Different ways to indent namespace contents.">clang::format::FormatStyle::NamespaceIndentationKind</a> &<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>     IO.enumCase(Value, <span class="stringliteral">"None"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a792627527ce5d5ae7372f9f95c74fc68a3c968534afc99a13a8b0bcbe43f9cc63" title="Don't indent in namespaces.">clang::format::FormatStyle::NI_None</a>);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     IO.enumCase(Value, <span class="stringliteral">"Inner"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a792627527ce5d5ae7372f9f95c74fc68af27aaa38ae3f4444e11ed3395f2152e4" title="Indent only in inner namespaces (nested in other namespaces).">clang::format::FormatStyle::NI_Inner</a>);</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>     IO.enumCase(Value, <span class="stringliteral">"All"</span>, <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a792627527ce5d5ae7372f9f95c74fc68a621fbb46f7cdc63d335e071054b18f1b" title="Indent in all namespaces.">clang::format::FormatStyle::NI_All</a>);</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>   }</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> };</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1MappingTraits_3_01clang_1_1format_1_1FormatStyle_01_4.html">   84</a></span> <span class="keyword">template</span> <> <span class="keyword">struct </span>MappingTraits<clang::format::FormatStyle> {</div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="structllvm_1_1yaml_1_1MappingTraits_3_01clang_1_1format_1_1FormatStyle_01_4.html#aa037b4d651ddcd66117480911ba53b28">   85</a></span>   <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1yaml_1_1MappingTraits_3_01clang_1_1format_1_1FormatStyle_01_4.html#aa037b4d651ddcd66117480911ba53b28">mapping</a>(llvm::yaml::IO &IO, <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">clang::format::FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>) {</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>     <span class="keywordflow">if</span> (IO.outputting()) {</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>       StringRef StylesArray[] = { <span class="stringliteral">"LLVM"</span>,    <span class="stringliteral">"Google"</span>, <span class="stringliteral">"Chromium"</span>,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>                                   <span class="stringliteral">"Mozilla"</span>, <span class="stringliteral">"WebKit"</span> };</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>       <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<StringRef></a> Styles(StylesArray);</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>       <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0, e = Styles.size(); i < e; ++i) {</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>         StringRef StyleName(Styles[i]);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>         <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">clang::format::FormatStyle</a> PredefinedStyle;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>         <span class="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1format.html#a0b628eb78915243b2a7f7ee9e7537ce2" title="Gets a predefined style by name.">clang::format::getPredefinedStyle</a>(StyleName, &PredefinedStyle) &&</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>             Style == PredefinedStyle) {</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>           IO.mapOptional(<span class="stringliteral">"# BasedOnStyle"</span>, StyleName);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>           <span class="keywordflow">break</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>       }</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>       StringRef BasedOnStyle;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>       IO.mapOptional(<span class="stringliteral">"BasedOnStyle"</span>, BasedOnStyle);</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>       <span class="keywordflow">if</span> (!BasedOnStyle.empty())</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>         <span class="keywordflow">if</span> (!<a class="code" href="namespaceclang_1_1format.html#a0b628eb78915243b2a7f7ee9e7537ce2" title="Gets a predefined style by name.">clang::format::getPredefinedStyle</a>(BasedOnStyle, &Style)) {</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>           IO.setError(Twine(<span class="stringliteral">"Unknown value for BasedOnStyle: "</span>, BasedOnStyle));</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>           <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>         }</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>     }</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>     IO.mapOptional(<span class="stringliteral">"AccessModifierOffset"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a534fd6ed422571ccff12fc5864b49bc3" title="The extra indent or outdent of access modifiers, e.g. public:.">AccessModifierOffset</a>);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>     IO.mapOptional(<span class="stringliteral">"ConstructorInitializerIndentWidth"</span>,</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a87a31c95b98c7ba6c606237473f61981" title="The number of characters to use for indentation of constructor initializer lists.">ConstructorInitializerIndentWidth</a>);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     IO.mapOptional(<span class="stringliteral">"AlignEscapedNewlinesLeft"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4d17cd37260d136936d4dfa4c65aa2d1" title="If true, aligns escaped newlines as far left as possible. Otherwise puts them into the right-most col...">AlignEscapedNewlinesLeft</a>);</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     IO.mapOptional(<span class="stringliteral">"AlignTrailingComments"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a368a5d9261eeb7e586f5bf70e91a23a5" title="If true, aligns trailing comments.">AlignTrailingComments</a>);</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>     IO.mapOptional(<span class="stringliteral">"AllowAllParametersOfDeclarationOnNextLine"</span>,</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aa6eeb36c958dfb1e4f15876c82cef2ce" title="Allow putting all parameters of a function declaration onto the next line even if BinPackParameters i...">AllowAllParametersOfDeclarationOnNextLine</a>);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>     IO.mapOptional(<span class="stringliteral">"AllowShortIfStatementsOnASingleLine"</span>,</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a91cea76ad14c5e46d199d8e9aca56d8e" title="If true, if (a) return; can be put on a single line.">AllowShortIfStatementsOnASingleLine</a>);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>     IO.mapOptional(<span class="stringliteral">"AllowShortLoopsOnASingleLine"</span>,</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a52ca039b50313d5b5de5207a8c9b2dfa" title="If true, while (true) continue; can be put on a single line.">AllowShortLoopsOnASingleLine</a>);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>     IO.mapOptional(<span class="stringliteral">"AlwaysBreakTemplateDeclarations"</span>,</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a1cecad8e59e6cbe721865134c0823a1a" title="If true, always break after the template<...> of a template declaration.">AlwaysBreakTemplateDeclarations</a>);</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>     IO.mapOptional(<span class="stringliteral">"AlwaysBreakBeforeMultilineStrings"</span>,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a03a80b6fa3e1785c7c59becbc621212d" title="If true, always break before multiline string literals.">AlwaysBreakBeforeMultilineStrings</a>);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>     IO.mapOptional(<span class="stringliteral">"BreakBeforeBinaryOperators"</span>,</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af02c827f82aac1f6182e575004b3ea4c" title="If true, binary operators will be placed after line breaks.">BreakBeforeBinaryOperators</a>);</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>     IO.mapOptional(<span class="stringliteral">"BreakBeforeTernaryOperators"</span>,</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af83c3653a76e6e749391f7d3663a8ce5" title="If true, ternary operators will be placed after line breaks.">BreakBeforeTernaryOperators</a>);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>     IO.mapOptional(<span class="stringliteral">"BreakConstructorInitializersBeforeComma"</span>,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ab817689d9226e0058764619a2a4be915" title="Always break constructor initializers before commas and align the commas with the colon...">BreakConstructorInitializersBeforeComma</a>);</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>     IO.mapOptional(<span class="stringliteral">"BinPackParameters"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a861528acbc8f4088e276034ce4dbbe1b" title="If false, a function call's or function definition's parameters will either all be on the same line o...">BinPackParameters</a>);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>     IO.mapOptional(<span class="stringliteral">"ColumnLimit"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a>);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     IO.mapOptional(<span class="stringliteral">"ConstructorInitializerAllOnOneLineOrOnePerLine"</span>,</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a914cb53dad8427f0f59a2ac97be860b0" title="If the constructor initializers don't fit on a line, put each initializer on its own line...">ConstructorInitializerAllOnOneLineOrOnePerLine</a>);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>     IO.mapOptional(<span class="stringliteral">"DerivePointerBinding"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4a222a69f52d7e84e16be612505b407c" title="If true, analyze the formatted file for the most common binding.">DerivePointerBinding</a>);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     IO.mapOptional(<span class="stringliteral">"ExperimentalAutoDetectBinPacking"</span>,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5ecc064cf590382856b68c4568c0ce24" title="If true, clang-format detects whether function calls and definitions are formatted with one parameter...">ExperimentalAutoDetectBinPacking</a>);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>     IO.mapOptional(<span class="stringliteral">"IndentCaseLabels"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a178999cdea92868a4f3dc332b36cc285" title="Indent case labels one level from the switch statement.">IndentCaseLabels</a>);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>     IO.mapOptional(<span class="stringliteral">"MaxEmptyLinesToKeep"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aafca7a61d6d72ab0adf276ace30155d5" title="The maximum number of consecutive empty lines to keep.">MaxEmptyLinesToKeep</a>);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>     IO.mapOptional(<span class="stringliteral">"NamespaceIndentation"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5a74c72d0ca5b345b9d5cf6d40da0adf" title="The indentation used for namespaces.">NamespaceIndentation</a>);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     IO.mapOptional(<span class="stringliteral">"ObjCSpaceBeforeProtocolList"</span>,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a3b0c9f0c4bb6b9b4e07704865a4acde6" title="Add a space in front of an Objective-C protocol list, i.e. use Foo <Protocol> instead of Foo<Protocol...">ObjCSpaceBeforeProtocolList</a>);</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>     IO.mapOptional(<span class="stringliteral">"PenaltyBreakBeforeFirstCallParameter"</span>,</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2256bfa6b34a5916077066fb05ad92d2" title="The penalty for breaking a function call after "call(".">PenaltyBreakBeforeFirstCallParameter</a>);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>     IO.mapOptional(<span class="stringliteral">"PenaltyBreakComment"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ae6b9c9cefa83f57a7075e9115bceac5c" title="The penalty for each line break introduced inside a comment.">PenaltyBreakComment</a>);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>     IO.mapOptional(<span class="stringliteral">"PenaltyBreakString"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ade360c8aa3ede11110a1e13d31a7516f" title="The penalty for each line break introduced inside a string literal.">PenaltyBreakString</a>);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     IO.mapOptional(<span class="stringliteral">"PenaltyBreakFirstLessLess"</span>,</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4e7375a939438afdd39c267da5bda3ec" title="The penalty for breaking before the first <<.">PenaltyBreakFirstLessLess</a>);</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>     IO.mapOptional(<span class="stringliteral">"PenaltyExcessCharacter"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7f2b485ba27597314723b0b11e47f099" title="The penalty for each character outside of the column limit.">PenaltyExcessCharacter</a>);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     IO.mapOptional(<span class="stringliteral">"PenaltyReturnTypeOnItsOwnLine"</span>,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a96be8e4382866d0ce27a63786d5f8057" title="Penalty for putting the return type of a function onto its own line.">PenaltyReturnTypeOnItsOwnLine</a>);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>     IO.mapOptional(<span class="stringliteral">"PointerBindsToType"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#addd86a0c8325719b25de1677238463a6" title="Set whether & and * bind to the type as opposed to the variable.">PointerBindsToType</a>);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>     IO.mapOptional(<span class="stringliteral">"SpacesBeforeTrailingComments"</span>,</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2c45bd6563a2837d105771d0c3ea7882" title="The number of spaces to before trailing line comments.">SpacesBeforeTrailingComments</a>);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>     IO.mapOptional(<span class="stringliteral">"Cpp11BracedListStyle"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a082f72ed255395cea133365999de70a1" title="If true, format braced lists as best suited for C++11 braced lists.">Cpp11BracedListStyle</a>);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>     IO.mapOptional(<span class="stringliteral">"Standard"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a044e29dde38856beac53b1a307e444da" title="Format compatible with this standard, e.g. use A<A<int> > instead of A<A<int>> for LS_Cpp03...">Standard</a>);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     IO.mapOptional(<span class="stringliteral">"IndentWidth"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0e1f96ea453f4d8fc16ab55bc31baeb2" title="The number of columns to use for indentation.">IndentWidth</a>);</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>     IO.mapOptional(<span class="stringliteral">"TabWidth"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a488265e26e22037ba7fed6489a21028e" title="The number of columns used for tab stops.">TabWidth</a>);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>     IO.mapOptional(<span class="stringliteral">"UseTab"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af0d526918c493f4e47259fa33beddf81" title="The way to use tab characters in the resulting file.">UseTab</a>);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>     IO.mapOptional(<span class="stringliteral">"BreakBeforeBraces"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7bb74cb37f57d469d6760ec09e466647" title="The brace breaking style to use.">BreakBeforeBraces</a>);</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>     IO.mapOptional(<span class="stringliteral">"IndentFunctionDeclarationAfterType"</span>,</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#abcc4fc50942deabd17bcf25ed9c938dd" title="If true, indent when breaking function declarations which are not also definitions after the type...">IndentFunctionDeclarationAfterType</a>);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>     IO.mapOptional(<span class="stringliteral">"SpacesInParentheses"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5a530af94f5ed0f89d8fac26894155d4" title="If true, spaces will be inserted after '(' and before ')'.">SpacesInParentheses</a>);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>     IO.mapOptional(<span class="stringliteral">"SpacesInAngles"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ae1bb2497d3a07251af3a9fa2aa1c4ffe" title="If true, spaces will be inserted after '<' and before '>' in template argument lists...">SpacesInAngles</a>);</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>     IO.mapOptional(<span class="stringliteral">"SpaceInEmptyParentheses"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a21b252e549c87fbfb9be7dc5d63492c9" title="If false, spaces may be inserted into '()'.">SpaceInEmptyParentheses</a>);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>     IO.mapOptional(<span class="stringliteral">"SpacesInCStyleCastParentheses"</span>,</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afd554010a49e3cbd23f957555e6d8f8d" title="If false, spaces may be inserted into C style casts.">SpacesInCStyleCastParentheses</a>);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     IO.mapOptional(<span class="stringliteral">"SpaceAfterControlStatementKeyword"</span>,</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2d9bf947c4f28a451e6360129aacc30d" title="If true, spaces will be inserted between 'for'/'if'/'while'/... and '('.">SpaceAfterControlStatementKeyword</a>);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>     IO.mapOptional(<span class="stringliteral">"SpaceBeforeAssignmentOperators"</span>,</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>                    Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a915fe4216df56e63f64b37568b82a3c3" title="If false, spaces will be removed before assignment operators.">SpaceBeforeAssignmentOperators</a>);</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>     IO.mapOptional(<span class="stringliteral">"ContinuationIndentWidth"</span>, Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0384417b961b70560004a52de799d7cc" title="Indent width for line continuations.">ContinuationIndentWidth</a>);</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>   }</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> };</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> }</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> }</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> <span class="keyword">namespace </span>format {</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a0bf0dc04c250edc75420f9e2fc1dad9f">  180</a></span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1format.html#a0bf0dc04c250edc75420f9e2fc1dad9f">setDefaultPenalties</a>(<a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>) {</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ae6b9c9cefa83f57a7075e9115bceac5c" title="The penalty for each line break introduced inside a comment.">PenaltyBreakComment</a> = 60;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4e7375a939438afdd39c267da5bda3ec" title="The penalty for breaking before the first <<.">PenaltyBreakFirstLessLess</a> = 120;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ade360c8aa3ede11110a1e13d31a7516f" title="The penalty for each line break introduced inside a string literal.">PenaltyBreakString</a> = 1000;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7f2b485ba27597314723b0b11e47f099" title="The penalty for each character outside of the column limit.">PenaltyExcessCharacter</a> = 1000000;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> }</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#aafb8657f00b80e806e1971948922c83f">  187</a></span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> <a class="code" href="namespaceclang_1_1format.html#aafb8657f00b80e806e1971948922c83f" title="Returns a format style complying with the LLVM coding standards: http://llvm.org/docs/CodingStandards...">getLLVMStyle</a>() {</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> LLVMStyle;</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a534fd6ed422571ccff12fc5864b49bc3" title="The extra indent or outdent of access modifiers, e.g. public:.">AccessModifierOffset</a> = -2;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4d17cd37260d136936d4dfa4c65aa2d1" title="If true, aligns escaped newlines as far left as possible. Otherwise puts them into the right-most col...">AlignEscapedNewlinesLeft</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a368a5d9261eeb7e586f5bf70e91a23a5" title="If true, aligns trailing comments.">AlignTrailingComments</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aa6eeb36c958dfb1e4f15876c82cef2ce" title="Allow putting all parameters of a function declaration onto the next line even if BinPackParameters i...">AllowAllParametersOfDeclarationOnNextLine</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a91cea76ad14c5e46d199d8e9aca56d8e" title="If true, if (a) return; can be put on a single line.">AllowShortIfStatementsOnASingleLine</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a52ca039b50313d5b5de5207a8c9b2dfa" title="If true, while (true) continue; can be put on a single line.">AllowShortLoopsOnASingleLine</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a03a80b6fa3e1785c7c59becbc621212d" title="If true, always break before multiline string literals.">AlwaysBreakBeforeMultilineStrings</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a1cecad8e59e6cbe721865134c0823a1a" title="If true, always break after the template<...> of a template declaration.">AlwaysBreakTemplateDeclarations</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a861528acbc8f4088e276034ce4dbbe1b" title="If false, a function call's or function definition's parameters will either all be on the same line o...">BinPackParameters</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af02c827f82aac1f6182e575004b3ea4c" title="If true, binary operators will be placed after line breaks.">BreakBeforeBinaryOperators</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af83c3653a76e6e749391f7d3663a8ce5" title="If true, ternary operators will be placed after line breaks.">BreakBeforeTernaryOperators</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7bb74cb37f57d469d6760ec09e466647" title="The brace breaking style to use.">BreakBeforeBraces</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3aea9196ec59731ddd6e997f063ae9cabc" title="Always attach braces to surrounding context.">FormatStyle::BS_Attach</a>;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ab817689d9226e0058764619a2a4be915" title="Always break constructor initializers before commas and align the commas with the colon...">BreakConstructorInitializersBeforeComma</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a> = 80;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a914cb53dad8427f0f59a2ac97be860b0" title="If the constructor initializers don't fit on a line, put each initializer on its own line...">ConstructorInitializerAllOnOneLineOrOnePerLine</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a87a31c95b98c7ba6c606237473f61981" title="The number of characters to use for indentation of constructor initializer lists.">ConstructorInitializerIndentWidth</a> = 4;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a082f72ed255395cea133365999de70a1" title="If true, format braced lists as best suited for C++11 braced lists.">Cpp11BracedListStyle</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4a222a69f52d7e84e16be612505b407c" title="If true, analyze the formatted file for the most common binding.">DerivePointerBinding</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5ecc064cf590382856b68c4568c0ce24" title="If true, clang-format detects whether function calls and definitions are formatted with one parameter...">ExperimentalAutoDetectBinPacking</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a178999cdea92868a4f3dc332b36cc285" title="Indent case labels one level from the switch statement.">IndentCaseLabels</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#abcc4fc50942deabd17bcf25ed9c938dd" title="If true, indent when breaking function declarations which are not also definitions after the type...">IndentFunctionDeclarationAfterType</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0e1f96ea453f4d8fc16ab55bc31baeb2" title="The number of columns to use for indentation.">IndentWidth</a> = 2;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a488265e26e22037ba7fed6489a21028e" title="The number of columns used for tab stops.">TabWidth</a> = 8;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aafca7a61d6d72ab0adf276ace30155d5" title="The maximum number of consecutive empty lines to keep.">MaxEmptyLinesToKeep</a> = 1;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5a74c72d0ca5b345b9d5cf6d40da0adf" title="The indentation used for namespaces.">NamespaceIndentation</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a792627527ce5d5ae7372f9f95c74fc68a3c968534afc99a13a8b0bcbe43f9cc63" title="Don't indent in namespaces.">FormatStyle::NI_None</a>;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a3b0c9f0c4bb6b9b4e07704865a4acde6" title="Add a space in front of an Objective-C protocol list, i.e. use Foo <Protocol> instead of Foo<Protocol...">ObjCSpaceBeforeProtocolList</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#addd86a0c8325719b25de1677238463a6" title="Set whether & and * bind to the type as opposed to the variable.">PointerBindsToType</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2c45bd6563a2837d105771d0c3ea7882" title="The number of spaces to before trailing line comments.">SpacesBeforeTrailingComments</a> = 1;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a044e29dde38856beac53b1a307e444da" title="Format compatible with this standard, e.g. use A<A<int> > instead of A<A<int>> for LS_Cpp03...">Standard</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ad690e77384ec0503c47e9f4e238a58a5" title="Use C++03-compatible syntax.">FormatStyle::LS_Cpp03</a>;</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af0d526918c493f4e47259fa33beddf81" title="The way to use tab characters in the resulting file.">UseTab</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a45a4057e4a661ece92683d81c6164510afd12c70df29dd36bbb5971672f08bd12" title="Never use tab.">FormatStyle::UT_Never</a>;</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5a530af94f5ed0f89d8fac26894155d4" title="If true, spaces will be inserted after '(' and before ')'.">SpacesInParentheses</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a21b252e549c87fbfb9be7dc5d63492c9" title="If false, spaces may be inserted into '()'.">SpaceInEmptyParentheses</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afd554010a49e3cbd23f957555e6d8f8d" title="If false, spaces may be inserted into C style casts.">SpacesInCStyleCastParentheses</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2d9bf947c4f28a451e6360129aacc30d" title="If true, spaces will be inserted between 'for'/'if'/'while'/... and '('.">SpaceAfterControlStatementKeyword</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a915fe4216df56e63f64b37568b82a3c3" title="If false, spaces will be removed before assignment operators.">SpaceBeforeAssignmentOperators</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0384417b961b70560004a52de799d7cc" title="Indent width for line continuations.">ContinuationIndentWidth</a> = 4;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ae1bb2497d3a07251af3a9fa2aa1c4ffe" title="If true, spaces will be inserted after '<' and before '>' in template argument lists...">SpacesInAngles</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <a class="code" href="namespaceclang_1_1format.html#a0bf0dc04c250edc75420f9e2fc1dad9f">setDefaultPenalties</a>(LLVMStyle);</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a96be8e4382866d0ce27a63786d5f8057" title="Penalty for putting the return type of a function onto its own line.">PenaltyReturnTypeOnItsOwnLine</a> = 60;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>   LLVMStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2256bfa6b34a5916077066fb05ad92d2" title="The penalty for breaking a function call after "call(".">PenaltyBreakBeforeFirstCallParameter</a> = 19;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>   <span class="keywordflow">return</span> LLVMStyle;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> }</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a069414119d622898a3b2ac8b48d08980">  234</a></span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> <a class="code" href="namespaceclang_1_1format.html#a069414119d622898a3b2ac8b48d08980" title="Returns a format style complying with Google's C++ style guide: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml.">getGoogleStyle</a>() {</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>   <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> GoogleStyle;</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a534fd6ed422571ccff12fc5864b49bc3" title="The extra indent or outdent of access modifiers, e.g. public:.">AccessModifierOffset</a> = -1;</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4d17cd37260d136936d4dfa4c65aa2d1" title="If true, aligns escaped newlines as far left as possible. Otherwise puts them into the right-most col...">AlignEscapedNewlinesLeft</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a368a5d9261eeb7e586f5bf70e91a23a5" title="If true, aligns trailing comments.">AlignTrailingComments</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aa6eeb36c958dfb1e4f15876c82cef2ce" title="Allow putting all parameters of a function declaration onto the next line even if BinPackParameters i...">AllowAllParametersOfDeclarationOnNextLine</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a91cea76ad14c5e46d199d8e9aca56d8e" title="If true, if (a) return; can be put on a single line.">AllowShortIfStatementsOnASingleLine</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a52ca039b50313d5b5de5207a8c9b2dfa" title="If true, while (true) continue; can be put on a single line.">AllowShortLoopsOnASingleLine</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a03a80b6fa3e1785c7c59becbc621212d" title="If true, always break before multiline string literals.">AlwaysBreakBeforeMultilineStrings</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a1cecad8e59e6cbe721865134c0823a1a" title="If true, always break after the template<...> of a template declaration.">AlwaysBreakTemplateDeclarations</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a861528acbc8f4088e276034ce4dbbe1b" title="If false, a function call's or function definition's parameters will either all be on the same line o...">BinPackParameters</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af02c827f82aac1f6182e575004b3ea4c" title="If true, binary operators will be placed after line breaks.">BreakBeforeBinaryOperators</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af83c3653a76e6e749391f7d3663a8ce5" title="If true, ternary operators will be placed after line breaks.">BreakBeforeTernaryOperators</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7bb74cb37f57d469d6760ec09e466647" title="The brace breaking style to use.">BreakBeforeBraces</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3aea9196ec59731ddd6e997f063ae9cabc" title="Always attach braces to surrounding context.">FormatStyle::BS_Attach</a>;</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ab817689d9226e0058764619a2a4be915" title="Always break constructor initializers before commas and align the commas with the colon...">BreakConstructorInitializersBeforeComma</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a> = 80;</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a914cb53dad8427f0f59a2ac97be860b0" title="If the constructor initializers don't fit on a line, put each initializer on its own line...">ConstructorInitializerAllOnOneLineOrOnePerLine</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a87a31c95b98c7ba6c606237473f61981" title="The number of characters to use for indentation of constructor initializer lists.">ConstructorInitializerIndentWidth</a> = 4;</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a082f72ed255395cea133365999de70a1" title="If true, format braced lists as best suited for C++11 braced lists.">Cpp11BracedListStyle</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4a222a69f52d7e84e16be612505b407c" title="If true, analyze the formatted file for the most common binding.">DerivePointerBinding</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5ecc064cf590382856b68c4568c0ce24" title="If true, clang-format detects whether function calls and definitions are formatted with one parameter...">ExperimentalAutoDetectBinPacking</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a178999cdea92868a4f3dc332b36cc285" title="Indent case labels one level from the switch statement.">IndentCaseLabels</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#abcc4fc50942deabd17bcf25ed9c938dd" title="If true, indent when breaking function declarations which are not also definitions after the type...">IndentFunctionDeclarationAfterType</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0e1f96ea453f4d8fc16ab55bc31baeb2" title="The number of columns to use for indentation.">IndentWidth</a> = 2;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a488265e26e22037ba7fed6489a21028e" title="The number of columns used for tab stops.">TabWidth</a> = 8;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aafca7a61d6d72ab0adf276ace30155d5" title="The maximum number of consecutive empty lines to keep.">MaxEmptyLinesToKeep</a> = 1;</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5a74c72d0ca5b345b9d5cf6d40da0adf" title="The indentation used for namespaces.">NamespaceIndentation</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a792627527ce5d5ae7372f9f95c74fc68a3c968534afc99a13a8b0bcbe43f9cc63" title="Don't indent in namespaces.">FormatStyle::NI_None</a>;</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a3b0c9f0c4bb6b9b4e07704865a4acde6" title="Add a space in front of an Objective-C protocol list, i.e. use Foo <Protocol> instead of Foo<Protocol...">ObjCSpaceBeforeProtocolList</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#addd86a0c8325719b25de1677238463a6" title="Set whether & and * bind to the type as opposed to the variable.">PointerBindsToType</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2c45bd6563a2837d105771d0c3ea7882" title="The number of spaces to before trailing line comments.">SpacesBeforeTrailingComments</a> = 2;</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a044e29dde38856beac53b1a307e444da" title="Format compatible with this standard, e.g. use A<A<int> > instead of A<A<int>> for LS_Cpp03...">Standard</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ad54fa310d0a1bb4f4893fab021db1eaf" title="Automatic detection based on the input.">FormatStyle::LS_Auto</a>;</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af0d526918c493f4e47259fa33beddf81" title="The way to use tab characters in the resulting file.">UseTab</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a45a4057e4a661ece92683d81c6164510afd12c70df29dd36bbb5971672f08bd12" title="Never use tab.">FormatStyle::UT_Never</a>;</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5a530af94f5ed0f89d8fac26894155d4" title="If true, spaces will be inserted after '(' and before ')'.">SpacesInParentheses</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a21b252e549c87fbfb9be7dc5d63492c9" title="If false, spaces may be inserted into '()'.">SpaceInEmptyParentheses</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afd554010a49e3cbd23f957555e6d8f8d" title="If false, spaces may be inserted into C style casts.">SpacesInCStyleCastParentheses</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2d9bf947c4f28a451e6360129aacc30d" title="If true, spaces will be inserted between 'for'/'if'/'while'/... and '('.">SpaceAfterControlStatementKeyword</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a915fe4216df56e63f64b37568b82a3c3" title="If false, spaces will be removed before assignment operators.">SpaceBeforeAssignmentOperators</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0384417b961b70560004a52de799d7cc" title="Indent width for line continuations.">ContinuationIndentWidth</a> = 4;</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ae1bb2497d3a07251af3a9fa2aa1c4ffe" title="If true, spaces will be inserted after '<' and before '>' in template argument lists...">SpacesInAngles</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>   <a class="code" href="namespaceclang_1_1format.html#a0bf0dc04c250edc75420f9e2fc1dad9f">setDefaultPenalties</a>(GoogleStyle);</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a96be8e4382866d0ce27a63786d5f8057" title="Penalty for putting the return type of a function onto its own line.">PenaltyReturnTypeOnItsOwnLine</a> = 200;</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>   GoogleStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2256bfa6b34a5916077066fb05ad92d2" title="The penalty for breaking a function call after "call(".">PenaltyBreakBeforeFirstCallParameter</a> = 1;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>   <span class="keywordflow">return</span> GoogleStyle;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> }</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#ab8a84310a0049cedb3afcba985164679">  281</a></span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> <a class="code" href="namespaceclang_1_1format.html#ab8a84310a0049cedb3afcba985164679" title="Returns a format style complying with Chromium's style guide: http://www.chromium.org/developers/coding-style.">getChromiumStyle</a>() {</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>   <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> ChromiumStyle = <a class="code" href="namespaceclang_1_1format.html#a069414119d622898a3b2ac8b48d08980" title="Returns a format style complying with Google's C++ style guide: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml.">getGoogleStyle</a>();</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>   ChromiumStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aa6eeb36c958dfb1e4f15876c82cef2ce" title="Allow putting all parameters of a function declaration onto the next line even if BinPackParameters i...">AllowAllParametersOfDeclarationOnNextLine</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>   ChromiumStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a91cea76ad14c5e46d199d8e9aca56d8e" title="If true, if (a) return; can be put on a single line.">AllowShortIfStatementsOnASingleLine</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>   ChromiumStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a52ca039b50313d5b5de5207a8c9b2dfa" title="If true, while (true) continue; can be put on a single line.">AllowShortLoopsOnASingleLine</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>   ChromiumStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a861528acbc8f4088e276034ce4dbbe1b" title="If false, a function call's or function definition's parameters will either all be on the same line o...">BinPackParameters</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>   ChromiumStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4a222a69f52d7e84e16be612505b407c" title="If true, analyze the formatted file for the most common binding.">DerivePointerBinding</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>   ChromiumStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a044e29dde38856beac53b1a307e444da" title="Format compatible with this standard, e.g. use A<A<int> > instead of A<A<int>> for LS_Cpp03...">Standard</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ad690e77384ec0503c47e9f4e238a58a5" title="Use C++03-compatible syntax.">FormatStyle::LS_Cpp03</a>;</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>   <span class="keywordflow">return</span> ChromiumStyle;</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> }</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#aa342c0dc9c7831f9b8571c3ef81637d6">  292</a></span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> <a class="code" href="namespaceclang_1_1format.html#aa342c0dc9c7831f9b8571c3ef81637d6" title="Returns a format style complying with Mozilla's style guide: https://developer.mozilla.org/en-US/docs/Developer_Guide/Coding_Style.">getMozillaStyle</a>() {</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>   <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> MozillaStyle = <a class="code" href="namespaceclang_1_1format.html#aafb8657f00b80e806e1971948922c83f" title="Returns a format style complying with the LLVM coding standards: http://llvm.org/docs/CodingStandards...">getLLVMStyle</a>();</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>   MozillaStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#aa6eeb36c958dfb1e4f15876c82cef2ce" title="Allow putting all parameters of a function declaration onto the next line even if BinPackParameters i...">AllowAllParametersOfDeclarationOnNextLine</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>   MozillaStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a914cb53dad8427f0f59a2ac97be860b0" title="If the constructor initializers don't fit on a line, put each initializer on its own line...">ConstructorInitializerAllOnOneLineOrOnePerLine</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>   MozillaStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a4a222a69f52d7e84e16be612505b407c" title="If true, analyze the formatted file for the most common binding.">DerivePointerBinding</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>   MozillaStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a178999cdea92868a4f3dc332b36cc285" title="Indent case labels one level from the switch statement.">IndentCaseLabels</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>   MozillaStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a3b0c9f0c4bb6b9b4e07704865a4acde6" title="Add a space in front of an Objective-C protocol list, i.e. use Foo <Protocol> instead of Foo<Protocol...">ObjCSpaceBeforeProtocolList</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>   MozillaStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a96be8e4382866d0ce27a63786d5f8057" title="Penalty for putting the return type of a function onto its own line.">PenaltyReturnTypeOnItsOwnLine</a> = 200;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>   MozillaStyle.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#addd86a0c8325719b25de1677238463a6" title="Set whether & and * bind to the type as opposed to the variable.">PointerBindsToType</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>   <span class="keywordflow">return</span> MozillaStyle;</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> }</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> </div>
+<div class="line"><a name="l00304"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a1614d4d536703b03a0b101ec206b4ea8">  304</a></span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> <a class="code" href="namespaceclang_1_1format.html#a1614d4d536703b03a0b101ec206b4ea8" title="Returns a format style complying with Webkit's style guide: http://www.webkit.org/coding/coding-style...">getWebKitStyle</a>() {</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a> = <a class="code" href="namespaceclang_1_1format.html#aafb8657f00b80e806e1971948922c83f" title="Returns a format style complying with the LLVM coding standards: http://llvm.org/docs/CodingStandards...">getLLVMStyle</a>();</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a534fd6ed422571ccff12fc5864b49bc3" title="The extra indent or outdent of access modifiers, e.g. public:.">AccessModifierOffset</a> = -4;</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a368a5d9261eeb7e586f5bf70e91a23a5" title="If true, aligns trailing comments.">AlignTrailingComments</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#af02c827f82aac1f6182e575004b3ea4c" title="If true, binary operators will be placed after line breaks.">BreakBeforeBinaryOperators</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a7bb74cb37f57d469d6760ec09e466647" title="The brace breaking style to use.">BreakBeforeBraces</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3a791f92a5bb45f402345d9c92669a02a6" title="Like Attach, but break before function definitions.">FormatStyle::BS_Stroustrup</a>;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#ab817689d9226e0058764619a2a4be915" title="Always break constructor initializers before commas and align the commas with the colon...">BreakConstructorInitializersBeforeComma</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#afe9550cc9c7c93fbc3506cb0b140593c" title="The column limit.">ColumnLimit</a> = 0;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a0e1f96ea453f4d8fc16ab55bc31baeb2" title="The number of columns to use for indentation.">IndentWidth</a> = 4;</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a5a74c72d0ca5b345b9d5cf6d40da0adf" title="The indentation used for namespaces.">NamespaceIndentation</a> = <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a792627527ce5d5ae7372f9f95c74fc68af27aaa38ae3f4444e11ed3395f2152e4" title="Indent only in inner namespaces (nested in other namespaces).">FormatStyle::NI_Inner</a>;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#addd86a0c8325719b25de1677238463a6" title="Set whether & and * bind to the type as opposed to the variable.">PointerBindsToType</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>   <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> }</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a0b628eb78915243b2a7f7ee9e7537ce2">  318</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1format.html#a0b628eb78915243b2a7f7ee9e7537ce2" title="Gets a predefined style by name.">getPredefinedStyle</a>(StringRef Name, <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> *<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>) {</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>   <span class="keywordflow">if</span> (Name.equals_lower(<span class="stringliteral">"llvm"</span>))</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>     *Style = <a class="code" href="namespaceclang_1_1format.html#aafb8657f00b80e806e1971948922c83f" title="Returns a format style complying with the LLVM coding standards: http://llvm.org/docs/CodingStandards...">getLLVMStyle</a>();</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Name.equals_lower(<span class="stringliteral">"chromium"</span>))</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>     *Style = <a class="code" href="namespaceclang_1_1format.html#ab8a84310a0049cedb3afcba985164679" title="Returns a format style complying with Chromium's style guide: http://www.chromium.org/developers/coding-style.">getChromiumStyle</a>();</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Name.equals_lower(<span class="stringliteral">"mozilla"</span>))</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>     *Style = <a class="code" href="namespaceclang_1_1format.html#aa342c0dc9c7831f9b8571c3ef81637d6" title="Returns a format style complying with Mozilla's style guide: https://developer.mozilla.org/en-US/docs/Developer_Guide/Coding_Style.">getMozillaStyle</a>();</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Name.equals_lower(<span class="stringliteral">"google"</span>))</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>     *Style = <a class="code" href="namespaceclang_1_1format.html#a069414119d622898a3b2ac8b48d08980" title="Returns a format style complying with Google's C++ style guide: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml.">getGoogleStyle</a>();</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Name.equals_lower(<span class="stringliteral">"webkit"</span>))</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>     *Style = <a class="code" href="namespaceclang_1_1format.html#a1614d4d536703b03a0b101ec206b4ea8" title="Returns a format style complying with Webkit's style guide: http://www.webkit.org/coding/coding-style...">getWebKitStyle</a>();</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>     <span class="keywordflow">return</span> <span class="keyword">false</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="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> }</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> </div>
+<div class="line"><a name="l00335"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#aef0f064bc9b071dc0078f08312867a34">  335</a></span> llvm::error_code <a class="code" href="namespaceclang_1_1format.html#aef0f064bc9b071dc0078f08312867a34" title="Parse configuration from YAML-formatted text.">parseConfiguration</a>(StringRef Text, <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> *<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>) {</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   <span class="keywordflow">if</span> (Text.trim().empty())</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>     <span class="keywordflow">return</span> llvm::make_error_code(llvm::errc::invalid_argument);</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>   <a class="code" href="JSONCompilationDatabase_8cpp.html#aece53df006a4f11f7ebaac621f5d3bdb">llvm::yaml::Input</a> <a class="code" href="JSONCompilationDatabase_8cpp.html#aece53df006a4f11f7ebaac621f5d3bdb">Input</a>(Text);</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   Input >> *<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <span class="keywordflow">return</span> Input.error();</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> </div>
+<div class="line"><a name="l00343"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a55b4c945b9f6b5e81279ad3c83c981f1">  343</a></span> std::string <a class="code" href="namespaceclang_1_1format.html#a55b4c945b9f6b5e81279ad3c83c981f1" title="Gets configuration in a YAML string.">configurationAsText</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>) {</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>   std::string Text;</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>   llvm::raw_string_ostream Stream(Text);</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>   llvm::yaml::Output Output(Stream);</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>   <span class="comment">// We use the same mapping method for input and output, so we need a non-const</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>   <span class="comment">// reference here.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> NonConstStyle = <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>   Output << NonConstStyle;</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>   <span class="keywordflow">return</span> Stream.str();</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> }</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> <span class="keyword">class </span>NoColumnLimitFormatter {</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   NoColumnLimitFormatter(ContinuationIndenter *<a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>) : Indenter(Indenter) {}</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">  /// \brief Formats the line starting at \p State, simply keeping all of the</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> <span class="comment">  /// input's line breaking decisions.</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> <span class="comment"></span>  <span class="keywordtype">void</span> format(<span class="keywordtype">unsigned</span> FirstIndent, <span class="keyword">const</span> AnnotatedLine *<a class="code" href="TokenAnnotator_8cpp.html#a0d95c6acfc477accd6ff1b1ca93c82cc">Line</a>) {</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>     LineState <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a> =</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>         <a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>->getInitialState(FirstIndent, Line, <span class="comment">/*DryRun=*/</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>     <span class="keywordflow">while</span> (State.NextToken != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>) {</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>       <span class="keywordtype">bool</span> Newline =</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>           <a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>->mustBreak(State) ||</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>           (<a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>->canBreak(State) && State.NextToken->NewlinesBefore > 0);</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>       <a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>->addTokenToState(State, Newline, <span class="comment">/*DryRun=*/</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>     }</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>   }</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> </div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00374"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">  374</a></span>   ContinuationIndenter *<a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> };</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> <span class="keyword">class </span>LineJoiner {</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   LineJoiner(<span class="keyword">const</span> FormatStyle &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>) : <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>(Style) {}</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">  /// \brief Calculates how many lines can be merged into 1 starting at \p I.</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>   tryFitMultipleLinesInOne(<span class="keywordtype">unsigned</span> <a class="code" href="PlistReporter_8cpp.html#a7676f960dee8fa858b7eb3c75f7770ed">Indent</a>,</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>                            SmallVectorImpl<AnnotatedLine *>::const_iterator &I,</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>                            SmallVectorImpl<AnnotatedLine *>::const_iterator E) {</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>     <span class="comment">// We can never merge stuff if there are trailing line comments.</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>     AnnotatedLine *TheLine = *I;</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>     <span class="keywordflow">if</span> (TheLine->Last->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a83fdf1f81a2b707b6a6f0203a186b3d6">TT_LineComment</a>)</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>     <span class="keywordflow">if</span> (Indent > Style.ColumnLimit)</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> </div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>     <span class="keywordtype">unsigned</span> Limit =</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>         Style.ColumnLimit == 0 ? <a class="code" href="limits_8h.html#ac998ea02fbd821fc123d60445ce76f38">UINT_MAX</a> : Style.ColumnLimit - <a class="code" href="PlistReporter_8cpp.html#a7676f960dee8fa858b7eb3c75f7770ed">Indent</a>;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>     <span class="comment">// If we already exceed the column limit, we set 'Limit' to 0. The different</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>     <span class="comment">// tryMerge..() functions can then decide whether to still do merging.</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>     Limit = TheLine->Last->TotalLength > Limit</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>                 ? 0</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>                 : Limit - TheLine->Last->TotalLength;</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>     <span class="keywordflow">if</span> (I + 1 == E || I[1]->Type == <a class="code" href="namespaceclang_1_1format.html#af1aa248193ce0aa256a43af928d62171acc4ddb995bb9dcfb69eddbd787f39df4">LT_Invalid</a>)</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>     <span class="keywordflow">if</span> (TheLine->Last->is(tok::l_brace)) {</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>       <span class="keywordflow">return</span> tryMergeSimpleBlock(I, E, Limit);</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Style.AllowShortIfStatementsOnASingleLine &&</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>                TheLine->First->is(tok::kw_if)) {</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>       <span class="keywordflow">return</span> tryMergeSimpleControlStatement(I, E, Limit);</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Style.AllowShortLoopsOnASingleLine &&</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>                TheLine->First->isOneOf(tok::kw_for, tok::kw_while)) {</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>       <span class="keywordflow">return</span> tryMergeSimpleControlStatement(I, E, Limit);</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TheLine->InPPDirective && (TheLine->First->HasUnescapedNewline ||</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>                                           TheLine->First->IsFirst)) {</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>       <span class="keywordflow">return</span> tryMergeSimplePPDirective(I, E, Limit);</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>     }</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   }</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>   <span class="keywordtype">unsigned</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>   tryMergeSimplePPDirective(SmallVectorImpl<AnnotatedLine *>::const_iterator &I,</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>                             SmallVectorImpl<AnnotatedLine *>::const_iterator E,</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>                             <span class="keywordtype">unsigned</span> Limit) {</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>     <span class="keywordflow">if</span> (Limit == 0)</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>     <span class="keywordflow">if</span> (!I[1]->InPPDirective || I[1]->First->HasUnescapedNewline)</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>     <span class="keywordflow">if</span> (I + 2 != E && I[2]->InPPDirective && !I[2]->First->HasUnescapedNewline)</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>     <span class="keywordflow">if</span> (1 + I[1]-><a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960a266d73bc4ca20907a5df65ca32193720">Last</a>->TotalLength > Limit)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>     <span class="keywordflow">return</span> 1;</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>   }</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> </div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>   <span class="keywordtype">unsigned</span> tryMergeSimpleControlStatement(</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>       SmallVectorImpl<AnnotatedLine *>::const_iterator &I,</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>       SmallVectorImpl<AnnotatedLine *>::const_iterator E, <span class="keywordtype">unsigned</span> Limit) {</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>     <span class="keywordflow">if</span> (Limit == 0)</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>     <span class="keywordflow">if</span> (Style.BreakBeforeBraces == <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3a7916b04cf2c230741a0f9d7c18fd86ff" title="Always break before braces.">FormatStyle::BS_Allman</a> &&</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>         I[1]->First->is(tok::l_brace))</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>     <span class="keywordflow">if</span> (I[1]->InPPDirective != (*I)->InPPDirective ||</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>         (I[1]->InPPDirective && I[1]->First->HasUnescapedNewline))</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>     AnnotatedLine &Line = **I;</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>     <span class="keywordflow">if</span> (Line.Last->isNot(tok::r_paren))</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>     <span class="keywordflow">if</span> (1 + I[1]-><a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960a266d73bc4ca20907a5df65ca32193720">Last</a>->TotalLength > Limit)</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>     <span class="keywordflow">if</span> (I[1]->First->isOneOf(tok::semi, tok::kw_if, tok::kw_for,</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>                                    tok::kw_while) ||</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>         I[1]->First->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a83fdf1f81a2b707b6a6f0203a186b3d6">TT_LineComment</a>)</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>     <span class="comment">// Only inline simple if's (no nested if or else).</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>     <span class="keywordflow">if</span> (I + 2 != E && Line.First->is(tok::kw_if) &&</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>         I[2]->First->is(tok::kw_else))</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>     <span class="keywordflow">return</span> 1;</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>   }</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>   <span class="keywordtype">unsigned</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>   tryMergeSimpleBlock(SmallVectorImpl<AnnotatedLine *>::const_iterator &I,</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>                       SmallVectorImpl<AnnotatedLine *>::const_iterator E,</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>                       <span class="keywordtype">unsigned</span> Limit) {</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>     <span class="comment">// No merging if the brace already is on the next line.</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>     <span class="keywordflow">if</span> (Style.BreakBeforeBraces != <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a2a6788e882cdfc0594579426e19707b3aea9196ec59731ddd6e997f063ae9cabc" title="Always attach braces to surrounding context.">FormatStyle::BS_Attach</a>)</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>     <span class="comment">// First, check that the current line allows merging. This is the case if</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>     <span class="comment">// we're not in a control flow statement and the last token is an opening</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>     <span class="comment">// brace.</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>     AnnotatedLine &Line = **I;</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>     <span class="keywordflow">if</span> (Line.First->isOneOf(tok::kw_if, tok::kw_while, tok::kw_do, tok::r_brace,</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>                             tok::kw_else, tok::kw_try, tok::kw_catch,</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>                             tok::kw_for,</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>                             <span class="comment">// This gets rid of all ObjC @ keywords and methods.</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>                             tok::at, tok::minus, tok::plus))</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> </div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     FormatToken *Tok = I[1]->First;</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>     <span class="keywordflow">if</span> (Tok->is(tok::r_brace) && !Tok->MustBreakBefore &&</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>         (Tok->getNextNonComment() == <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> ||</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>          Tok->getNextNonComment()->is(tok::semi))) {</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>       <span class="comment">// We merge empty blocks even if the line exceeds the column limit.</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>       Tok->SpacesRequiredBefore = 0;</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>       Tok->CanBreakBefore = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>       <span class="keywordflow">return</span> 1;</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Limit != 0 && Line.First->isNot(tok::kw_namespace)) {</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>       <span class="comment">// Check that we still have three lines and they fit into the limit.</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>       <span class="keywordflow">if</span> (I + 2 == E || I[2]->Type == <a class="code" href="namespaceclang_1_1format.html#af1aa248193ce0aa256a43af928d62171acc4ddb995bb9dcfb69eddbd787f39df4">LT_Invalid</a>)</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>       <span class="keywordflow">if</span> (!nextTwoLinesFitInto(I, Limit))</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> </div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>       <span class="comment">// Second, check that the next line does not contain any braces - if it</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>       <span class="comment">// does, readability declines when putting it into a single line.</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>       <span class="keywordflow">if</span> (I[1]-><a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960a266d73bc4ca20907a5df65ca32193720">Last</a>->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a83fdf1f81a2b707b6a6f0203a186b3d6">TT_LineComment</a> || Tok->MustBreakBefore)</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>       <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>         <span class="keywordflow">if</span> (Tok->isOneOf(tok::l_brace, tok::r_brace))</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>           <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>         Tok = Tok->Next;</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>       } <span class="keywordflow">while</span> (Tok != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>);</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> </div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>       <span class="comment">// Last, check that the third line contains a single closing brace.</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>       Tok = I[2]->First;</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>       <span class="keywordflow">if</span> (Tok->getNextNonComment() != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> || Tok->isNot(tok::r_brace) ||</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>           Tok->MustBreakBefore)</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> </div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>       <span class="keywordflow">return</span> 2;</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>     }</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>   }</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> </div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>   <span class="keywordtype">bool</span> nextTwoLinesFitInto(SmallVectorImpl<AnnotatedLine *>::const_iterator I,</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>                            <span class="keywordtype">unsigned</span> Limit) {</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>     <span class="keywordflow">return</span> 1 + I[1]->Last->TotalLength + 1 + I[2]->Last->TotalLength <= Limit;</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>   }</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span> </div>
+<div class="line"><a name="l00524"></a><span class="lineno"><a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">  524</a></span>   <span class="keyword">const</span> FormatStyle &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span> };</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span> </div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span> <span class="keyword">class </span>UnwrappedLineFormatter {</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>   UnwrappedLineFormatter(SourceManager &<a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>,</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>                          SmallVectorImpl<CharSourceRange> &<a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">Ranges</a>,</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>                          ContinuationIndenter *<a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>,</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>                          WhitespaceManager *<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>,</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>                          <span class="keyword">const</span> FormatStyle &Style)</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>       : <a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>(SourceMgr), <a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">Ranges</a>(Ranges), <a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>(Indenter),</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>         <a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>(Whitespaces), <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>(Style), <a class="code" href="Format_8cpp.html#ac6a417f7cd3ba7dc7f3ef8a1d2da2db2">Joiner</a>(Style) {}</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span> </div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>   <span class="keywordtype">unsigned</span> format(<span class="keyword">const</span> SmallVectorImpl<AnnotatedLine *> &Lines, <span class="keywordtype">bool</span> DryRun,</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>                   <span class="keywordtype">int</span> AdditionalIndent = 0) {</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>     assert(!Lines.empty());</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>     <span class="keywordtype">unsigned</span> Penalty = 0;</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>     std::vector<int> IndentForLevel;</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = Lines[0]-><a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>; i != e; ++i)</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>       IndentForLevel.push_back(Style.IndentWidth * i + AdditionalIndent);</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>     <span class="keywordtype">bool</span> PreviousLineWasTouched = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>     <span class="keyword">const</span> AnnotatedLine *PreviousLine = <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>     <span class="keywordtype">bool</span> FormatPPDirective = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>     <span class="keywordflow">for</span> (SmallVectorImpl<AnnotatedLine *>::const_iterator I = Lines.begin(),</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>                                                           E = Lines.end();</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>          I != E; ++I) {</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>       <span class="keyword">const</span> AnnotatedLine &TheLine = **I;</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>       <span class="keyword">const</span> FormatToken *FirstTok = TheLine.First;</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>       <span class="keywordtype">int</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> = getIndentOffset(*FirstTok);</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span> </div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>       <span class="comment">// Check whether this line is part of a formatted preprocessor directive.</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>       <span class="keywordflow">if</span> (FirstTok->HasUnescapedNewline)</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>         FormatPPDirective = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>       <span class="keywordflow">if</span> (!FormatPPDirective && TheLine.InPPDirective &&</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>           (touchesLine(TheLine) || touchesPPDirective(I + 1, E)))</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>         FormatPPDirective = <span class="keyword">true</span>;</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>       <span class="comment">// Determine indent and try to merge multiple unwrapped lines.</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>       <span class="keywordflow">while</span> (IndentForLevel.size() <= TheLine.Level)</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>         IndentForLevel.push_back(-1);</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>       IndentForLevel.resize(TheLine.Level + 1);</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>       <span class="keywordtype">unsigned</span> Indent = getIndent(IndentForLevel, TheLine.Level);</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>       <span class="keywordflow">if</span> (static_cast<int>(Indent) + Offset >= 0)</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>         Indent += <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>;</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>       <span class="keywordtype">unsigned</span> MergedLines = <a class="code" href="Format_8cpp.html#ac6a417f7cd3ba7dc7f3ef8a1d2da2db2">Joiner</a>.tryFitMultipleLinesInOne(Indent, I, E);</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>       <span class="keywordflow">if</span> (!DryRun) {</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>         <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < MergedLines; ++i) {</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>           join(*I[i], *I[i + 1]);</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>         }</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>       }</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>       I += MergedLines;</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>       <span class="keywordtype">bool</span> WasMoved = PreviousLineWasTouched && FirstTok->NewlinesBefore == 0;</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>       <span class="keywordflow">if</span> (TheLine.First->is(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aac4904dc9309fe9cf0fe76ff45d54f265">tok::eof</a>)) {</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>         <span class="keywordflow">if</span> (PreviousLineWasTouched && !DryRun) {</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>           <span class="keywordtype">unsigned</span> Newlines = std::min(FirstTok->NewlinesBefore, 1u);</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>           Whitespaces->replaceWhitespace(*TheLine.First, Newlines,</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>                                          <span class="comment">/*IndentLevel=*/</span>0, <span class="comment">/*Spaces=*/</span>0,</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>                                          <span class="comment">/*TargetColumn=*/</span>0);</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>         }</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TheLine.Type != <a class="code" href="namespaceclang_1_1format.html#af1aa248193ce0aa256a43af928d62171acc4ddb995bb9dcfb69eddbd787f39df4">LT_Invalid</a> &&</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>                  (WasMoved || FormatPPDirective || touchesLine(TheLine))) {</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>         <span class="keywordtype">unsigned</span> LevelIndent =</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>             getIndent(IndentForLevel, TheLine.Level);</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>         <span class="keywordflow">if</span> (FirstTok->WhitespaceRange.isValid()) {</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>           <span class="keywordflow">if</span> (!DryRun)</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>             formatFirstToken(*TheLine.First, PreviousLine, TheLine.Level,</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>                              Indent, TheLine.InPPDirective);</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>         } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>           Indent = LevelIndent = FirstTok->OriginalColumn;</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>         }</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span> </div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>         <span class="comment">// If everything fits on a single line, just put it there.</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>         <span class="keywordtype">unsigned</span> ColumnLimit = Style.ColumnLimit;</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>         <span class="keywordflow">if</span> (I + 1 != E) {</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>           AnnotatedLine *NextLine = I[1];</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>           <span class="keywordflow">if</span> (NextLine->InPPDirective && !NextLine->First->HasUnescapedNewline)</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>             ColumnLimit = getColumnLimit(TheLine.InPPDirective);</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>         }</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> </div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>         <span class="keywordflow">if</span> (TheLine.Last->TotalLength + Indent <= ColumnLimit) {</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>           LineState State = Indenter->getInitialState(Indent, &TheLine, DryRun);</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>           <span class="keywordflow">while</span> (State.NextToken != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>)</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>             Indenter->addTokenToState(State, <span class="comment">/*Newline=*/</span><span class="keyword">false</span>, DryRun);</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Style.ColumnLimit == 0) {</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>           NoColumnLimitFormatter Formatter(Indenter);</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>           <span class="keywordflow">if</span> (!DryRun)</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>             Formatter.format(Indent, &TheLine);</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>         } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>           Penalty += format(TheLine, Indent, DryRun);</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>         }</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span> </div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>         IndentForLevel[TheLine.Level] = LevelIndent;</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>         PreviousLineWasTouched = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>         <span class="comment">// Format the first token if necessary, and notify the WhitespaceManager</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>         <span class="comment">// about the unchanged whitespace.</span></div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>         <span class="keywordflow">for</span> (FormatToken *Tok = TheLine.First; Tok != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>; Tok = Tok->Next) {</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>           <span class="keywordflow">if</span> (Tok == TheLine.First &&</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>               (Tok->NewlinesBefore > 0 || Tok->IsFirst)) {</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>             <span class="keywordtype">unsigned</span> LevelIndent = Tok->OriginalColumn;</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>             <span class="keywordflow">if</span> (!DryRun) {</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>               <span class="comment">// Remove trailing whitespace of the previous line if it was</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>               <span class="comment">// touched.</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>               <span class="keywordflow">if</span> (PreviousLineWasTouched || touchesEmptyLineBefore(TheLine)) {</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>                 formatFirstToken(*Tok, PreviousLine, TheLine.Level, LevelIndent,</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>                                  TheLine.InPPDirective);</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>               } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>                 Whitespaces->addUntouchableToken(*Tok, TheLine.InPPDirective);</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>               }</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>             }</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span> </div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>             <span class="keywordflow">if</span> (static_cast<int>(LevelIndent) - Offset >= 0)</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>               LevelIndent -= <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>;</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>             <span class="keywordflow">if</span> (Tok->isNot(tok::comment))</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>               IndentForLevel[TheLine.Level] = LevelIndent;</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>           } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!DryRun) {</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>             Whitespaces->addUntouchableToken(*Tok, TheLine.InPPDirective);</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>           }</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>         }</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>         <span class="comment">// If we did not reformat this unwrapped line, the column at the end of</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>         <span class="comment">// the last token is unchanged - thus, we can calculate the end of the</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>         <span class="comment">// last token.</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>         PreviousLineWasTouched = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>       }</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>       <span class="keywordflow">if</span> (!DryRun) {</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>         <span class="keywordflow">for</span> (FormatToken *Tok = TheLine.First; Tok != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>; Tok = Tok->Next) {</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>           Tok->Finalized = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>         }</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>       PreviousLine = *I;</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>     }</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>     <span class="keywordflow">return</span> Penalty;</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>   }</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span> </div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span> <span class="comment">  /// \brief Formats an \c AnnotatedLine and returns the penalty.</span></div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span> <span class="comment">  /// If \p DryRun is \c false, directly applies the changes.</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> format(<span class="keyword">const</span> AnnotatedLine &Line, <span class="keywordtype">unsigned</span> FirstIndent,</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>                   <span class="keywordtype">bool</span> DryRun) {</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>     LineState State = Indenter->getInitialState(FirstIndent, &Line, DryRun);</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span> </div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>     <span class="comment">// If the ObjC method declaration does not fit on a line, we should format</span></div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>     <span class="comment">// it with one arg per line.</span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>     <span class="keywordflow">if</span> (State.Line->Type == <a class="code" href="namespaceclang_1_1format.html#af1aa248193ce0aa256a43af928d62171a40123db8fe0709b9f77c1601517b2359">LT_ObjCMethodDecl</a>)</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>       State.Stack.back().BreakBeforeParameter = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span> </div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>     <span class="comment">// Find best solution in solution space.</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>     <span class="keywordflow">return</span> analyzeSolutionSpace(State, DryRun);</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>   }</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span> <span class="comment"></span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span> <span class="comment">  /// \brief An edge in the solution space from \c Previous->State to \c State,</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span> <span class="comment">  /// inserting a newline dependent on the \c NewLine.</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span> <span class="comment"></span>  <span class="keyword">struct </span>StateNode {</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>     StateNode(<span class="keyword">const</span> LineState &State, <span class="keywordtype">bool</span> <a class="code" href="Format_8cpp.html#a5034b09b7876fa69430159948e9a403e">NewLine</a>, StateNode *<a class="code" href="Format_8cpp.html#a367365df5b490f2ddb411318d9d421a9">Previous</a>)</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>         : State(State), NewLine(NewLine), Previous(Previous) {}</div>
+<div class="line"><a name="l00681"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">  681</a></span>     LineState <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>;</div>
+<div class="line"><a name="l00682"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a5034b09b7876fa69430159948e9a403e">  682</a></span>     <span class="keywordtype">bool</span> <a class="code" href="Format_8cpp.html#a5034b09b7876fa69430159948e9a403e">NewLine</a>;</div>
+<div class="line"><a name="l00683"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a367365df5b490f2ddb411318d9d421a9">  683</a></span>     StateNode *<a class="code" href="Format_8cpp.html#a367365df5b490f2ddb411318d9d421a9">Previous</a>;</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>   };</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span> <span class="comment"></span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span> <span class="comment">  /// \brief A pair of <penalty, count> that is used to prioritize the BFS on.</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span> <span class="comment">  /// In case of equal penalties, we want to prefer states that were inserted</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span> <span class="comment">  /// first. During state generation we make sure that we insert states first</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span> <span class="comment">  /// that break the line as late as possible.</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span> <span class="comment"></span>  <span class="keyword">typedef</span> std::pair<unsigned, unsigned> OrderedPenalty;</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span> <span class="comment"></span></div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span> <span class="comment">  /// \brief An item in the prioritized BFS search queue. The \c StateNode's</span></div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span> <span class="comment">  /// \c State has the given \c OrderedPenalty.</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span> <span class="comment"></span>  <span class="keyword">typedef</span> std::pair<OrderedPenalty, StateNode *> QueueItem;</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span> <span class="comment"></span></div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span> <span class="comment">  /// \brief The BFS queue type.</span></div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span> <span class="comment"></span>  <span class="keyword">typedef</span> std::priority_queue<QueueItem, std::vector<QueueItem>,</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>                               std::greater<QueueItem> > QueueType;</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span> <span class="comment"></span></div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span> <span class="comment">  /// \brief Get the offset of the line relatively to the level.</span></div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span> <span class="comment">  /// For example, 'public:' labels in classes are offset by 1 or 2</span></div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> <span class="comment">  /// characters to the left from their level.</span></div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span> <span class="comment"></span>  <span class="keywordtype">int</span> getIndentOffset(<span class="keyword">const</span> FormatToken &RootToken) {</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>     <span class="keywordflow">if</span> (RootToken.isAccessSpecifier(<span class="keyword">false</span>) || RootToken.isObjCAccessSpecifier())</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>       <span class="keywordflow">return</span> Style.AccessModifierOffset;</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>   }</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span> <span class="comment"></span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span> <span class="comment">  /// \brief Add a new line and the required indent before the first Token</span></div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span> <span class="comment">  /// of the \c UnwrappedLine if there was no structural parsing error.</span></div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span> <span class="comment"></span>  <span class="keywordtype">void</span> formatFirstToken(FormatToken &RootToken,</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>                         <span class="keyword">const</span> AnnotatedLine *PreviousLine, <span class="keywordtype">unsigned</span> IndentLevel,</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>                         <span class="keywordtype">unsigned</span> Indent, <span class="keywordtype">bool</span> InPPDirective) {</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>     <span class="keywordtype">unsigned</span> Newlines =</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>         std::min(RootToken.NewlinesBefore, Style.MaxEmptyLinesToKeep + 1);</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>     <span class="comment">// Remove empty lines before "}" where applicable.</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>     <span class="keywordflow">if</span> (RootToken.is(tok::r_brace) &&</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>         (!RootToken.Next ||</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>          (RootToken.Next->is(tok::semi) && !RootToken.Next->Next)))</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>       Newlines = std::min(Newlines, 1u);</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>     <span class="keywordflow">if</span> (Newlines == 0 && !RootToken.IsFirst)</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>       Newlines = 1;</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span> </div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>     <span class="comment">// Insert extra new line before access specifiers.</span></div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>     <span class="keywordflow">if</span> (PreviousLine && PreviousLine->Last->isOneOf(tok::semi, tok::r_brace) &&</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>         RootToken.isAccessSpecifier() && RootToken.NewlinesBefore == 1)</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>       ++Newlines;</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span> </div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>     <span class="comment">// Remove empty lines after access specifiers.</span></div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>     <span class="keywordflow">if</span> (PreviousLine && PreviousLine->First->isAccessSpecifier())</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>       Newlines = std::min(1u, Newlines);</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span> </div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>     Whitespaces->replaceWhitespace(</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>         RootToken, Newlines, IndentLevel, Indent, Indent,</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>         InPPDirective && !RootToken.HasUnescapedNewline);</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>   }</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span> <span class="comment"></span></div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span> <span class="comment">  /// \brief Get the indent of \p Level from \p IndentForLevel.</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span> <span class="comment">  /// \p IndentForLevel must contain the indent for the level \c l</span></div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span> <span class="comment">  /// at \p IndentForLevel[l], or a value < 0 if the indent for</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span> <span class="comment">  /// that level is unknown.</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> getIndent(<span class="keyword">const</span> std::vector<int> IndentForLevel, <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>) {</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>     <span class="keywordflow">if</span> (IndentForLevel[Level] != -1)</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>       <span class="keywordflow">return</span> IndentForLevel[<a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>];</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>     <span class="keywordflow">if</span> (Level == 0)</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>     <span class="keywordflow">return</span> getIndent(IndentForLevel, Level - 1) + Style.IndentWidth;</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>   }</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span> </div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>   <span class="keywordtype">void</span> join(AnnotatedLine &A, <span class="keyword">const</span> AnnotatedLine &B) {</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>     assert(!A.Last->Next);</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>     assert(!B.First->Previous);</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>     A.Last->Next = B.First;</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>     B.First->Previous = A.Last;</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>     B.First->CanBreakBefore = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>     <span class="keywordtype">unsigned</span> LengthA = A.Last->TotalLength + B.First->SpacesRequiredBefore;</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>     <span class="keywordflow">for</span> (FormatToken *Tok = B.First; Tok; Tok = Tok->Next) {</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>       Tok->TotalLength += LengthA;</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>       A.Last = Tok;</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>     }</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>   }</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span> </div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>   <span class="keywordtype">unsigned</span> getColumnLimit(<span class="keywordtype">bool</span> InPPDirective)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>     <span class="comment">// In preprocessor directives reserve two chars for trailing " \"</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>     <span class="keywordflow">return</span> Style.ColumnLimit - (InPPDirective ? 2 : 0);</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>   }</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span> </div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>   <span class="keywordtype">bool</span> touchesRanges(<span class="keyword">const</span> CharSourceRange &Range) {</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>     <span class="keywordflow">for</span> (SmallVectorImpl<CharSourceRange>::const_iterator I = Ranges.begin(),</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>                                                           E = Ranges.end();</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>          I != E; ++I) {</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>       <span class="keywordflow">if</span> (!SourceMgr.isBeforeInTranslationUnit(Range.getEnd(), I->getBegin()) &&</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>           !SourceMgr.isBeforeInTranslationUnit(I->getEnd(), Range.getBegin()))</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>     }</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>   }</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span> </div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>   <span class="keywordtype">bool</span> touchesLine(<span class="keyword">const</span> AnnotatedLine &TheLine) {</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>     <span class="keyword">const</span> FormatToken *First = TheLine.First;</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>     <span class="keyword">const</span> FormatToken *<a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960a266d73bc4ca20907a5df65ca32193720">Last</a> = TheLine.Last;</div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>     CharSourceRange LineRange = <a class="code" href="classclang_1_1CharSourceRange.html#a3a85bd6fe56a23b41680fb7893ce8e2e">CharSourceRange::getCharRange</a>(</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>         First->WhitespaceRange.getBegin().getLocWithOffset(</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>             First->LastNewlineOffset),</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>         Last->getStartOfNonWhitespace().getLocWithOffset(</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>             Last->TokenText.size() - 1));</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>     <span class="keywordflow">return</span> touchesRanges(LineRange);</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>   }</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span> </div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>   <span class="keywordtype">bool</span> touchesPPDirective(SmallVectorImpl<AnnotatedLine *>::const_iterator I,</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>                           SmallVectorImpl<AnnotatedLine *>::const_iterator E) {</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>     <span class="keywordflow">for</span> (; I != E; ++I) {</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>       <span class="keywordflow">if</span> ((*I)->First->HasUnescapedNewline)</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>       <span class="keywordflow">if</span> (touchesLine(**I))</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>     }</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>   }</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span> </div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>   <span class="keywordtype">bool</span> touchesEmptyLineBefore(<span class="keyword">const</span> AnnotatedLine &TheLine) {</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>     <span class="keyword">const</span> FormatToken *First = TheLine.First;</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>     CharSourceRange LineRange = <a class="code" href="classclang_1_1CharSourceRange.html#a3a85bd6fe56a23b41680fb7893ce8e2e">CharSourceRange::getCharRange</a>(</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>         First->WhitespaceRange.getBegin(),</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>         First->WhitespaceRange.getBegin().getLocWithOffset(</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>             First->LastNewlineOffset));</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>     <span class="keywordflow">return</span> touchesRanges(LineRange);</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>   }</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span> <span class="comment"></span></div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span> <span class="comment">  /// \brief Analyze the entire solution space starting from \p InitialState.</span></div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span> <span class="comment">  /// This implements a variant of Dijkstra's algorithm on the graph that spans</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span> <span class="comment">  /// the solution space (\c LineStates are the nodes). The algorithm tries to</span></div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span> <span class="comment">  /// find the shortest path (the one with lowest penalty) from \p InitialState</span></div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span> <span class="comment">  /// to a state where all tokens are placed. Returns the penalty.</span></div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span> <span class="comment">  /// If \p DryRun is \c false, directly applies the changes.</span></div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> analyzeSolutionSpace(LineState &InitialState, <span class="keywordtype">bool</span> DryRun = <span class="keyword">false</span>) {</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>     std::set<LineState> Seen;</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span> </div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>     <span class="comment">// Increasing count of \c StateNode items we have created. This is used to</span></div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>     <span class="comment">// create a deterministic order independent of the container.</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>     <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960ad0386506936fec96a18d01e42d4eb514">Count</a> = 0;</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>     QueueType Queue;</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span> </div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>     <span class="comment">// Insert start element into queue.</span></div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>     StateNode *<a class="code" href="ASTMatchFinder_8cpp.html#a1dfddff6f4d91f415ffe4b9a6da5f489">Node</a> =</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>         <span class="keyword">new</span> (<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.Allocate()) StateNode(InitialState, <span class="keyword">false</span>, <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>);</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>     Queue.push(QueueItem(OrderedPenalty(0, Count), Node));</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>     ++<a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960ad0386506936fec96a18d01e42d4eb514">Count</a>;</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span> </div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>     <span class="keywordtype">unsigned</span> Penalty = 0;</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span> </div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>     <span class="comment">// While not empty, take first element and follow edges.</span></div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>     <span class="keywordflow">while</span> (!Queue.empty()) {</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>       Penalty = Queue.top().first.first;</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>       StateNode *Node = Queue.top().second;</div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>       <span class="keywordflow">if</span> (Node->State.NextToken == <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>) {</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>         DEBUG(llvm::dbgs() << <span class="stringliteral">"\n---\nPenalty for line: "</span> << Penalty << <span class="stringliteral">"\n"</span>);</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>       }</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>       Queue.pop();</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span> </div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>       <span class="comment">// Cut off the analysis of certain solutions if the analysis gets too</span></div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>       <span class="comment">// complex. See description of IgnoreStackForComparison.</span></div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>       <span class="keywordflow">if</span> (Count > 10000)</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>         Node->State.IgnoreStackForComparison = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span> </div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>       <span class="keywordflow">if</span> (!Seen.insert(Node->State).second)</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>         <span class="comment">// State already examined with lower penalty.</span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span> </div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>       <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929">FormatDecision</a> LastFormat = Node->State.NextToken->Decision;</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>       <span class="keywordflow">if</span> (LastFormat == <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a8da12d86e1be42ee8d8d458d1f5dfc25">FD_Unformatted</a> || LastFormat == <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a98df366120a9a0c1f0eaec09b1555cff">FD_Continue</a>)</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>         addNextStateToQueue(Penalty, Node, <span class="comment">/*NewLine=*/</span><span class="keyword">false</span>, &Count, &Queue);</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>       <span class="keywordflow">if</span> (LastFormat == <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a8da12d86e1be42ee8d8d458d1f5dfc25">FD_Unformatted</a> || LastFormat == <a class="code" href="namespaceclang_1_1format.html#a3409598f12699626b6997dfdd18c6929a77ad2a14db7203e0c45a0e9aacf50745">FD_Break</a>)</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>         addNextStateToQueue(Penalty, Node, <span class="comment">/*NewLine=*/</span><span class="keyword">true</span>, &Count, &Queue);</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>     }</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span> </div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>     <span class="keywordflow">if</span> (Queue.empty()) {</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>       <span class="comment">// We were unable to find a solution, do nothing.</span></div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>       <span class="comment">// FIXME: Add diagnostic?</span></div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>       DEBUG(llvm::dbgs() << <span class="stringliteral">"Could not find a solution.\n"</span>);</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>     }</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span> </div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>     <span class="comment">// Reconstruct the solution.</span></div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>     <span class="keywordflow">if</span> (!DryRun)</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>       reconstructPath(InitialState, Queue.top().second);</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span> </div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>     DEBUG(llvm::dbgs() << <span class="stringliteral">"Total number of analyzed states: "</span> << Count << <span class="stringliteral">"\n"</span>);</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>     DEBUG(llvm::dbgs() << <span class="stringliteral">"---\n"</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">  877</span>     <span class="keywordflow">return</span> Penalty;</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>   }</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span> </div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>   <span class="keywordtype">void</span> reconstructPath(LineState &State, StateNode *<a class="code" href="TokenAnnotator_8cpp.html#af9dd7352b5e730aa8ddb81784035c434">Current</a>) {</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>     std::deque<StateNode *> Path;</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>     <span class="comment">// We do not need a break before the initial token.</span></div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>     <span class="keywordflow">while</span> (Current->Previous) {</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>       Path.push_front(Current);</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>       Current = Current->Previous;</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>     }</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>     <span class="keywordflow">for</span> (std::deque<StateNode *>::iterator I = Path.begin(), E = Path.end();</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>          I != E; ++I) {</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>       <span class="keywordtype">unsigned</span> Penalty = 0;</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>       formatChildren(State, (*I)->NewLine, <span class="comment">/*DryRun=*/</span><span class="keyword">false</span>, Penalty);</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>       Penalty += Indenter->addTokenToState(State, (*I)->NewLine, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span> </div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>       DEBUG({</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>         <span class="keywordflow">if</span> ((*I)->NewLine) {</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>           llvm::dbgs() << <span class="stringliteral">"Penalty for placing "</span></div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>                        << (*I)->Previous->State.NextToken->Tok.getName() << <span class="stringliteral">": "</span></div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>                        << Penalty << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>         }</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>   }</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span> <span class="comment"></span></div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span> <span class="comment">  /// \brief Add the following state to the analysis queue \c Queue.</span></div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span> <span class="comment">  /// Assume the current state is \p PreviousNode and has been reached with a</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span> <span class="comment">  /// penalty of \p Penalty. Insert a line break if \p NewLine is \c true.</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span> <span class="comment"></span>  <span class="keywordtype">void</span> addNextStateToQueue(<span class="keywordtype">unsigned</span> Penalty, StateNode *PreviousNode,</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>                            <span class="keywordtype">bool</span> <a class="code" href="Format_8cpp.html#a5034b09b7876fa69430159948e9a403e">NewLine</a>, <span class="keywordtype">unsigned</span> *Count, QueueType *Queue) {</div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>     <span class="keywordflow">if</span> (NewLine && !Indenter->canBreak(PreviousNode->State))</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>     <span class="keywordflow">if</span> (!NewLine && Indenter->mustBreak(PreviousNode->State))</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span> </div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>     StateNode *Node = <span class="keyword">new</span> (<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.Allocate())</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>         StateNode(PreviousNode->State, NewLine, PreviousNode);</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>     <span class="keywordflow">if</span> (!formatChildren(Node->State, NewLine, <span class="comment">/*DryRun=*/</span><span class="keyword">true</span>, Penalty))</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span> </div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>     Penalty += Indenter->addTokenToState(Node->State, NewLine, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span> </div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>     Queue->push(QueueItem(OrderedPenalty(Penalty, *Count), Node));</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>     ++(*Count);</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>   }</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span> <span class="comment"></span></div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span> <span class="comment">  /// \brief If the \p State's next token is an r_brace closing a nested block,</span></div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span> <span class="comment">  /// format the nested block before it.</span></div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span> <span class="comment">  /// Returns \c true if all children could be placed successfully and adapts</span></div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span> <span class="comment">  /// \p Penalty as well as \p State. If \p DryRun is false, also directly</span></div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span> <span class="comment">  /// creates changes using \c Whitespaces.</span></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">  /// The crucial idea here is that children always get formatted upon</span></div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span> <span class="comment">  /// encountering the closing brace right after the nested block. Now, if we</span></div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span> <span class="comment">  /// are currently trying to keep the "}" on the same line (i.e. \p NewLine is</span></div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span> <span class="comment">  /// \c false), the entire block has to be kept on the same line (which is only</span></div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span> <span class="comment">  /// possible if it fits on the line, only contains a single statement, etc.</span></div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span> <span class="comment">  /// If \p NewLine is true, we format the nested block on separate lines, i.e.</span></div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span> <span class="comment">  /// break after the "{", format all lines with correct indentation and the put</span></div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span> <span class="comment">  /// the closing "}" on yet another new line.</span></div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span> <span class="comment">  /// This enables us to keep the simple structure of the</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span> <span class="comment">  /// \c UnwrappedLineFormatter, where we only have two options for each token:</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span> <span class="comment">  /// break or don't break.</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span> <span class="comment"></span>  <span class="keywordtype">bool</span> formatChildren(LineState &State, <span class="keywordtype">bool</span> NewLine, <span class="keywordtype">bool</span> DryRun,</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>                       <span class="keywordtype">unsigned</span> &Penalty) {</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>     FormatToken &<a class="code" href="Format_8cpp.html#a367365df5b490f2ddb411318d9d421a9">Previous</a> = *State.NextToken->Previous;</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>     <span class="keyword">const</span> FormatToken *LBrace = State.NextToken->getPreviousNonComment();</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>     <span class="keywordflow">if</span> (!LBrace || LBrace->isNot(tok::l_brace) ||</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>         LBrace->BlockKind != <a class="code" href="namespaceclang_1_1format.html#af3efd684dd7c9ad4cd48fd4d28ecaaeaac0cd3adbed48a71039a2855df3fe8036">BK_Block</a> || Previous.Children.size() == 0)</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>       <span class="comment">// The previous token does not open a block. Nothing to do. We don't</span></div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>       <span class="comment">// assert so that we can simply call this function for all tokens.</span></div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span> </div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>     <span class="keywordflow">if</span> (NewLine) {</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>       <span class="keywordtype">int</span> AdditionalIndent = State.Stack.back().Indent -</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>                              Previous.Children[0]->Level * Style.IndentWidth;</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>       Penalty += format(Previous.Children, DryRun, AdditionalIndent);</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>     }</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span> </div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>     <span class="comment">// Cannot merge multiple statements into a single line.</span></div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>     <span class="keywordflow">if</span> (Previous.Children.size() > 1)</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>; </div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span> </div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>     <span class="comment">// We can't put the closing "}" on a line with a trailing comment.</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>     <span class="keywordflow">if</span> (Previous.Children[0]->Last->isTrailingComment())</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span> </div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>     <span class="keywordflow">if</span> (!DryRun) {</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>       Whitespaces->replaceWhitespace(</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>           *Previous.Children[0]->First,</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>           <span class="comment">/*Newlines=*/</span>0, <span class="comment">/*IndentLevel=*/</span>0, <span class="comment">/*Spaces=*/</span>1,</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>           <span class="comment">/*StartOfTokenColumn=*/</span>State.Column, State.Line->InPPDirective);</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>     Penalty += format(*Previous.Children[0], State.Column + 1, DryRun);</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span> </div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>     State.Column += 1 + Previous.Children[0]->Last->TotalLength;</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>   }</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span> </div>
+<div class="line"><a name="l00982"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">  982</a></span>   SourceManager &<a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>;</div>
+<div class="line"><a name="l00983"></a><span class="lineno"><a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">  983</a></span>   SmallVectorImpl<CharSourceRange> &<a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">Ranges</a>;</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>   ContinuationIndenter *<a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>;</div>
+<div class="line"><a name="l00985"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">  985</a></span>   WhitespaceManager *<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>;</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>   FormatStyle <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l00987"></a><span class="lineno"><a class="code" href="Format_8cpp.html#ac6a417f7cd3ba7dc7f3ef8a1d2da2db2">  987</a></span>   LineJoiner <a class="code" href="Format_8cpp.html#ac6a417f7cd3ba7dc7f3ef8a1d2da2db2">Joiner</a>;</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="Format_8cpp.html#a0805f884ee63233d49322f71926371de">  989</a></span>   llvm::SpecificBumpPtrAllocator<StateNode> <a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>;</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span> };</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span> </div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span> <span class="keyword">class </span>FormatTokenLexer {</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>   FormatTokenLexer(Lexer &<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>, SourceManager &SourceMgr, FormatStyle &Style,</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>                    <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>)</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>       : <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>(<a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>), <a class="code" href="Format_8cpp.html#afcbfddf07de5f65688af72b0f5c18ac5">IsFirstToken</a>(<span class="keyword">true</span>), <a class="code" href="Format_8cpp.html#a6a5036c224036dd1b27066c4bf95c904">GreaterStashed</a>(<span class="keyword">false</span>), <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>(0),</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>         <a class="code" href="Format_8cpp.html#a0b75bdf1db7a8d01650ebd3befd88a4b">TrailingWhitespace</a>(0), <a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>(Lex), <a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>(SourceMgr), <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>(Style),</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>         <a class="code" href="Format_8cpp.html#a7b796f55e85dd9dd5d7ad8e46de7b27e">IdentTable</a>(<a class="code" href="namespaceclang_1_1format.html#aac0c69a3b39926d8f6f26be7ad9782d5" title="Returns the LangOpts that the formatter expects you to set.">getFormattingLangOpts</a>()), <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>(Encoding) {</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>     Lex.SetKeepWhitespaceMode(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>   }</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>   ArrayRef<FormatToken *> lex() {</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>     assert(<a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.empty());</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>     <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>       <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.push_back(getNextToken());</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>       maybeJoinPreviousTokens();</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>     } <span class="keywordflow">while</span> (<a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.back()->Tok.isNot(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aac4904dc9309fe9cf0fe76ff45d54f265">tok::eof</a>));</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>     <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>;</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>   }</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>   IdentifierTable &getIdentTable() { <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#a7b796f55e85dd9dd5d7ad8e46de7b27e">IdentTable</a>; }</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> </div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>   <span class="keywordtype">void</span> maybeJoinPreviousTokens() {</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>     <span class="keywordflow">if</span> (<a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.size() < 4)</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>     FormatToken *Last = <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.back();</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>     <span class="keywordflow">if</span> (!Last->is(tok::r_paren))</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>     FormatToken *String = <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>[<a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.size() - 2];</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>     <span class="keywordflow">if</span> (!String->is(tok::string_literal) || String->IsMultiline)</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>     <span class="keywordflow">if</span> (!<a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>[<a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.size() - 3]->is(tok::l_paren))</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> </div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>     FormatToken *Macro = <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>[<a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.size() - 4];</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>     <span class="keywordflow">if</span> (Macro->TokenText != <span class="stringliteral">"_T"</span>)</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> </div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> *Start = Macro->TokenText.data();</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> *End = Last->TokenText.data() + Last->TokenText.size();</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>     String->TokenText = StringRef(Start, End - Start);</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>     String->IsFirst = Macro->IsFirst;</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>     String->LastNewlineOffset = Macro->LastNewlineOffset;</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>     String->WhitespaceRange = Macro->WhitespaceRange;</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>     String->OriginalColumn = Macro->OriginalColumn;</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>     String->ColumnWidth = <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>         String->TokenText, String->OriginalColumn, Style.TabWidth, Encoding);</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> </div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>     <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.pop_back();</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>     <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.pop_back();</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>     <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.pop_back();</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>     <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.back() = String;</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>   }</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> </div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>   FormatToken *getNextToken() {</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>     <span class="keywordflow">if</span> (<a class="code" href="Format_8cpp.html#a6a5036c224036dd1b27066c4bf95c904">GreaterStashed</a>) {</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>       <span class="comment">// Create a synthesized second '>' token.</span></div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>       <span class="comment">// FIXME: Increment Column and set OriginalColumn.</span></div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>       <a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a> Greater = <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok;</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a> = <span class="keyword">new</span> (<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.Allocate()) FormatToken;</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok = Greater;</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>       SourceLocation GreaterLocation =</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>           <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.getLocation().getLocWithOffset(1);</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->WhitespaceRange =</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>           SourceRange(GreaterLocation, GreaterLocation);</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText = <span class="stringliteral">">"</span>;</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->ColumnWidth = 1;</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>       <a class="code" href="Format_8cpp.html#a6a5036c224036dd1b27066c4bf95c904">GreaterStashed</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>       <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>;</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>     }</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> </div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>     <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a> = <span class="keyword">new</span> (<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.Allocate()) FormatToken;</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>     readRawToken(*<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>);</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>     SourceLocation WhitespaceStart =</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>         <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.getLocation().getLocWithOffset(-<a class="code" href="Format_8cpp.html#a0b75bdf1db7a8d01650ebd3befd88a4b">TrailingWhitespace</a>);</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>     <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->IsFirst = <a class="code" href="Format_8cpp.html#afcbfddf07de5f65688af72b0f5c18ac5">IsFirstToken</a>;</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>     <a class="code" href="Format_8cpp.html#afcbfddf07de5f65688af72b0f5c18ac5">IsFirstToken</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> </div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>     <span class="comment">// Consume and record whitespace until we find a significant token.</span></div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>     <span class="keywordtype">unsigned</span> WhitespaceLength = <a class="code" href="Format_8cpp.html#a0b75bdf1db7a8d01650ebd3befd88a4b">TrailingWhitespace</a>;</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>     <span class="keywordflow">while</span> (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.is(tok::unknown)) {</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>       <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0, e = <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText.size(); i != e; ++i) {</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>         <span class="keywordflow">switch</span> (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText[i]) {</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>         <span class="keywordflow">case</span> <span class="charliteral">'\n'</span>:</div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>           ++<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->NewlinesBefore;</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>           <span class="comment">// FIXME: This is technically incorrect, as it could also</span></div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>           <span class="comment">// be a literal backslash at the end of the line.</span></div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>           <span class="keywordflow">if</span> (i == 0 || (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText[i - 1] != <span class="charliteral">'\\'</span> &&</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>                          (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText[i - 1] != <span class="charliteral">'\r'</span> || i == 1 ||</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>                           <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText[i - 2] != <span class="charliteral">'\\'</span>)))</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>             <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->HasUnescapedNewline = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>           <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->LastNewlineOffset = WhitespaceLength + i + 1;</div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>           <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a> = 0;</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>         <span class="keywordflow">case</span> <span class="charliteral">'\r'</span>:</div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>         <span class="keywordflow">case</span> <span class="charliteral">'\f'</span>:</div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>         <span class="keywordflow">case</span> <span class="charliteral">'\v'</span>:</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>           <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a> = 0;</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>         <span class="keywordflow">case</span> <span class="charliteral">' '</span>:</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>           ++<a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>;</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>         <span class="keywordflow">case</span> <span class="charliteral">'\t'</span>:</div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>           <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a> += Style.TabWidth - <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a> % Style.TabWidth;</div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>         <span class="keywordflow">case</span> <span class="charliteral">'\\'</span>:</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>           ++<a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>;</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>           <a class="code" href="mm__malloc_8h.html#a682140772a1d7d2744289e6abb2ad2ff">if</a> (i + 1 == e || (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText[i + 1] != <span class="charliteral">'\r'</span> &&</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>                              <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText[i + 1] != <span class="charliteral">'\n'</span>))</div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>             <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Type = <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ab8c273d0514d57f2acdd371ff781e28a">TT_ImplicitStringLiteral</a>;</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>           <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Type = <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ab8c273d0514d57f2acdd371ff781e28a">TT_ImplicitStringLiteral</a>;</div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>           ++<a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>;</div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>         }</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>       }</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> </div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>       <span class="keywordflow">if</span> (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ab8c273d0514d57f2acdd371ff781e28a">TT_ImplicitStringLiteral</a>)</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>       WhitespaceLength += <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.getLength();</div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>       readRawToken(*<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>);</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>     }</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="comment">// In case the token starts with escaped newlines, we want to</span></div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>     <span class="comment">// take them into account as whitespace - this pattern is quite frequent</span></div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>     <span class="comment">// in macro definitions.</span></div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>     <span class="comment">// FIXME: Add a more explicit test.</span></div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>     <span class="keywordflow">while</span> (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText.size() > 1 && <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText[0] == <span class="charliteral">'\\'</span> &&</div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>            <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText[1] == <span class="charliteral">'\n'</span>) {</div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>       <span class="comment">// FIXME: ++FormatTok->NewlinesBefore is missing...</span></div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>       WhitespaceLength += 2;</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>       <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a> = 0;</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText = <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText.substr(2);</div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>     }</div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> </div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>     <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->WhitespaceRange = SourceRange(</div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>         WhitespaceStart, WhitespaceStart.getLocWithOffset(WhitespaceLength));</div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> </div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>     <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->OriginalColumn = <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>;</div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> </div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>     <a class="code" href="Format_8cpp.html#a0b75bdf1db7a8d01650ebd3befd88a4b">TrailingWhitespace</a> = 0;</div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>     <span class="keywordflow">if</span> (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.is(tok::comment)) {</div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>       <span class="comment">// FIXME: Add the trimmed whitespace to Column.</span></div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>       StringRef UntrimmedText = <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText;</div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText = <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText.rtrim(<span class="stringliteral">" \t\v\f"</span>);</div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>       <a class="code" href="Format_8cpp.html#a0b75bdf1db7a8d01650ebd3befd88a4b">TrailingWhitespace</a> = UntrimmedText.size() - <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText.size();</div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.is(tok::raw_identifier)) {</div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>       IdentifierInfo &Info = <a class="code" href="Format_8cpp.html#a7b796f55e85dd9dd5d7ad8e46de7b27e">IdentTable</a>.get(<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText);</div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.setIdentifierInfo(&Info);</div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.setKind(Info.getTokenID());</div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.is(tok::greatergreater)) {</div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->Tok.setKind(tok::greater);</div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText = <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText.substr(0, 1);</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>       <a class="code" href="Format_8cpp.html#a6a5036c224036dd1b27066c4bf95c904">GreaterStashed</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>     }</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> </div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>     <span class="comment">// Now FormatTok is the next non-whitespace token.</span></div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> </div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>     StringRef Text = <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->TokenText;</div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>     <span class="keywordtype">size_t</span> FirstNewlinePos = Text.find(<span class="charliteral">'\n'</span>);</div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>     <span class="keywordflow">if</span> (FirstNewlinePos == StringRef::npos) {</div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>       <span class="comment">// FIXME: ColumnWidth actually depends on the start column, we need to</span></div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>       <span class="comment">// take this into account when the token is moved.</span></div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->ColumnWidth =</div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>           <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(Text, <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>, Style.TabWidth, Encoding);</div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>       <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a> += <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->ColumnWidth;</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->IsMultiline = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>       <span class="comment">// FIXME: ColumnWidth actually depends on the start column, we need to</span></div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>       <span class="comment">// take this into account when the token is moved.</span></div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->ColumnWidth = <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(</div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>           Text.substr(0, FirstNewlinePos), <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>, Style.TabWidth, <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>);</div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> </div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>       <span class="comment">// The last line of the token always starts in column 0.</span></div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>       <span class="comment">// Thus, the length can be precomputed even in the presence of tabs.</span></div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>       <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->LastLineColumnWidth = <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(</div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>           Text.substr(Text.find_last_of(<span class="charliteral">'\n'</span>) + 1), 0, Style.TabWidth,</div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>           Encoding);</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>       <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a> = <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>->LastLineColumnWidth;</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> </div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>     <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>;</div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>   }</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div>
+<div class="line"><a name="l01180"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955"> 1180</a></span>   FormatToken *<a class="code" href="Format_8cpp.html#a112136bbe3c63913e47aaff670ef3955">FormatTok</a>;</div>
+<div class="line"><a name="l01181"></a><span class="lineno"><a class="code" href="Format_8cpp.html#afcbfddf07de5f65688af72b0f5c18ac5"> 1181</a></span>   <span class="keywordtype">bool</span> <a class="code" href="Format_8cpp.html#afcbfddf07de5f65688af72b0f5c18ac5">IsFirstToken</a>;</div>
+<div class="line"><a name="l01182"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a6a5036c224036dd1b27066c4bf95c904"> 1182</a></span>   <span class="keywordtype">bool</span> <a class="code" href="Format_8cpp.html#a6a5036c224036dd1b27066c4bf95c904">GreaterStashed</a>;</div>
+<div class="line"><a name="l01183"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae"> 1183</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="Format_8cpp.html#a1eea5be0eff1070e17b69bc5b9f281ae">Column</a>;</div>
+<div class="line"><a name="l01184"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a0b75bdf1db7a8d01650ebd3befd88a4b"> 1184</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="Format_8cpp.html#a0b75bdf1db7a8d01650ebd3befd88a4b">TrailingWhitespace</a>;</div>
+<div class="line"><a name="l01185"></a><span class="lineno"><a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4"> 1185</a></span>   Lexer &<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>;</div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>   SourceManager &<a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>;</div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>   FormatStyle &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l01188"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a7b796f55e85dd9dd5d7ad8e46de7b27e"> 1188</a></span>   IdentifierTable <a class="code" href="Format_8cpp.html#a7b796f55e85dd9dd5d7ad8e46de7b27e">IdentTable</a>;</div>
+<div class="line"><a name="l01189"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc"> 1189</a></span>   <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>;</div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>   llvm::SpecificBumpPtrAllocator<FormatToken> <a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>;</div>
+<div class="line"><a name="l01191"></a><span class="lineno"><a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b"> 1191</a></span>   SmallVector<FormatToken *, 16> <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>;</div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> </div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>   <span class="keywordtype">void</span> readRawToken(FormatToken &Tok) {</div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>     Lex.LexFromRawLexer(Tok.Tok);</div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>     Tok.TokenText = StringRef(SourceMgr.getCharacterData(Tok.Tok.getLocation()),</div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>                               Tok.Tok.getLength());</div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>     <span class="comment">// For formatting, treat unterminated string literals like normal string</span></div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>     <span class="comment">// literals.</span></div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>     <span class="keywordflow">if</span> (Tok.is(tok::unknown) && !Tok.TokenText.empty() &&</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>         Tok.TokenText[0] == <span class="charliteral">'"'</span>) {</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>       Tok.Tok.setKind(tok::string_literal);</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>       Tok.IsUnterminatedLiteral = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>     }</div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>   }</div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> };</div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> </div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> <span class="keyword">class </span>Formatter : <span class="keyword">public</span> UnwrappedLineConsumer {</div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>   Formatter(<span class="keyword">const</span> FormatStyle &Style, Lexer &Lex, SourceManager &SourceMgr,</div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>             <span class="keyword">const</span> std::vector<CharSourceRange> &Ranges)</div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>       : Style(Style), Lex(Lex), SourceMgr(SourceMgr),</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>         Whitespaces(SourceMgr, Style, inputUsesCRLF(Lex.getBuffer())),</div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>         Ranges(Ranges.begin(), Ranges.end()), <a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b">UnwrappedLines</a>(1),</div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>         Encoding(encoding::<a class="code" href="namespaceclang_1_1format_1_1encoding.html#a6a54e2a8bfd33996c31ddba8dec61ee8" title="Detects encoding of the Text. If the Text can be decoded using UTF-8, it is considered UTF8...">detectEncoding</a>(Lex.getBuffer())) {</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>     DEBUG(llvm::dbgs() << <span class="stringliteral">"File encoding: "</span></div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>                        << (Encoding == <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492a11ea08e5428f123718ee4130466e9752">encoding::Encoding_UTF8</a> ? <span class="stringliteral">"UTF8"</span></div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>                                                                : <span class="stringliteral">"unknown"</span>)</div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>                        << <span class="stringliteral">"\n"</span>);</div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>   }</div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> </div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>   <a class="code" href="namespaceclang_1_1tooling.html#af27322ade483787f0d5aab4ac6f919a0" title="A set of Replacements. FIXME: Change to a vector and deduplicate in the RefactoringTool.">tooling::Replacements</a> format() {</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>     <a class="code" href="namespaceclang_1_1tooling.html#af27322ade483787f0d5aab4ac6f919a0" title="A set of Replacements. FIXME: Change to a vector and deduplicate in the RefactoringTool.">tooling::Replacements</a> Result;</div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>     FormatTokenLexer <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>(Lex, SourceMgr, Style, Encoding);</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> </div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>     UnwrappedLineParser Parser(Style, <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>.lex(), *<span class="keyword">this</span>);</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>     <span class="keywordtype">bool</span> <a class="code" href="UnwrappedLineParser_8cpp.html#a8c5e18b2331f62e7b675933d1eeb7f49">StructuralError</a> = Parser.parse();</div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>     assert(<a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b">UnwrappedLines</a>.rbegin()->empty());</div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> Run = 0, RunE = <a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b">UnwrappedLines</a>.size(); Run + 1 != RunE;</div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>          ++Run) {</div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>       DEBUG(llvm::dbgs() << <span class="stringliteral">"Run "</span> << Run << <span class="stringliteral">"...\n"</span>);</div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>       SmallVector<AnnotatedLine *, 16> AnnotatedLines;</div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>       <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = <a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b">UnwrappedLines</a>[Run].size(); i != e; ++i) {</div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>         AnnotatedLines.push_back(<span class="keyword">new</span> AnnotatedLine(<a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b">UnwrappedLines</a>[Run][i]));</div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>       }</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>       <a class="code" href="namespaceclang_1_1tooling.html#af27322ade483787f0d5aab4ac6f919a0" title="A set of Replacements. FIXME: Change to a vector and deduplicate in the RefactoringTool.">tooling::Replacements</a> RunResult =</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>           format(AnnotatedLines, StructuralError, <a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>);</div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>       DEBUG({</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>         llvm::dbgs() << <span class="stringliteral">"Replacements for run "</span> << Run << <span class="stringliteral">":\n"</span>;</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>         <span class="keywordflow">for</span> (tooling::Replacements::iterator I = RunResult.begin(),</div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>                                              E = RunResult.end();</div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>              I != E; ++I) {</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>           llvm::dbgs() << I->toString() << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>         }</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>       <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = AnnotatedLines.size(); i != e; ++i) {</div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>         <span class="keyword">delete</span> AnnotatedLines[i];</div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>       }</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>       Result.insert(RunResult.begin(), RunResult.end());</div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>       Whitespaces.reset();</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>     }</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>     <span class="keywordflow">return</span> Result;</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> </div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>   <a class="code" href="namespaceclang_1_1tooling.html#af27322ade483787f0d5aab4ac6f919a0" title="A set of Replacements. FIXME: Change to a vector and deduplicate in the RefactoringTool.">tooling::Replacements</a> format(SmallVectorImpl<AnnotatedLine *> &AnnotatedLines,</div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>                                <span class="keywordtype">bool</span> StructuralError, FormatTokenLexer &<a class="code" href="Format_8cpp.html#ad41a4805c2afafefced9cd28d505075b">Tokens</a>) {</div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>     TokenAnnotator Annotator(Style, Tokens.getIdentTable().get(<span class="stringliteral">"in"</span>));</div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = AnnotatedLines.size(); i != e; ++i) {</div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>       Annotator.annotate(*AnnotatedLines[i]);</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>     }</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>     deriveLocalStyle(AnnotatedLines);</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = AnnotatedLines.size(); i != e; ++i) {</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>       Annotator.calculateFormattingInformation(*AnnotatedLines[i]);</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>     }</div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> </div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>     Annotator.setCommentLineLevels(AnnotatedLines);</div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>     ContinuationIndenter <a class="code" href="Format_8cpp.html#a397c3fbc45eefcefc8736ca29eb8d0ea">Indenter</a>(Style, SourceMgr, Whitespaces, Encoding,</div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>                                   <a class="code" href="Format_8cpp.html#a4f621b335b2e6e7e36ea90b5b132e853">BinPackInconclusiveFunctions</a>);</div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>     UnwrappedLineFormatter Formatter(SourceMgr, Ranges, &Indenter, &Whitespaces,</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>                                      Style);</div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>     Formatter.format(AnnotatedLines, <span class="comment">/*DryRun=*/</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>     <span class="keywordflow">return</span> Whitespaces.generateReplacements();</div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>   }</div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> inputUsesCRLF(StringRef Text) {</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>     <span class="keywordflow">return</span> Text.count(<span class="charliteral">'\r'</span>) * 2 > Text.count(<span class="charliteral">'\n'</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> </div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>   <span class="keywordtype">void</span></div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>   deriveLocalStyle(<span class="keyword">const</span> SmallVectorImpl<AnnotatedLine *> &AnnotatedLines) {</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>     <span class="keywordtype">unsigned</span> CountBoundToVariable = 0;</div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>     <span class="keywordtype">unsigned</span> CountBoundToType = 0;</div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>     <span class="keywordtype">bool</span> HasCpp03IncompatibleFormat = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>     <span class="keywordtype">bool</span> HasBinPackedFunction = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>     <span class="keywordtype">bool</span> HasOnePerLineFunction = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = AnnotatedLines.size(); i != e; ++i) {</div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>       <span class="keywordflow">if</span> (!AnnotatedLines[i]->First->Next)</div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>       FormatToken *Tok = AnnotatedLines[i]->First->Next;</div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>       <span class="keywordflow">while</span> (Tok->Next) {</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>         <span class="keywordflow">if</span> (Tok->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a94f4375f7d99c163d0df602dd4c39e4f">TT_PointerOrReference</a>) {</div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>           <span class="keywordtype">bool</span> SpacesBefore =</div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>               Tok->WhitespaceRange.getBegin() != Tok->WhitespaceRange.getEnd();</div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>           <span class="keywordtype">bool</span> SpacesAfter = Tok->Next->WhitespaceRange.getBegin() !=</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>                              Tok->Next->WhitespaceRange.getEnd();</div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>           <span class="keywordflow">if</span> (SpacesBefore && !SpacesAfter)</div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>             ++CountBoundToVariable;</div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>           <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!SpacesBefore && SpacesAfter)</div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>             ++CountBoundToType;</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="keywordflow">if</span> (Tok->WhitespaceRange.getBegin() == Tok->WhitespaceRange.getEnd()) {</div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>           <span class="keywordflow">if</span> (Tok->is(tok::coloncolon) &&</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>               Tok->Previous->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430a34a613aee8d51353e36c166d3b674db6">TT_TemplateOpener</a>)</div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>             HasCpp03IncompatibleFormat = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>           <span class="keywordflow">if</span> (Tok->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ae0f5f7054e11f208cdde909bce37ab92">TT_TemplateCloser</a> &&</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>               Tok->Previous->Type == <a class="code" href="namespaceclang_1_1format.html#a41859d19e0a15b9356d655e8c11d8430ae0f5f7054e11f208cdde909bce37ab92">TT_TemplateCloser</a>)</div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>             HasCpp03IncompatibleFormat = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>         }</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> </div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>         <span class="keywordflow">if</span> (Tok->PackingKind == <a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6a3e1e85534f0f7b91f01b7574f4d4adf5">PPK_BinPacked</a>)</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>           HasBinPackedFunction = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>         <span class="keywordflow">if</span> (Tok->PackingKind == <a class="code" href="namespaceclang_1_1format.html#a452b34c08537cab02deca443e342bec6af698c50de2f16b48e6eec09e447ebf99">PPK_OnePerLine</a>)</div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>           HasOnePerLineFunction = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> </div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>         Tok = Tok->Next;</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>       }</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>     }</div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>     <span class="keywordflow">if</span> (Style.DerivePointerBinding) {</div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>       <span class="keywordflow">if</span> (CountBoundToType > CountBoundToVariable)</div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>         Style.PointerBindsToType = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>       <span class="keywordflow">else</span> <span class="keywordflow">if</span> (CountBoundToType < CountBoundToVariable)</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>         Style.PointerBindsToType = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>     }</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>     <span class="keywordflow">if</span> (Style.Standard == <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ad54fa310d0a1bb4f4893fab021db1eaf" title="Automatic detection based on the input.">FormatStyle::LS_Auto</a>) {</div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>       Style.Standard = HasCpp03IncompatibleFormat ? <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ac2adca34064745a7171f70ba7e600095">FormatStyle::LS_Cpp11</a></div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>                                                   : <a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39ad690e77384ec0503c47e9f4e238a58a5" title="Use C++03-compatible syntax.">FormatStyle::LS_Cpp03</a>;</div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>     }</div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>     <a class="code" href="Format_8cpp.html#a4f621b335b2e6e7e36ea90b5b132e853">BinPackInconclusiveFunctions</a> =</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>         HasBinPackedFunction || !HasOnePerLineFunction;</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> </div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> consumeUnwrappedLine(<span class="keyword">const</span> UnwrappedLine &TheLine) {</div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>     assert(!<a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b">UnwrappedLines</a>.empty());</div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>     <a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b">UnwrappedLines</a>.back().push_back(TheLine);</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>   }</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> </div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> finishRun() {</div>
+<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>     <a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b">UnwrappedLines</a>.push_back(SmallVector<UnwrappedLine, 16>());</div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>   }</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> </div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>   FormatStyle <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>   Lexer &<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>;</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>   SourceManager &<a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>;</div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>   WhitespaceManager <a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>;</div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>   SmallVector<CharSourceRange, 8> <a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">Ranges</a>;</div>
+<div class="line"><a name="l01347"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b"> 1347</a></span>   SmallVector<SmallVector<UnwrappedLine, 16>, 2> <a class="code" href="Format_8cpp.html#a2b6c0ac573ad055f52e6b4291ceea18b">UnwrappedLines</a>;</div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> </div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>   <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>;</div>
+<div class="line"><a name="l01350"></a><span class="lineno"><a class="code" href="Format_8cpp.html#a4f621b335b2e6e7e36ea90b5b132e853"> 1350</a></span>   <span class="keywordtype">bool</span> <a class="code" href="Format_8cpp.html#a4f621b335b2e6e7e36ea90b5b132e853">BinPackInconclusiveFunctions</a>;</div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> };</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> </div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> </div>
+<div class="line"><a name="l01355"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#af2841b605d57d9245e0f854fc26b46b9"> 1355</a></span> <a class="code" href="namespaceclang_1_1tooling.html#af27322ade483787f0d5aab4ac6f919a0" title="A set of Replacements. FIXME: Change to a vector and deduplicate in the RefactoringTool.">tooling::Replacements</a> <a class="code" href="namespaceclang_1_1format.html#af2841b605d57d9245e0f854fc26b46b9" title="Reformats the given Ranges in the token stream coming out of Lex.">reformat</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &Style, <a class="code" href="classclang_1_1Lexer.html">Lexer</a> &Lex,</div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>                                <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &SourceMgr,</div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>                                std::vector<CharSourceRange> Ranges) {</div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>   Formatter formatter(Style, Lex, SourceMgr, Ranges);</div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>   <span class="keywordflow">return</span> formatter.format();</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"><a class="code" href="namespaceclang_1_1format.html#a81bc33c81623da4ef602cb3a7ceb5107"> 1362</a></span> <a class="code" href="namespaceclang_1_1tooling.html#af27322ade483787f0d5aab4ac6f919a0" title="A set of Replacements. FIXME: Change to a vector and deduplicate in the RefactoringTool.">tooling::Replacements</a> <a class="code" href="namespaceclang_1_1format.html#af2841b605d57d9245e0f854fc26b46b9" title="Reformats the given Ranges in the token stream coming out of Lex.">reformat</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &Style, StringRef Code,</div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>                                std::vector<tooling::Range> Ranges,</div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>                                StringRef FileName) {</div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>   <a class="code" href="classclang_1_1FileManager.html" title="Implements support for file system lookup, file system caching, and directory search management...">FileManager</a> Files((<a class="code" href="classclang_1_1FileSystemOptions.html" title="Keeps track of options that affect how file operations are performed.">FileSystemOptions</a>()));</div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> Diagnostics(</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>       <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticIDs></a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1DiagnosticIDs.html" title="Used for handling and querying diagnostic IDs.">DiagnosticIDs</a>),</div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>       <span class="keyword">new</span> <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a>);</div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>   <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> <a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>(Diagnostics, Files);</div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>   llvm::MemoryBuffer *Buf = llvm::MemoryBuffer::getMemBuffer(Code, FileName);</div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FileEntry.html" title="Cached information about one file (either on disk or in the virtual file system).">clang::FileEntry</a> *Entry =</div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>       Files.<a class="code" href="classclang_1_1FileManager.html#a7dd8ef9d948ba6281672e34eb8adaa2a" title="Retrieve a file entry for a "virtual" file that acts as if there were a file with the given name on d...">getVirtualFile</a>(FileName, Buf->getBufferSize(), 0);</div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>   SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a0eb85320100e00c98e4bc3305e6e8753" title="Override the contents of the given source file by providing an already-allocated buffer.">overrideFileContents</a>(Entry, Buf);</div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>   <a class="code" href="classclang_1_1FileID.html" title="An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...">FileID</a> <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a> =</div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>       SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#acefb5d310242160b1910104bbf4d8b2d" title="Create a new FileID that represents the specified file being #included from the specified IncludePosi...">createFileID</a>(Entry, <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="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35dab0548ddada8d87ad92e94d67e5af0a4f">clang::SrcMgr::C_User</a>);</div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>   <a class="code" href="classclang_1_1Lexer.html">Lexer</a> <a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>(ID, SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#a35f2a3fbf5cf9bff34b1d7f613096437" title="Return the buffer for the specified FileID.">getBuffer</a>(ID), <a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>,</div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>             <a class="code" href="namespaceclang_1_1format.html#aac0c69a3b39926d8f6f26be7ad9782d5" title="Returns the LangOpts that the formatter expects you to set.">getFormattingLangOpts</a>(Style.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a044e29dde38856beac53b1a307e444da" title="Format compatible with this standard, e.g. use A<A<int> > instead of A<A<int>> for LS_Cpp03...">Standard</a>));</div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</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> StartOfFile = SourceMgr.<a class="code" href="classclang_1_1SourceManager.html#ae1f1d6c242c1db7b224a7a6dd35cb82e" title="Return the source location corresponding to the first byte of the specified file.">getLocForStartOfFile</a>(ID);</div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>   std::vector<CharSourceRange> CharRanges;</div>
+<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = Ranges.size(); i != e; ++i) {</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</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> Start = StartOfFile.<a class="code" href="classclang_1_1SourceLocation.html#a1abf1cac74e512604b1f2c8921a446fa" title="Return a source location with the specified offset from this SourceLocation.">getLocWithOffset</a>(Ranges[i].getOffset());</div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</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> End = Start.<a class="code" href="classclang_1_1SourceLocation.html#a1abf1cac74e512604b1f2c8921a446fa" title="Return a source location with the specified offset from this SourceLocation.">getLocWithOffset</a>(Ranges[i].getLength());</div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>     CharRanges.push_back(<a class="code" href="classclang_1_1CharSourceRange.html#a3a85bd6fe56a23b41680fb7893ce8e2e">CharSourceRange::getCharRange</a>(Start, End));</div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>   }</div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>   <span class="keywordflow">return</span> <a class="code" href="namespaceclang_1_1format.html#af2841b605d57d9245e0f854fc26b46b9" title="Reformats the given Ranges in the token stream coming out of Lex.">reformat</a>(Style, Lex, SourceMgr, CharRanges);</div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> }</div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> </div>
+<div class="line"><a name="l01388"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#aac0c69a3b39926d8f6f26be7ad9782d5"> 1388</a></span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> <a class="code" href="namespaceclang_1_1format.html#aac0c69a3b39926d8f6f26be7ad9782d5" title="Returns the LangOpts that the formatter expects you to set.">getFormattingLangOpts</a>(<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a54639a373da7c4e1e7f4296b9c2adc39" title="Supported language standards.">FormatStyle::LanguageStandard</a> Standard) {</div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>   <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> LangOpts;</div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>   LangOpts.CPlusPlus = 1;</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>   LangOpts.CPlusPlus11 = Standard == FormatStyle::LS_Cpp03 ? 0 : 1;</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>   LangOpts.LineComment = 1;</div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>   LangOpts.Bool = 1;</div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>   LangOpts.ObjC1 = 1;</div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>   LangOpts.ObjC2 = 1;</div>
+<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>   <span class="keywordflow">return</span> LangOpts;</div>
+<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> }</div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> </div>
+<div class="line"><a name="l01399"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a01fea18a9a18b39812615e881fbe1bf7"> 1399</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="namespaceclang_1_1format.html#a01fea18a9a18b39812615e881fbe1bf7" title="Description to be used for help text for a llvm::cl option for specifying format style. The description is closely related to the operation of getStyle().">StyleOptionHelpDescription</a> =</div>
+<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>     <span class="stringliteral">"Coding style, currently supports:\n"</span></div>
+<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>     <span class="stringliteral">"  LLVM, Google, Chromium, Mozilla, WebKit.\n"</span></div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>     <span class="stringliteral">"Use -style=file to load style configuration from\n"</span></div>
+<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>     <span class="stringliteral">".clang-format file located in one of the parent\n"</span></div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>     <span class="stringliteral">"directories of the source file (or current\n"</span></div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>     <span class="stringliteral">"directory for stdin).\n"</span></div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>     <span class="stringliteral">"Use -style=\"{key: value, ...}\" to set specific\n"</span></div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>     <span class="stringliteral">"parameters, e.g.:\n"</span></div>
+<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>     <span class="stringliteral">"  -style=\"{BasedOnStyle: llvm, IndentWidth: 8}\""</span>;</div>
+<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> </div>
+<div class="line"><a name="l01410"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a6be4bf6151b3c614a9f5108127c59d4c"> 1410</a></span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> <a class="code" href="namespaceclang_1_1format.html#a6be4bf6151b3c614a9f5108127c59d4c" title="Construct a FormatStyle based on StyleName.">getStyle</a>(StringRef StyleName, StringRef FileName) {</div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>   <span class="comment">// Fallback style in case the rest of this function can't determine a style.</span></div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>   StringRef FallbackStyle = <span class="stringliteral">"LLVM"</span>;</div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>   <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>   <a class="code" href="namespaceclang_1_1format.html#a0b628eb78915243b2a7f7ee9e7537ce2" title="Gets a predefined style by name.">getPredefinedStyle</a>(FallbackStyle, &Style);</div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> </div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>   <span class="keywordflow">if</span> (StyleName.startswith(<span class="stringliteral">"{"</span>)) {</div>
+<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>     <span class="comment">// Parse YAML/JSON style from the command line.</span></div>
+<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>     <span class="keywordflow">if</span> (llvm::error_code ec = <a class="code" href="namespaceclang_1_1format.html#aef0f064bc9b071dc0078f08312867a34" title="Parse configuration from YAML-formatted text.">parseConfiguration</a>(StyleName, &Style)) {</div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>       llvm::errs() << <span class="stringliteral">"Error parsing -style: "</span> << ec.message() << <span class="stringliteral">", using "</span></div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>                    << FallbackStyle << <span class="stringliteral">" style\n"</span>;</div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>     }</div>
+<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>     <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>   }</div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> </div>
+<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>   <span class="keywordflow">if</span> (!StyleName.equals_lower(<span class="stringliteral">"file"</span>)) {</div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>     <span class="keywordflow">if</span> (!<a class="code" href="namespaceclang_1_1format.html#a0b628eb78915243b2a7f7ee9e7537ce2" title="Gets a predefined style by name.">getPredefinedStyle</a>(StyleName, &Style))</div>
+<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>       llvm::errs() << <span class="stringliteral">"Invalid value for -style, using "</span> << FallbackStyle</div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>                    << <span class="stringliteral">" style\n"</span>;</div>
+<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>     <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>   }</div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> </div>
+<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> Path(FileName);</div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>   llvm::sys::fs::make_absolute(Path);</div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>   <span class="keywordflow">for</span> (StringRef Directory = Path; !Directory.empty();</div>
+<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>        Directory = llvm::sys::path::parent_path(Directory)) {</div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>     <span class="keywordflow">if</span> (!llvm::sys::fs::is_directory(Directory))</div>
+<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> ConfigFile(Directory);</div>
+<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> </div>
+<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>     llvm::sys::path::append(ConfigFile, <span class="stringliteral">".clang-format"</span>);</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>     DEBUG(llvm::dbgs() << <span class="stringliteral">"Trying "</span> << ConfigFile << <span class="stringliteral">"...\n"</span>);</div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>     <span class="keywordtype">bool</span> IsFile = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>     <span class="comment">// Ignore errors from is_regular_file: we only need to know if we can read</span></div>
+<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>     <span class="comment">// the file or not.</span></div>
+<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>     llvm::sys::fs::is_regular_file(Twine(ConfigFile), IsFile);</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> </div>
+<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>     <span class="keywordflow">if</span> (!IsFile) {</div>
+<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>       <span class="comment">// Try _clang-format too, since dotfiles are not commonly used on Windows.</span></div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>       ConfigFile = Directory;</div>
+<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>       llvm::sys::path::append(ConfigFile, <span class="stringliteral">"_clang-format"</span>);</div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>       DEBUG(llvm::dbgs() << <span class="stringliteral">"Trying "</span> << ConfigFile << <span class="stringliteral">"...\n"</span>);</div>
+<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>       llvm::sys::fs::is_regular_file(Twine(ConfigFile), IsFile);</div>
+<div class="line"><a name="l01453"></a><span class="lineno"> 1453</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"> 1455</span>     <span class="keywordflow">if</span> (IsFile) {</div>
+<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>       <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<llvm::MemoryBuffer></a> Text;</div>
+<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>       <span class="keywordflow">if</span> (llvm::error_code ec =</div>
+<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>               llvm::MemoryBuffer::getFile(ConfigFile.c_str(), Text)) {</div>
+<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>         llvm::errs() << ec.message() << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>         <span class="keywordflow">continue</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"> 1462</span>       <span class="keywordflow">if</span> (llvm::error_code ec = <a class="code" href="namespaceclang_1_1format.html#aef0f064bc9b071dc0078f08312867a34" title="Parse configuration from YAML-formatted text.">parseConfiguration</a>(Text->getBuffer(), &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>)) {</div>
+<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>         llvm::errs() << <span class="stringliteral">"Error reading "</span> << ConfigFile << <span class="stringliteral">": "</span> << ec.message()</div>
+<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>                      << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>       }</div>
+<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>       DEBUG(llvm::dbgs() << <span class="stringliteral">"Using configuration file "</span> << ConfigFile << <span class="stringliteral">"\n"</span>);</div>
+<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>       <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>     }</div>
+<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>   }</div>
+<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>   llvm::errs() << <span class="stringliteral">"Can't find usable .clang-format, using "</span> << FallbackStyle</div>
+<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>                << <span class="stringliteral">" style\n"</span>;</div>
+<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>   <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>;</div>
+<div class="line"><a name="l01474"></a><span class="lineno"> 1474</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"> 1476</span> } <span class="comment">// namespace format</span></div>
+<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> } <span class="comment">// namespace clang</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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/Format_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Format_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Format_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Format_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,352 @@
+<!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: Format.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li><li class="navelem"><a class="el" href="dir_44489bf775064c0a1fac45ff4ce7e6b1.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Format.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Format_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> /home/tstellar/llvm/tools/clang/lib/Format/Release+Asserts/Format.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Format/Release+Asserts/Format.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  Format.cpp ContinuationIndenter.h <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/ConvertUTF.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Support/Unicode.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Format/Format.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendAction.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Refactoring.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Tooling.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/ArgumentsAdjusters.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/CompilationDatabase.h \
+ TokenAnnotator.h UnwrappedLineParser.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.def \
+ FormatToken.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorPrecedence.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TemplateKinds.h \
+ WhitespaceManager.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/include/llvm/Support/Debug.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/include/llvm/Support/YAMLTraits.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/include/llvm/Support/SMLoc.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/include/llvm/Support/YAMLParser.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/include/llvm/Support/Path.h</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> ContinuationIndenter.h:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>.h:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</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> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> /home/tstellar/llvm/include/llvm/Support/ConvertUTF.h:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</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> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> /home/tstellar/llvm/include/llvm/Support/Unicode.h:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Format/Format.h:</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendAction.h:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</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> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</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> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendOptions.h:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/CommandLineSourceLoc.h:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Refactoring.h:</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Tooling.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Driver/Util.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/ArgumentsAdjusters.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/CompilationDatabase.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> TokenAnnotator.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> UnwrappedLineParser.h:</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> FormatToken.h:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorPrecedence.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h:</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> WhitespaceManager.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/include/llvm/Support/Debug.h:</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> /home/tstellar/llvm/include/llvm/Support/YAMLTraits.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/include/llvm/Support/SMLoc.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/include/llvm/Support/YAMLParser.h:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/include/llvm/Support/Path.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:39 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