[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