[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/RewriteObjC_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteObjC_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteObjC_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteObjC_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,505 @@
+<!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: RewriteObjC.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_bacd97c81f21ffbc7c5c7e20967dca49.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">RewriteObjC.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteObjC_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/Rewrite/Frontend/Release+Asserts/<a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a8ba87375ecbff647fa1056961780b51d" title="ObjC->C Rewriter.">RewriteObjC</a>.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/Release+Asserts/<a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a8ba87375ecbff647fa1056961780b51d" title="ObjC->C Rewriter.">RewriteObjC</a>.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> RewriteObjC.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/ASTConsumers.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/AST.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclTemplate.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtVisitor.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtCXX.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtObjC.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtOpenMP.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.def \</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTConsumer.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ParentMap.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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="l00140"></a><span class="lineno"> 140</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/Rewriter.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/DeltaTree.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/RewriteRope.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> /home/tstellar/llvm/include/llvm/ADT/StringExtras.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/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/ASTConsumers.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LLVM.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/Support/Casting.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/type_traits.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/DataTypes.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/None.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/Rewrite/Frontend/../../../include/clang/AST/AST.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTContext.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTTypeTraits.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/Rewrite/Frontend/../../../include/clang/AST/ASTFwd.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/Rewrite/Frontend/../../../include/clang/AST/DeclNodes.inc:</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/Rewrite/Frontend/../../../include/clang/AST/StmtNodes.inc:</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/Rewrite/Frontend/../../../include/clang/AST/TypeNodes.def:</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/Rewrite/Frontend/../../../include/clang/AST/Decl.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/Rewrite/Frontend/../../../include/clang/AST/APValue.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/ADT/APFloat.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.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/SmallVector.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/AlignOf.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/Compiler.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.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/APSInt.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.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/PointerUnion.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/Rewrite/Frontend/../../../include/clang/AST/DeclBase.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/Rewrite/Frontend/../../../include/clang/AST/AttrIterator.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/Rewrite/Frontend/../../../include/clang/AST/DeclarationName.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/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.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/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.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/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.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/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def:</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/include/llvm/ADT/SmallString.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/include/llvm/ADT/StringRef.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/include/llvm/ADT/StringMap.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/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/PartialDiagnostic.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/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def:</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/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.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/include/llvm/ADT/DenseMap.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/DenseMapInfo.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/STLExtras.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Specifiers.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/PrettyStackTrace.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/Rewrite/Frontend/../../../include/clang/AST/ExternalASTSource.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/Rewrite/Frontend/../../../include/clang/AST/CharUnits.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/Rewrite/Frontend/../../../include/clang/AST/Redeclarable.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/Rewrite/Frontend/../../../include/clang/AST/Type.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/Rewrite/Frontend/../../../include/clang/AST/NestedNameSpecifier.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/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateName.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/Rewrite/Frontend/../../../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="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/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> /home/tstellar/llvm/include/llvm/ADT/Twine.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/include/llvm/Support/ErrorHandling.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/Rewrite/Frontend/../../../include/clang/AST/BuiltinTypes.def:</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/include/llvm/Support/raw_ostream.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/Support/FileSystem.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</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/Rewrite/Frontend/../../../include/clang/AST/Stmt.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/Rewrite/Frontend/../../../include/clang/AST/DeclGroup.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/Rewrite/Frontend/../../../include/clang/AST/StmtIterator.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/Rewrite/Frontend/../../../include/clang/Basic/CapturedStmt.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateBase.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CanonicalType.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/Rewrite/Frontend/../../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CommentCommandList.inc:</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/Rewrite/Frontend/../../../include/clang/AST/PrettyPrinter.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/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.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/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.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/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.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/Triple.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTUnresolvedSet.h:</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ExpressionTraits.h:</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h:</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclTemplate.h:</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtVisitor.h:</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtCXX.h:</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtObjC.h:</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtOpenMP.h:</div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.h:</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.def:</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTConsumer.h:</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attr.h:</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrKinds.h:</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrList.inc:</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attrs.inc:</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ParentMap.h:</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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="l00417"></a><span class="lineno"> 417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/Rewriter.h:</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/DeltaTree.h:</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/RewriteRope.h:</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> /home/tstellar/llvm/include/llvm/ADT/StringExtras.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteRope_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,886 @@
+<!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: RewriteRope.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_d9da5dd53a88911d10e65b0f7e98b4b1.html">Core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">RewriteRope.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteRope_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">//===--- RewriteRope.cpp - Rope specialized for rewriter --------*- 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 implements the RewriteRope class, which is a powerful string.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="RewriteRope_8h.html">clang/Rewrite/Core/RewriteRope.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <algorithm></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">/// RewriteRope is a "strong" string class, designed to make insertions and</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/// deletions in the middle of the string nearly constant time (really, they are</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/// O(log N), but with a very low constant factor).</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/// The implementation of this datastructure is a conceptual linear sequence of</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/// RopePiece elements. Each RopePiece represents a view on a separately</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">/// allocated and reference counted string. This means that splitting a very</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/// long string can be done in constant time by splitting a RopePiece that</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/// references the whole string into two rope pieces that reference each half.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">/// Once split, another string can be inserted in between the two halves by</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/// inserting a RopePiece in between the two others. All of this is very</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/// inexpensive: it takes time proportional to the number of RopePieces, not the</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">/// length of the strings they represent.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/// While a linear sequences of RopePieces is the conceptual model, the actual</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/// implementation captures them in an adapted B+ Tree. Using a B+ tree (which</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/// is a tree that keeps the values in the leaves and has where each node</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/// contains a reasonable number of pointers to children/values) allows us to</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/// maintain efficient operation when the RewriteRope contains a *huge* number</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/// of RopePieces. The basic idea of the B+ Tree is that it allows us to find</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/// the RopePiece corresponding to some offset very efficiently, and it</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/// automatically balances itself on insertions of RopePieces (which can happen</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/// for both insertions and erases of string ranges).</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/// The one wrinkle on the theory is that we don't attempt to keep the tree</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/// properly balanced when erases happen. Erases of string data can both insert</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/// new RopePieces (e.g. when the middle of some other rope piece is deleted,</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">/// which results in two rope pieces, which is just like an insert) or it can</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/// reduce the number of RopePieces maintained by the B+Tree. In the case when</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/// the number of RopePieces is reduced, we don't attempt to maintain the</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/// standard 'invariant' that each node in the tree contains at least</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/// 'WidthFactor' children/values. For our use cases, this doesn't seem to</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/// matter.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">/// The implementation below is primarily implemented in terms of three classes:</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/// RopePieceBTreeNode - Common base class for:</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/// RopePieceBTreeLeaf - Directly manages up to '2*WidthFactor' RopePiece</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/// nodes. This directly represents a chunk of the string with those</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/// RopePieces contatenated.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/// RopePieceBTreeInterior - An interior node in the B+ Tree, which manages</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/// up to '2*WidthFactor' other nodes in the tree.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"></span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">// RopePieceBTreeNode Class</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> /// RopePieceBTreeNode - Common base class of RopePieceBTreeLeaf and</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> /// RopePieceBTreeInterior. This provides some 'virtual' dispatching methods</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> /// and a flag that determines which subclass the instance is. Also</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> /// important, this node knows the full extend of the node, including any</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> /// children that it has. This allows efficient skipping over entire subtrees</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> /// when looking for an offset in the BTree.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"></span> <span class="keyword">class </span>RopePieceBTreeNode {</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">protected</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> /// WidthFactor - This controls the number of K/V slots held in the BTree:</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> /// how wide it is. Each level of the BTree is guaranteed to have at least</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> /// 'WidthFactor' elements in it (either ropepieces or children), (except</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> /// the root, which may have less) and may have at most 2*WidthFactor</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> /// elements.</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"></span> <span class="keyword">enum</span> { WidthFactor = 8 };</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> /// Size - This is the number of bytes of file this node (including any</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> /// potential children) covers.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> Size;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"></span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> /// IsLeaf - True if this is an instance of RopePieceBTreeLeaf, false if it</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> /// is an instance of RopePieceBTreeInterior.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"></span> <span class="keywordtype">bool</span> IsLeaf;</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> RopePieceBTreeNode(<span class="keywordtype">bool</span> isLeaf) : Size(0), IsLeaf(isLeaf) {}</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> ~RopePieceBTreeNode() {}</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">public</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> <span class="keywordtype">bool</span> isLeaf()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> IsLeaf; }</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">unsigned</span> size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Size; }</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="keywordtype">void</span> Destroy();</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"></span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> /// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> /// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> /// offset. The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"></span> RopePieceBTreeNode *split(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>);</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"></span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> /// specified offset. The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// node.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"></span> RopePieceBTreeNode *insert(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R);</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"></span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /// erase - Remove NumBytes from this node at the specified offset. We are</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> /// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"></span> <span class="keywordtype">void</span> erase(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keywordtype">unsigned</span> NumBytes);</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="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">// RopePieceBTreeLeaf Class</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> /// RopePieceBTreeLeaf - Directly manages up to '2*WidthFactor' RopePiece</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> /// nodes. This directly represents a chunk of the string with those</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> /// RopePieces contatenated. Since this is a B+Tree, all values (in this case</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> /// instances of RopePiece) are stored in leaves like this. To make iteration</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> /// over the leaves efficient, they maintain a singly linked list through the</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> /// NextLeaf field. This allows the B+Tree forward iterator to be constant</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> /// time for all increments.</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"></span> <span class="keyword">class </span>RopePieceBTreeLeaf : <span class="keyword">public</span> RopePieceBTreeNode {<span class="comment"></span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> /// NumPieces - This holds the number of rope pieces currently active in the</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> /// Pieces array.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> NumPieces;</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"></span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> /// Pieces - This tracks the file chunks currently in this leaf.</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"></span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> Pieces[2*WidthFactor];</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"></span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> /// NextLeaf - This is a pointer to the next leaf in the tree, allowing</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> /// efficient in-order forward iteration of the tree without traversal.</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"></span> RopePieceBTreeLeaf **PrevLeaf, *NextLeaf;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> RopePieceBTreeLeaf() : RopePieceBTreeNode(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>), NumPieces(0),</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> PrevLeaf(0), NextLeaf(0) {}</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> ~RopePieceBTreeLeaf() {</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span> (PrevLeaf || NextLeaf)</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> removeFromLeafInOrder();</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> clear();</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> </div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">bool</span> isFull()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumPieces == 2*WidthFactor; }</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"> /// clear - Remove all rope pieces from this leaf.</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"></span> <span class="keywordtype">void</span> clear() {</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">while</span> (NumPieces)</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> Pieces[--NumPieces] = <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>();</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> Size = 0;</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> </div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">unsigned</span> getNumPieces()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumPieces; }</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &getPiece(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> assert(i < getNumPieces() && <span class="stringliteral">"Invalid piece ID"</span>);</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">return</span> Pieces[i];</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> </div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">const</span> RopePieceBTreeLeaf *getNextLeafInOrder()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NextLeaf; }</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">void</span> insertAfterLeafInOrder(RopePieceBTreeLeaf *<a class="code" href="ASTMatchFinder_8cpp.html#a1dfddff6f4d91f415ffe4b9a6da5f489">Node</a>) {</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> assert(PrevLeaf == 0 && NextLeaf == 0 && <span class="stringliteral">"Already in ordering"</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> NextLeaf = Node->NextLeaf;</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> (NextLeaf)</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> NextLeaf->PrevLeaf = &NextLeaf;</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> PrevLeaf = &Node->NextLeaf;</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> Node->NextLeaf = <span class="keyword">this</span>;</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">void</span> removeFromLeafInOrder() {</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (PrevLeaf) {</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> *PrevLeaf = NextLeaf;</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (NextLeaf)</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> NextLeaf->PrevLeaf = PrevLeaf;</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (NextLeaf) {</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> NextLeaf->PrevLeaf = 0;</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> }</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"></span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> /// FullRecomputeSizeLocally - This method recomputes the 'Size' field by</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> /// summing the size of all RopePieces.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"></span> <span class="keywordtype">void</span> FullRecomputeSizeLocally() {</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> Size = 0;</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = getNumPieces(); i != e; ++i)</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> Size += getPiece(i).size();</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"></span></div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"> /// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> /// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> /// offset. The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment"></span> RopePieceBTreeNode *split(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</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"> /// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> /// specified offset. The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"> /// node.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment"> /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment"> /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment"></span> RopePieceBTreeNode *insert(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R);</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment"></span></div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment"> /// erase - Remove NumBytes from this node at the specified offset. We are</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment"> /// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"></span> <span class="keywordtype">void</span> erase(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keywordtype">unsigned</span> NumBytes);</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> classof(<span class="keyword">const</span> RopePieceBTreeNode *N) {</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">return</span> N->isLeaf();</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> };</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"></span></div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">/// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">/// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/// offset. The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeLeaf::split(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>) {</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment">// Find the insertion point. We are guaranteed that there is a split at the</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">// specified offset so find it.</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span> (Offset == 0 || Offset == size()) {</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">// Fastpath for a common case. There is already a splitpoint at the end.</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> }</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">// Find the piece that this offset lands in.</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordtype">unsigned</span> PieceOffs = 0;</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">unsigned</span> i = 0;</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">while</span> (Offset >= PieceOffs+Pieces[i].size()) {</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> PieceOffs += Pieces[i].size();</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> ++i;</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> }</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">// If there is already a split point at the specified offset, just return</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment">// success.</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">if</span> (PieceOffs == Offset)</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment">// Otherwise, we need to split piece 'i' at Offset-PieceOffs. Convert Offset</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment">// to being Piece relative.</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">unsigned</span> IntraPieceOffset = Offset-PieceOffs;</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment">// We do this by shrinking the RopePiece and then doing an insert of the tail.</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> Tail(Pieces[i].StrData, Pieces[i].StartOffs+IntraPieceOffset,</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> Pieces[i].EndOffs);</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> Size -= Pieces[i].size();</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> Pieces[i].EndOffs = Pieces[i].StartOffs+IntraPieceOffset;</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> Size += Pieces[i].size();</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> <span class="keywordflow">return</span> insert(Offset, Tail);</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> </div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"></span></div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">/// insert - Insert the specified RopePiece into this tree node at the</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">/// specified offset. The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeLeaf::insert(<span class="keywordtype">unsigned</span> Offset,</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R) {</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment">// If this node is not full, insert the piece.</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">if</span> (!isFull()) {</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">// Find the insertion point. We are guaranteed that there is a split at the</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment">// specified offset so find it.</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordtype">unsigned</span> i = 0, e = getNumPieces();</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">if</span> (Offset == size()) {</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment">// Fastpath for a common case.</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> i = e;</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordtype">unsigned</span> SlotOffs = 0;</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">for</span> (; Offset > SlotOffs; ++i)</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> SlotOffs += getPiece(i).size();</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> assert(SlotOffs == Offset && <span class="stringliteral">"Split didn't occur before insertion!"</span>);</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"> 292</span> <span class="comment">// For an insertion into a non-full leaf node, just insert the value in</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment">// its sorted position. This requires moving later values over.</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">for</span> (; i != e; --e)</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> Pieces[e] = Pieces[e-1];</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> Pieces[i] = R;</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> ++NumPieces;</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> Size += R.<a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f">size</a>();</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</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> <span class="comment">// Otherwise, if this is leaf is full, split it in two halves. Since this</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">// node is full, it contains 2*WidthFactor values. We move the first</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment">// 'WidthFactor' values to the LHS child (which we leave in this node) and</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="comment">// move the last 'WidthFactor' values into the RHS child.</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="comment">// Create the new node.</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> RopePieceBTreeLeaf *NewNode = <span class="keyword">new</span> RopePieceBTreeLeaf();</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="comment">// Move over the last 'WidthFactor' values from here to NewNode.</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> std::copy(&Pieces[WidthFactor], &Pieces[2*WidthFactor],</div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> &NewNode->Pieces[0]);</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment">// Replace old pieces with null RopePieces to drop refcounts.</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> std::fill(&Pieces[WidthFactor], &Pieces[2*WidthFactor], <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>());</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> <span class="comment">// Decrease the number of values in the two nodes.</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> NewNode->NumPieces = NumPieces = WidthFactor;</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment">// Recompute the two nodes' size.</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> NewNode->FullRecomputeSizeLocally();</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> FullRecomputeSizeLocally();</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment">// Update the list of leaves.</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> NewNode->insertAfterLeafInOrder(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment">// These insertions can't fail.</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">if</span> (this->size() >= Offset)</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> this->insert(Offset, R);</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> NewNode->insert(Offset - this->size(), R);</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">return</span> NewNode;</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">/// erase - Remove NumBytes from this node at the specified offset. We are</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment">/// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment"></span><span class="keywordtype">void</span> RopePieceBTreeLeaf::erase(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment">// Since we are guaranteed that there is a split at Offset, we start by</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment">// finding the Piece that starts there.</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordtype">unsigned</span> PieceOffs = 0;</div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">unsigned</span> i = 0;</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">for</span> (; Offset > PieceOffs; ++i)</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> PieceOffs += getPiece(i).size();</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> assert(PieceOffs == Offset && <span class="stringliteral">"Split didn't occur before erase!"</span>);</div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordtype">unsigned</span> StartPiece = i;</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> <span class="comment">// Figure out how many pieces completely cover 'NumBytes'. We want to remove</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment">// all of them.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">for</span> (; Offset+NumBytes > PieceOffs+getPiece(i).size(); ++i)</div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> PieceOffs += getPiece(i).size();</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="comment">// If we exactly include the last one, include it in the region to delete.</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">if</span> (Offset+NumBytes == PieceOffs+getPiece(i).size())</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> PieceOffs += getPiece(i).size(), ++i;</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="comment">// If we completely cover some RopePieces, erase them now.</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">if</span> (i != StartPiece) {</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordtype">unsigned</span> NumDeleted = i-StartPiece;</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">for</span> (; i != getNumPieces(); ++i)</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> Pieces[i-NumDeleted] = Pieces[i];</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">// Drop references to dead rope pieces.</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> std::fill(&Pieces[getNumPieces()-NumDeleted], &Pieces[getNumPieces()],</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>());</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> NumPieces -= NumDeleted;</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">unsigned</span> CoverBytes = PieceOffs-<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>;</div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> NumBytes -= CoverBytes;</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> Size -= CoverBytes;</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> <span class="comment">// If we completely removed some stuff, we could be done.</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">if</span> (NumBytes == 0) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment">// Okay, now might be erasing part of some Piece. If this is the case, then</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment">// move the start point of the piece.</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> assert(getPiece(StartPiece).size() > NumBytes);</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> Pieces[StartPiece].StartOffs += NumBytes;</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> <span class="comment">// The size of this node just shrunk by NumBytes.</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> Size -= NumBytes;</div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> }</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment">// RopePieceBTreeInterior Class</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment">//===----------------------------------------------------------------------===//</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="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment"> /// RopePieceBTreeInterior - This represents an interior node in the B+Tree,</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment"> /// which holds up to 2*WidthFactor pointers to child nodes.</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment"></span> <span class="keyword">class </span>RopePieceBTreeInterior : <span class="keyword">public</span> RopePieceBTreeNode {<span class="comment"></span></div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment"> /// NumChildren - This holds the number of children currently active in the</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment"> /// Children array.</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> NumChildren;</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> RopePieceBTreeNode *Children[2*WidthFactor];</div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> RopePieceBTreeInterior() : RopePieceBTreeNode(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), NumChildren(0) {}</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> RopePieceBTreeInterior(RopePieceBTreeNode *LHS, RopePieceBTreeNode *RHS)</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> : RopePieceBTreeNode(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> Children[0] = LHS;</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> Children[1] = RHS;</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> NumChildren = 2;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> Size = LHS->size() + RHS->size();</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> ~RopePieceBTreeInterior() {</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = getNumChildren(); i != e; ++i)</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> Children[i]->Destroy();</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> </div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordtype">bool</span> isFull()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumChildren == 2*WidthFactor; }</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordtype">unsigned</span> getNumChildren()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumChildren; }</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">const</span> RopePieceBTreeNode *getChild(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> assert(i < NumChildren && <span class="stringliteral">"invalid child #"</span>);</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">return</span> Children[i];</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> RopePieceBTreeNode *getChild(<span class="keywordtype">unsigned</span> i) {</div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> assert(i < NumChildren && <span class="stringliteral">"invalid child #"</span>);</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keywordflow">return</span> Children[i];</div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="comment"></span></div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="comment"> /// FullRecomputeSizeLocally - Recompute the Size field of this node by</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment"> /// summing up the sizes of the child nodes.</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="comment"></span> <span class="keywordtype">void</span> FullRecomputeSizeLocally() {</div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> Size = 0;</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = getNumChildren(); i != e; ++i)</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> Size += getChild(i)->size();</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="comment"></span></div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment"> /// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment"> /// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="comment"> /// offset. The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment"> /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="comment"> /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment"></span> RopePieceBTreeNode *split(<span class="keywordtype">unsigned</span> Offset);</div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment"></span></div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment"> /// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment"> /// specified offset. The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment"> /// node.</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> /// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment"> /// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment"></span> RopePieceBTreeNode *insert(<span class="keywordtype">unsigned</span> Offset, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R);</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment"></span></div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment"> /// HandleChildPiece - A child propagated an insertion result up to us.</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment"> /// Insert the new child, and/or propagate the result further up the tree.</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment"></span> RopePieceBTreeNode *HandleChildPiece(<span class="keywordtype">unsigned</span> i, RopePieceBTreeNode *RHS);</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment"></span></div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment"> /// erase - Remove NumBytes from this node at the specified offset. We are</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment"> /// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment"></span> <span class="keywordtype">void</span> erase(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes);</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> classof(<span class="keyword">const</span> RopePieceBTreeNode *N) {</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="keywordflow">return</span> !N->isLeaf();</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> } <span class="comment">// end anonymous namespace</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">/// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="comment">/// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="comment">/// offset. The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeInterior::split(<span class="keywordtype">unsigned</span> Offset) {</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment">// Figure out which child to split.</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keywordflow">if</span> (Offset == 0 || Offset == size())</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordflow">return</span> 0; <span class="comment">// If we have an exact offset, we're already split.</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordtype">unsigned</span> ChildOffset = 0;</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordtype">unsigned</span> i = 0;</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordflow">for</span> (; Offset >= ChildOffset+getChild(i)->size(); ++i)</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> ChildOffset += getChild(i)->size();</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">// If already split there, we're done.</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">if</span> (ChildOffset == Offset)</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment">// Otherwise, recursively split the child.</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = getChild(i)->split(Offset-ChildOffset))</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">return</span> HandleChildPiece(i, RHS);</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keywordflow">return</span> 0; <span class="comment">// Done!</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> }</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"></span></div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment">/// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment">/// specified offset. The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment">/// node.</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeInterior::insert(<span class="keywordtype">unsigned</span> Offset,</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R) {</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="comment">// Find the insertion point. We are guaranteed that there is a split at the</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="comment">// specified offset so find it.</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordtype">unsigned</span> i = 0, e = getNumChildren();</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordtype">unsigned</span> ChildOffs = 0;</div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">if</span> (Offset == size()) {</div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment">// Fastpath for a common case. Insert at end of last child.</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> i = e-1;</div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> ChildOffs = size()-getChild(i)->size();</div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordflow">for</span> (; Offset > ChildOffs+getChild(i)->size(); ++i)</div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> ChildOffs += getChild(i)->size();</div>
+<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> }</div>
+<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div>
+<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> Size += R.<a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f">size</a>();</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="comment">// Insert at the end of this child.</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = getChild(i)->insert(Offset-ChildOffs, R))</div>
+<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">return</span> HandleChildPiece(i, RHS);</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> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> }</div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="comment"></span></div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="comment">/// HandleChildPiece - A child propagated an insertion result up to us.</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="comment">/// Insert the new child, and/or propagate the result further up the tree.</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="comment"></span>RopePieceBTreeNode *</div>
+<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> RopePieceBTreeInterior::HandleChildPiece(<span class="keywordtype">unsigned</span> i, RopePieceBTreeNode *RHS) {</div>
+<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="comment">// Otherwise the child propagated a subtree up to us as a new child. See if</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="comment">// we have space for it here.</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">if</span> (!isFull()) {</div>
+<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="comment">// Insert RHS after child 'i'.</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">if</span> (i + 1 != getNumChildren())</div>
+<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> memmove(&Children[i+2], &Children[i+1],</div>
+<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> (getNumChildren()-i-1)*<span class="keyword">sizeof</span>(Children[0]));</div>
+<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> Children[i+1] = RHS;</div>
+<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> ++NumChildren;</div>
+<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> }</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="comment">// Okay, this node is full. Split it in half, moving WidthFactor children to</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="comment">// a newly allocated interior node.</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="comment">// Create the new node.</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> RopePieceBTreeInterior *NewNode = <span class="keyword">new</span> RopePieceBTreeInterior();</div>
+<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
+<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="comment">// Move over the last 'WidthFactor' values from here to NewNode.</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> memcpy(&NewNode->Children[0], &Children[WidthFactor],</div>
+<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> WidthFactor*<span class="keyword">sizeof</span>(Children[0]));</div>
+<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div>
+<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment">// Decrease the number of values in the two nodes.</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> NewNode->NumChildren = NumChildren = WidthFactor;</div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="comment">// Finally, insert the two new children in the side the can (now) hold them.</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="comment">// These insertions can't fail.</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="keywordflow">if</span> (i < WidthFactor)</div>
+<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> this->HandleChildPiece(i, RHS);</div>
+<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> NewNode->HandleChildPiece(i-WidthFactor, RHS);</div>
+<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="comment">// Recompute the two nodes' size.</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> NewNode->FullRecomputeSizeLocally();</div>
+<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> FullRecomputeSizeLocally();</div>
+<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keywordflow">return</span> NewNode;</div>
+<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> }</div>
+<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment"></span></div>
+<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="comment">/// erase - Remove NumBytes from this node at the specified offset. We are</span></div>
+<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="comment">/// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="comment"></span><span class="keywordtype">void</span> RopePieceBTreeInterior::erase(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="comment">// This will shrink this node by NumBytes.</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> Size -= NumBytes;</div>
+<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div>
+<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="comment">// Find the first child that overlaps with Offset.</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordtype">unsigned</span> i = 0;</div>
+<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keywordflow">for</span> (; Offset >= getChild(i)->size(); ++i)</div>
+<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> Offset -= getChild(i)->size();</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> <span class="comment">// Propagate the delete request into overlapping children, or completely</span></div>
+<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="comment">// delete the children as appropriate.</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordflow">while</span> (NumBytes) {</div>
+<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> RopePieceBTreeNode *CurChild = getChild(i);</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="comment">// If we are deleting something contained entirely in the child, pass on the</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment">// request.</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordflow">if</span> (Offset+NumBytes < CurChild->size()) {</div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> CurChild->erase(Offset, NumBytes);</div>
+<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> }</div>
+<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="comment">// If this deletion request starts somewhere in the middle of the child, it</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment">// must be deleting to the end of the child.</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordflow">if</span> (Offset) {</div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordtype">unsigned</span> BytesFromChild = CurChild->size()-<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>;</div>
+<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> CurChild->erase(Offset, BytesFromChild);</div>
+<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> NumBytes -= BytesFromChild;</div>
+<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="comment">// Start at the beginning of the next child.</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> Offset = 0;</div>
+<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> ++i;</div>
+<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div>
+<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> </div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="comment">// If the deletion request completely covers the child, delete it and move</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="comment">// the rest down.</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> NumBytes -= CurChild->size();</div>
+<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> CurChild->Destroy();</div>
+<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> --NumChildren;</div>
+<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="keywordflow">if</span> (i != getNumChildren())</div>
+<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> memmove(&Children[i], &Children[i+1],</div>
+<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> (getNumChildren()-i)*<span class="keyword">sizeof</span>(Children[0]));</div>
+<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</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> </div>
+<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="comment">// RopePieceBTreeNode Implementation</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
+<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordtype">void</span> RopePieceBTreeNode::Destroy() {</div>
+<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keyword">delete</span> Leaf;</div>
+<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keyword">delete</span> cast<RopePieceBTreeInterior>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> }</div>
+<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="comment"></span></div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="comment">/// split - Split the range containing the specified offset so that we are</span></div>
+<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="comment">/// guaranteed that there is a place to do an insertion at the specified</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="comment">/// offset. The offset is relative, so "0" is the start of the node.</span></div>
+<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeNode::split(<span class="keywordtype">unsigned</span> Offset) {</div>
+<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> assert(Offset <= size() && <span class="stringliteral">"Invalid offset to split!"</span>);</div>
+<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="keywordflow">return</span> Leaf->split(Offset);</div>
+<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordflow">return</span> cast<RopePieceBTreeInterior>(<span class="keyword">this</span>)->split(Offset);</div>
+<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> }</div>
+<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="comment"></span></div>
+<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="comment">/// insert - Insert the specified ropepiece into this tree node at the</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="comment">/// specified offset. The offset is relative, so "0" is the start of the</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="comment">/// node.</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="comment">/// If there is no space in this subtree for the extra piece, the extra tree</span></div>
+<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="comment">/// node is returned and must be inserted into a parent.</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment"></span>RopePieceBTreeNode *RopePieceBTreeNode::insert(<span class="keywordtype">unsigned</span> Offset,</div>
+<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R) {</div>
+<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> assert(Offset <= size() && <span class="stringliteral">"Invalid offset to insert!"</span>);</div>
+<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">return</span> Leaf->insert(Offset, R);</div>
+<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keywordflow">return</span> cast<RopePieceBTreeInterior>(<span class="keyword">this</span>)->insert(Offset, R);</div>
+<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> }</div>
+<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="comment"></span></div>
+<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="comment">/// erase - Remove NumBytes from this node at the specified offset. We are</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="comment">/// guaranteed that there is a split at Offset.</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="comment"></span><span class="keywordtype">void</span> RopePieceBTreeNode::erase(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> assert(Offset+NumBytes <= size() && <span class="stringliteral">"Invalid offset to erase!"</span>);</div>
+<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">return</span> Leaf->erase(Offset, NumBytes);</div>
+<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordflow">return</span> cast<RopePieceBTreeInterior>(<span class="keyword">this</span>)->erase(Offset, NumBytes);</div>
+<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> }</div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div>
+<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
+<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="comment">// RopePieceBTreeIterator Implementation</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> </div>
+<div class="line"><a name="l00661"></a><span class="lineno"><a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0"> 661</a></span> <span class="keyword">static</span> <span class="keyword">const</span> RopePieceBTreeLeaf *<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>) {</div>
+<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span>RopePieceBTreeLeaf*<span class="keyword">></span>(<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>);</div>
+<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> }</div>
+<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
+<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="comment">// begin iterator.</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a55a2ecf8e4070a3b18e48b780cdd6f51"> 666</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a23ea1fe4a93c8ea9745ea43bede698b9">RopePieceBTreeIterator::RopePieceBTreeIterator</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *n) {</div>
+<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="keyword">const</span> RopePieceBTreeNode *N = <span class="keyword">static_cast<</span><span class="keyword">const </span>RopePieceBTreeNode*<span class="keyword">></span>(n);</div>
+<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
+<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="comment">// Walk down the left side of the tree until we get to a leaf.</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="keywordflow">while</span> (<span class="keyword">const</span> RopePieceBTreeInterior *IN = dyn_cast<RopePieceBTreeInterior>(N))</div>
+<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> N = IN->getChild(0);</div>
+<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> </div>
+<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="comment">// We must have at least one leaf.</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> CurNode = cast<RopePieceBTreeLeaf>(N);</div>
+<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
+<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="comment">// If we found a leaf that happens to be empty, skip over it until we get</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="comment">// to something full.</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="keywordflow">while</span> (CurNode && <a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNumPieces() == 0)</div>
+<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> CurNode = <a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNextLeafInOrder();</div>
+<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
+<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="keywordflow">if</span> (CurNode != 0)</div>
+<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> CurPiece = &<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getPiece(0);</div>
+<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordflow">else</span> <span class="comment">// Empty tree, this is an end() iterator.</span></div>
+<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> CurPiece = 0;</div>
+<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> CurChar = 0;</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> </div>
+<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keywordtype">void</span> RopePieceBTreeIterator::MoveToNextPiece() {</div>
+<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="keywordflow">if</span> (CurPiece != &<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getPiece(<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNumPieces()-1)) {</div>
+<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> CurChar = 0;</div>
+<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> ++CurPiece;</div>
+<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> }</div>
+<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
+<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="comment">// Find the next non-empty leaf node.</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="keywordflow">do</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> CurNode = <a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNextLeafInOrder();</div>
+<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">while</span> (CurNode && <a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getNumPieces() == 0);</div>
+<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
+<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="keywordflow">if</span> (CurNode != 0)</div>
+<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> CurPiece = &<a class="code" href="RewriteRope_8cpp.html#a409e16163bc6f885b38433f316458ba0">getCN</a>(CurNode)->getPiece(0);</div>
+<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="keywordflow">else</span> <span class="comment">// Hit end().</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> CurPiece = 0;</div>
+<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> CurChar = 0;</div>
+<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> }</div>
+<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div>
+<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="comment">// RopePieceBTree Implementation</span></div>
+<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div>
+<div class="line"><a name="l00711"></a><span class="lineno"><a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05"> 711</a></span> <span class="keyword">static</span> RopePieceBTreeNode *<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(<span class="keywordtype">void</span> *<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>) {</div>
+<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>RopePieceBTreeNode*<span class="keyword">></span>(<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>);</div>
+<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> }</div>
+<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div>
+<div class="line"><a name="l00715"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37"> 715</a></span> <a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37">RopePieceBTree::RopePieceBTree</a>() {</div>
+<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> Root = <span class="keyword">new</span> RopePieceBTreeLeaf();</div>
+<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> }</div>
+<div class="line"><a name="l00718"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a370885aa47f7ad7904926baf98d49a6e"> 718</a></span> <a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37">RopePieceBTree::RopePieceBTree</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> &RHS) {</div>
+<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> assert(RHS.<a class="code" href="classclang_1_1RopePieceBTree.html#a4713952d84c3ece3e23191953e78670a">empty</a>() && <span class="stringliteral">"Can't copy non-empty tree yet"</span>);</div>
+<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> Root = <span class="keyword">new</span> RopePieceBTreeLeaf();</div>
+<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> }</div>
+<div class="line"><a name="l00722"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a2d57e33c075c95f38ebe02b23cd34aa7"> 722</a></span> <a class="code" href="classclang_1_1RopePieceBTree.html#a2d57e33c075c95f38ebe02b23cd34aa7">RopePieceBTree::~RopePieceBTree</a>() {</div>
+<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->Destroy();</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_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b"> 726</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b">RopePieceBTree::size</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">return</span> <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->size();</div>
+<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> }</div>
+<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div>
+<div class="line"><a name="l00730"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#ad2b31f7577575db9116286aa7eb9eb88"> 730</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#ad2b31f7577575db9116286aa7eb9eb88">RopePieceBTree::clear</a>() {</div>
+<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="keywordflow">if</span> (RopePieceBTreeLeaf *Leaf = dyn_cast<RopePieceBTreeLeaf>(<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)))</div>
+<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> Leaf->clear();</div>
+<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->Destroy();</div>
+<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> Root = <span class="keyword">new</span> RopePieceBTreeLeaf();</div>
+<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> }</div>
+<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> }</div>
+<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
+<div class="line"><a name="l00739"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3"> 739</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">RopePieceBTree::insert</a>(<span class="keywordtype">unsigned</span> Offset, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R) {</div>
+<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="comment">// #1. Split at Offset.</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->split(Offset))</div>
+<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> Root = <span class="keyword">new</span> RopePieceBTreeInterior(<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root), RHS);</div>
+<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div>
+<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="comment">// #2. Do the insertion.</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)-><a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">insert</a>(Offset, R))</div>
+<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> Root = <span class="keyword">new</span> RopePieceBTreeInterior(<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root), RHS);</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_1RopePieceBTree.html#a84b450bb9da39cb7e9a32b070be6e086"> 749</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a84b450bb9da39cb7e9a32b070be6e086">RopePieceBTree::erase</a>(<span class="keywordtype">unsigned</span> Offset, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="comment">// #1. Split at Offset.</span></div>
+<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">if</span> (RopePieceBTreeNode *RHS = <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->split(Offset))</div>
+<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> Root = <span class="keyword">new</span> RopePieceBTreeInterior(<a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root), RHS);</div>
+<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div>
+<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="comment">// #2. Do the erasing.</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <a class="code" href="RewriteRope_8cpp.html#a631318aa78967cc69ef18fd434881c05">getRoot</a>(Root)->erase(Offset, NumBytes);</div>
+<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> }</div>
+<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
+<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="comment">// RewriteRope Implementation</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="comment"></span></div>
+<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="comment">/// MakeRopeString - This copies the specified byte range into some instance of</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="comment">/// RopeRefCountString, and return a RopePiece that represents it. This uses</span></div>
+<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="comment">/// the AllocBuffer object to aggregate requests for small strings into one</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="comment">/// allocation instead of doing tons of tiny allocations.</span></div>
+<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="comment"></span><a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> RewriteRope::MakeRopeString(<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="l00767"></a><span class="lineno"> 767</span> <span class="keywordtype">unsigned</span> Len = End-Start;</div>
+<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> assert(Len && <span class="stringliteral">"Zero length RopePiece is invalid!"</span>);</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> <span class="comment">// If we have space for this string in the current alloc buffer, use it.</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keywordflow">if</span> (AllocOffs+Len <= AllocChunkSize) {</div>
+<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> memcpy(AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>+AllocOffs, Start, Len);</div>
+<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> AllocOffs += Len;</div>
+<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>(AllocBuffer, AllocOffs-Len, AllocOffs);</div>
+<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> }</div>
+<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> </div>
+<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="comment">// If we don't have enough room because this specific allocation is huge,</span></div>
+<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="comment">// just allocate a new rope piece for it alone.</span></div>
+<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="keywordflow">if</span> (Len > AllocChunkSize) {</div>
+<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="keywordtype">unsigned</span> Size = End-Start+<span class="keyword">sizeof</span>(<a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a>)-1;</div>
+<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *Res =</div>
+<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *<span class="keyword">></span>(<span class="keyword">new</span> <span class="keywordtype">char</span>[Size]);</div>
+<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> Res-><a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a> = 0;</div>
+<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> memcpy(Res->Data, Start, End-Start);</div>
+<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>(Res, 0, End-Start);</div>
+<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> }</div>
+<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> </div>
+<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="comment">// Otherwise, this was a small request but we just don't have space for it</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment">// Make a new chunk and share it with later allocations.</span></div>
+<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div>
+<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="comment">// If we had an old allocation, drop our reference to it.</span></div>
+<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (AllocBuffer && --AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a> == 0)</div>
+<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="keyword">delete</span> [] (<span class="keywordtype">char</span>*)AllocBuffer;</div>
+<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
+<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordtype">unsigned</span> AllocSize = <a class="code" href="stddef_8h.html#aa9842c82489dbcd564e5ff03bb04c1ca">offsetof</a>(<a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a>, Data) + AllocChunkSize;</div>
+<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> AllocBuffer = <span class="keyword">reinterpret_cast<</span><a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *<span class="keyword">></span>(<span class="keyword">new</span> <span class="keywordtype">char</span>[AllocSize]);</div>
+<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a> = 0;</div>
+<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> memcpy(AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>, Start, Len);</div>
+<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> AllocOffs = Len;</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="comment">// Start out the new allocation with a refcount of 1, since we have an</span></div>
+<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment">// internal reference to it.</span></div>
+<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</a>();</div>
+<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a>(AllocBuffer, 0, Len);</div>
+<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> }</div>
+<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
+<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteRope_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,106 @@
+<!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: RewriteRope.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_d9da5dd53a88911d10e65b0f7e98b4b1.html">Core</a></li><li class="navelem"><a class="el" href="dir_712833a27f5be7bf49ee8e99237dd33d.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">RewriteRope.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteRope_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/Rewrite/Core/Release+Asserts/RewriteRope.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/Release+Asserts/RewriteRope.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> RewriteRope.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/RewriteRope.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/include/llvm/ADT/None.h</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/RewriteRope.h:</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> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteRope_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteRope_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,317 @@
+<!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: RewriteRope.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_8e6e71a2028d1d380b134748e68cbbb8.html">Core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">RewriteRope.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteRope_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">//===--- RewriteRope.h - Rope specialized for rewriter ----------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This file defines the RewriteRope class, which is a powerful string class.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#ifndef LLVM_CLANG_REWRITEROPE_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_REWRITEROPE_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "llvm/Support/Compiler.h"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include <cassert></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <cstddef></span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <cstring></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <iterator></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// RopeRefCountString Class</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"></span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> /// RopeRefCountString - This struct is allocated with 'new char[]' from the</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> /// heap, and represents a reference counted chunk of string data. When its</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> /// ref count drops to zero, it is delete[]'d. This is primarily managed</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> /// through the RopePiece class below.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="structclang_1_1RopeRefCountString.html"> 32</a></span> <span class="comment"></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> {</div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11"> 33</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a>;</div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c"> 34</a></span> <span class="keywordtype">char</span> <a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>[1]; <span class="comment">// Variable sized.</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"><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb"> 36</a></span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</a>() {</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> ++<a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a>;</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> }</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6"> 40</a></span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6">dropRef</a>() {</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">if</span> (--<a class="code" href="structclang_1_1RopeRefCountString.html#a27f7734694ee575b09bd30c82a8e0a11">RefCount</a> == 0)</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">delete</span> [] (<span class="keywordtype">char</span>*)<span class="keyword">this</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> };</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> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// RopePiece Class</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> /// RopePiece - This class represents a view into a RopeRefCountString object.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> /// This allows references to string data to be efficiently chopped up and</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> /// moved around without having to push around the string data itself.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> /// For example, we could have a 1M RopePiece and want to insert something</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> /// into the middle of it. To do this, we split it into two RopePiece objects</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> /// that both refer to the same underlying RopeRefCountString (just with</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> /// different offsets) which is a nice constant time operation.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html"> 58</a></span> <span class="comment"></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> {</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98"> 59</a></span> <a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>;</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff"> 60</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d"> 61</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a4a40b0de0ba4fe535978bec050c783fa"> 63</a></span> <a class="code" href="structclang_1_1RopePiece.html#a4a40b0de0ba4fe535978bec050c783fa">RopePiece</a>() : <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>(0), <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>(0), <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>(0) {}</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#aaf1b008c11e133501035dc8f23b0510d"> 65</a></span> <a class="code" href="structclang_1_1RopePiece.html#a4a40b0de0ba4fe535978bec050c783fa">RopePiece</a>(<a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *Str, <span class="keywordtype">unsigned</span> Start, <span class="keywordtype">unsigned</span> End)</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> : <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>(Str), <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>(Start), <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>(End) {</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</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"><a class="code" href="structclang_1_1RopePiece.html#a894f94b7d5b2821f3643435d882e5a13"> 70</a></span> <a class="code" href="structclang_1_1RopePiece.html#a4a40b0de0ba4fe535978bec050c783fa">RopePiece</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &RP)</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> : <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>(RP.<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>), <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>(RP.<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>), <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>(RP.<a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>) {</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</a>();</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"><a class="code" href="structclang_1_1RopePiece.html#a4540481b2783aa7099445ca19e6322ff"> 76</a></span> <a class="code" href="structclang_1_1RopePiece.html#a4540481b2783aa7099445ca19e6322ff">~RopePiece</a>() {</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6">dropRef</a>();</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#afb3c0091485fbc772e7c47ae39a087be"> 81</a></span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1RopePiece.html#afb3c0091485fbc772e7c47ae39a087be">operator=</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &RHS) {</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a> != RHS.<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6">dropRef</a>();</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a> = RHS.<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">if</span> (<a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>)</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#aa0c554625c32f25cd0c15fb7400abfeb">addRef</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> <a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a> = RHS.<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a> = RHS.<a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>;</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#ac491bba5b4d037f96d8dc111f7fad355"> 93</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> &<a class="code" href="structclang_1_1RopePiece.html#ac491bba5b4d037f96d8dc111f7fad355">operator[]</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>[Offset+<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>];</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div>
+<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a4fb3fc27e4b4007f4e60a44c1d759bfa"> 96</a></span> <span class="keywordtype">char</span> &<a class="code" href="structclang_1_1RopePiece.html#a4fb3fc27e4b4007f4e60a44c1d759bfa">operator[]</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>) {</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html#a709fe42496ba15ac861d3caa65572a98">StrData</a>-><a class="code" href="structclang_1_1RopeRefCountString.html#a1e47d0c494b39e988d1c76810a27af5c">Data</a>[Offset+<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>];</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> </div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f"> 100</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structclang_1_1RopePiece.html#aeaaa4657a5b2f1ccb55e965277ecad5d">EndOffs</a>-<a class="code" href="structclang_1_1RopePiece.html#a9d8b7306e29b76b55212e6db71162cff">StartOffs</a>; }</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> </div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">// RopePieceBTreeIterator Class</span></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"></span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> /// RopePieceBTreeIterator - This class provides read-only forward iteration</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// over bytes that are in a RopePieceBTree. This first iterates over bytes</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> /// in a RopePiece, then iterates over RopePiece's in a RopePieceBTreeLeaf,</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// then iterates over RopePieceBTreeLeaf's in a RopePieceBTree.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html"> 111</a></span> <span class="comment"></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> :</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">public</span> std::iterator<std::forward_iterator_tag, const char, ptrdiff_t> {<span class="comment"></span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> /// CurNode - The current B+Tree node that we are inspecting.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"></span> <span class="keyword">const</span> <span class="keywordtype">void</span> <span class="comment">/*RopePieceBTreeLeaf*/</span> *CurNode;<span class="comment"></span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> /// CurPiece - The current RopePiece in the B+Tree node that we're</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /// inspecting.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> *CurPiece;<span class="comment"></span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> /// CurChar - The current byte in the RopePiece we are pointing to.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> CurChar;</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"> 121</span> <span class="comment">// begin iterator.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a23ea1fe4a93c8ea9745ea43bede698b9">RopePieceBTreeIterator</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> <span class="comment">/*RopePieceBTreeNode*/</span> *N);</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// end iterator</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a23ea1fe4a93c8ea9745ea43bede698b9"> 124</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a23ea1fe4a93c8ea9745ea43bede698b9">RopePieceBTreeIterator</a>() : CurNode(0), CurPiece(0), CurChar(0) {}</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#ab2c4bd3e39b3961b96e711d519c8794a"> 126</a></span> <span class="keywordtype">char</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#ab2c4bd3e39b3961b96e711d519c8794a">operator*</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">return</span> (*CurPiece)[CurChar];</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#af157bfbb0253b665515f6d6d1d0480a9"> 130</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#af157bfbb0253b665515f6d6d1d0480a9">operator==</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> &RHS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">return</span> CurPiece == RHS.CurPiece && CurChar == RHS.CurChar;</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> }</div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a5f3be45f0533d7d6f8a374dad0edf294"> 133</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a5f3be45f0533d7d6f8a374dad0edf294">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> &RHS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1RopePieceBTreeIterator.html#af157bfbb0253b665515f6d6d1d0480a9">operator==</a>(RHS);</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> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#aae3963081ce2dccac30dae9da4f3ef5b"> 137</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a>& <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#aae3963081ce2dccac30dae9da4f3ef5b">operator++</a>() { <span class="comment">// Preincrement</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">if</span> (CurChar+1 < CurPiece-><a class="code" href="structclang_1_1RopePiece.html#a4c1e281109cdf982c86e316fb35a158f">size</a>())</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> ++CurChar;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> MoveToNextPiece();</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a5e9e1aa9b71362f52fbeecd8f460dd7f"> 144</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html#a5e9e1aa9b71362f52fbeecd8f460dd7f">operator++</a>(<span class="keywordtype">int</span>) { <span class="comment">// Postincrement</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> tmp = *<span class="keyword">this</span>; ++*<span class="keyword">this</span>; <span class="keywordflow">return</span> tmp;</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">void</span> MoveToNextPiece();</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> </div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">// RopePieceBTree Class</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html"> 155</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> {</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">void</span> <span class="comment">/*RopePieceBTreeNode*/</span> *Root;</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37">RopePieceBTree</a>();</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <a class="code" href="classclang_1_1RopePieceBTree.html#af5caafb7c23b15c545200cd3839f4b37">RopePieceBTree</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> &RHS);</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a2d57e33c075c95f38ebe02b23cd34aa7">~RopePieceBTree</a>();</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a80d7b75a1016f74987c4830d84287e61"> 163</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTreeIterator</a> <a class="code" href="classclang_1_1RopePieceBTree.html#a80d7b75a1016f74987c4830d84287e61">iterator</a>;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#afb3df35f56905c8818ec9bdf729d43cc"> 164</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RopePieceBTree.html#afb3df35f56905c8818ec9bdf729d43cc">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a80d7b75a1016f74987c4830d84287e61">iterator</a>(Root); }</div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#ad364014d940bbbf51653d7082ff598df"> 165</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RopePieceBTree.html#ad364014d940bbbf51653d7082ff598df">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a80d7b75a1016f74987c4830d84287e61">iterator</a>(); }</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b">size</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="code" href="classclang_1_1RopePieceBTree.html#a4713952d84c3ece3e23191953e78670a"> 167</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a4713952d84c3ece3e23191953e78670a">empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b">size</a>() == 0; }</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> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#ad2b31f7577575db9116286aa7eb9eb88">clear</a>();</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">insert</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> &R);</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> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RopePieceBTree.html#a84b450bb9da39cb7e9a32b070be6e086">erase</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keywordtype">unsigned</span> NumBytes);</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> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">// RewriteRope Class</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"></span></div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/// RewriteRope - A powerful string class. This class supports extremely</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/// efficient insertions and deletions into the middle of it, even for</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/// ridiculously long strings.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html"> 183</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1RewriteRope.html">RewriteRope</a> {</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <a class="code" href="classclang_1_1RopePieceBTree.html">RopePieceBTree</a> Chunks;</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"></span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> /// We allocate space for string data out of a buffer of size AllocChunkSize.</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> /// This keeps track of how much space is left.</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"></span> <a class="code" href="structclang_1_1RopeRefCountString.html">RopeRefCountString</a> *AllocBuffer;</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">unsigned</span> AllocOffs;</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">enum</span> { AllocChunkSize = 4080 };</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> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00193"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a870a3b45a56c6b8f78f95a87803015f2"> 193</a></span> <a class="code" href="classclang_1_1RewriteRope.html#a870a3b45a56c6b8f78f95a87803015f2">RewriteRope</a>() : AllocBuffer(0), AllocOffs(AllocChunkSize) {}</div>
+<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a55b10c882669fec91404b2be8c82fe63"> 194</a></span> <a class="code" href="classclang_1_1RewriteRope.html#a870a3b45a56c6b8f78f95a87803015f2">RewriteRope</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RewriteRope.html">RewriteRope</a> &RHS)</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> : Chunks(RHS.Chunks), AllocBuffer(0), AllocOffs(AllocChunkSize) {</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a5a13e09e8e5c672df51f68174328585e"> 198</a></span> <a class="code" href="classclang_1_1RewriteRope.html#a5a13e09e8e5c672df51f68174328585e">~RewriteRope</a>() {</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">// If we had an allocation buffer, drop our reference to it.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> (AllocBuffer)</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> AllocBuffer-><a class="code" href="structclang_1_1RopeRefCountString.html#a8647cd6eaf0512d42a1fbce6b2e406c6">dropRef</a>();</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> </div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#ae13d56c69500be8d3a7b24d3c1bb7962"> 204</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTree::iterator</a> <a class="code" href="classclang_1_1RewriteRope.html#ae13d56c69500be8d3a7b24d3c1bb7962">iterator</a>;</div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a358dfecdaa039e0e3e0e2e0ac9944a4d"> 205</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RopePieceBTree::iterator</a> <a class="code" href="classclang_1_1RewriteRope.html#a358dfecdaa039e0e3e0e2e0ac9944a4d">const_iterator</a>;</div>
+<div class="line"><a name="l00206"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#aad8bd9ca4de176867327c6aa76cb0b41"> 206</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RewriteRope.html#aad8bd9ca4de176867327c6aa76cb0b41">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#afb3df35f56905c8818ec9bdf729d43cc">begin</a>(); }</div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a27b55fba74630e22e3b7cde770795d8f"> 207</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RewriteRope.html#a27b55fba74630e22e3b7cde770795d8f">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#ad364014d940bbbf51653d7082ff598df">end</a>(); }</div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31"> 208</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#a2004f48ddd30ccc5d16a8db2761a0c0b">size</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"><a class="code" href="classclang_1_1RewriteRope.html#a8c2ea1c677ebdfc47c14c0fae26f399f"> 210</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteRope.html#a8c2ea1c677ebdfc47c14c0fae26f399f">clear</a>() {</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#ad2b31f7577575db9116286aa7eb9eb88">clear</a>();</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a848c03f869acfc41696c1de2f2c44039"> 214</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteRope.html#a848c03f869acfc41696c1de2f2c44039">assign</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="l00215"></a><span class="lineno"> 215</span> <a class="code" href="classclang_1_1RewriteRope.html#a8c2ea1c677ebdfc47c14c0fae26f399f">clear</a>();</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span> (Start != End)</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">insert</a>(0, MakeRopeString(Start, End));</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> </div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a8aff4199a6a26d3d53cf78fdf7f61546"> 220</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteRope.html#a8aff4199a6a26d3d53cf78fdf7f61546">insert</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</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="l00221"></a><span class="lineno"> 221</span> assert(Offset <= <a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>() && <span class="stringliteral">"Invalid position to insert!"</span>);</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span> (Start == End) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#a7df64d1d1750e8b24349731c8bd5d8a3">insert</a>(Offset, MakeRopeString(Start, End));</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292"> 226</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292">erase</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> assert(Offset+NumBytes <= <a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>() && <span class="stringliteral">"Invalid region to erase!"</span>);</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span> (NumBytes == 0) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> Chunks.<a class="code" href="classclang_1_1RopePieceBTree.html#a84b450bb9da39cb7e9a32b070be6e086">erase</a>(Offset, NumBytes);</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <a class="code" href="structclang_1_1RopePiece.html">RopePiece</a> MakeRopeString(<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="l00234"></a><span class="lineno"> 234</span> };</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> } <span class="comment">// end namespace clang</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="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteTest_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,118 @@
+<!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: RewriteTest.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">RewriteTest.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteTest_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">//===--- RewriteTest.cpp - Rewriter playground ----------------------------===//</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 is a testbed.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="Rewrite_2Frontend_2Rewriters_8h.html">clang/Rewrite/Frontend/Rewriters.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="TokenRewriter_8h.html">clang/Rewrite/Core/TokenRewriter.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</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"><a class="code" href="namespaceclang.html#a31dc2e4deaf4aac70555b53c40428995"> 19</a></span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#a31dc2e4deaf4aac70555b53c40428995" title="DoRewriteTest - A simple test for the TokenRewriter class.">clang::DoRewriteTest</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP, raw_ostream* OS) {</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a> = PP.<a class="code" href="classclang_1_1Preprocessor.html#afca276c0a87d413e51e8848edf8f911b">getSourceManager</a>();</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</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> &LangOpts = PP.<a class="code" href="classclang_1_1Preprocessor.html#a0c1874f57abd66b9fa0d282e6cab5cd6">getLangOpts</a>();</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <a class="code" href="classclang_1_1TokenRewriter.html">TokenRewriter</a> <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>(SM.<a class="code" href="classclang_1_1SourceManager.html#ad3ac47ab7380c82d19243a2db765479c" title="Returns the FileID of the main source file.">getMainFileID</a>(), <a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>, LangOpts);</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// Throw <i> </i> tags around comments.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1TokenRewriter.html#a0b46b6b4a2e38c3635962c1eaafa18d7">TokenRewriter::token_iterator</a> I = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.token_begin(),</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> E = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.token_end(); I != E; ++I) {</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keywordflow">if</span> (I->isNot(tok::comment)) <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.AddTokenBefore(I, <span class="stringliteral">"<i>"</span>);</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.AddTokenAfter(I, <span class="stringliteral">"</i>"</span>);</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> }</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// Print out the output.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1TokenRewriter.html#a0b46b6b4a2e38c3635962c1eaafa18d7">TokenRewriter::token_iterator</a> I = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.token_begin(),</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> E = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.token_end(); I != E; ++I)</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> *OS << PP.<a class="code" href="classclang_1_1Preprocessor.html#a000147976c13c269dd82ef645fa3fe35">getSpelling</a>(*I);</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/RewriteTest_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/RewriteTest_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,325 @@
+<!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: RewriteTest.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_bacd97c81f21ffbc7c5c7e20967dca49.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">RewriteTest.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="RewriteTest_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/Rewrite/Frontend/Release+Asserts/<a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a153bd49478d419c624847bcc17dd7d43" title="Rewriter playground.">RewriteTest</a>.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/Release+Asserts/<a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a153bd49478d419c624847bcc17dd7d43" title="Rewriter playground.">RewriteTest</a>.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> RewriteTest.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/Rewriters.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.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/Support/TimeValue.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/TokenRewriter.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/Rewriters.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LLVM.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> /home/tstellar/llvm/include/llvm/Support/Casting.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> /home/tstellar/llvm/include/llvm/Support/type_traits.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/include/llvm/Support/DataTypes.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/ADT/None.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def:</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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.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/IntrusiveRefCntPtr.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/Compiler.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/Config/llvm-config.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/ADT/StringRef.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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def:</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/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.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/include/llvm/Support/PointerLikeTypeTraits.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/include/llvm/ADT/ArrayRef.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/include/llvm/ADT/SmallVector.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/AlignOf.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/MathExtras.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/SwapByteOrder.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/DenseMap.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/DenseMapInfo.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.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/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def:</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/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def:</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/ADT/SmallString.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/ADT/StringMap.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/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.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/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.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/ADT/Optional.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/ADT/Triple.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/Twine.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.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/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="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/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="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/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def:</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/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def:</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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/Rewrite/Frontend/../../../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="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/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.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/Rewrite/Frontend/../../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.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/SetVector.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/SmallSet.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/SmallPtrSet.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/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.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/Rewrite/Frontend/../../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.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/include/llvm/ADT/OwningPtr.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/include/llvm/Support/FileSystem.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/include/llvm/Support/TimeValue.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/include/llvm/Support/system_error.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/include/llvm/Support/MemoryBuffer.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/Support/CBindingWrapping.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/include/llvm-c/Core.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.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/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/TokenRewriter.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/Support/raw_ostream.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/Rewrite_2Frontend_2ASTConsumers_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2ASTConsumers_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2ASTConsumers_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2ASTConsumers_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,128 @@
+<!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: ASTConsumers.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_e74af7481ee354279e73415b7023815d.html">Frontend</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Rewrite/Frontend/ASTConsumers.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2ASTConsumers_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">//===--- ASTConsumers.h - ASTConsumer implementations -----------*- 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">// AST Consumers.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#ifndef REWRITE_ASTCONSUMERS_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor"></span><span class="preprocessor">#define REWRITE_ASTCONSUMERS_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">namespace </span>clang {</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">class </span>ASTConsumer;</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">class </span>DiagnosticsEngine;</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">class </span>LangOptions;</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">class </span>Preprocessor;</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// ObjC rewriter: attempts to rewrite ObjC constructs into pure C code.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">// This is considered experimental, and only works with Apple's ObjC runtime.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> ASTConsumer *<a class="code" href="namespaceclang.html#ac3c383e2e16e8a8bcd64007af1d05a98">CreateObjCRewriter</a>(<span class="keyword">const</span> std::string &InFile,</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> raw_ostream *OS,</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> DiagnosticsEngine &Diags,</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">const</span> LangOptions &LOpts,</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">bool</span> SilenceRewriteMacroWarning);</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> ASTConsumer *<a class="code" href="namespaceclang.html#a5fef6571824774aec6d05eda188628ea">CreateModernObjCRewriter</a>(<span class="keyword">const</span> std::string &InFile,</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> raw_ostream *OS,</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> DiagnosticsEngine &Diags,</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">const</span> LangOptions &LOpts,</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">bool</span> SilenceRewriteMacroWarning,</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">bool</span> LineInfo);</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"></span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/// CreateHTMLPrinter - Create an AST consumer which rewrites source code to</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/// HTML with syntax highlighting suitable for viewing in a web-browser.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"></span>ASTConsumer *<a class="code" href="namespaceclang.html#a9ea6dea316238476300e8c4451c72047">CreateHTMLPrinter</a>(raw_ostream *OS, Preprocessor &PP,</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1html.html#a28154ac13d21b98ad724f95172359b24">SyntaxHighlight</a> = <span class="keyword">true</span>,</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1html.html#a3283736376c3e436ff65975acdb1d399">HighlightMacros</a> = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> } <span class="comment">// end clang namespace</span></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="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:12 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/Rewrite_2Frontend_2FrontendActions_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,271 @@
+<!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: FrontendActions.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Rewrite/Frontend/FrontendActions.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2FrontendActions_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">//===--- FrontendActions.cpp ----------------------------------------------===//</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> </div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include "<a class="code" href="Rewrite_2Frontend_2FrontendActions_8h.html">clang/Rewrite/Frontend/FrontendActions.h</a>"</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "<a class="code" href="ASTConsumer_8h.html">clang/AST/ASTConsumer.h</a>"</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "<a class="code" href="FileManager_8h.html" title="Defines the clang::FileManager interface and associated types.">clang/Basic/FileManager.h</a>"</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="CompilerInstance_8h.html">clang/Frontend/CompilerInstance.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="Frontend_2FrontendActions_8h.html">clang/Frontend/FrontendActions.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="FrontendDiagnostic_8h.html">clang/Frontend/FrontendDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="Utils_8h.html">clang/Frontend/Utils.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="Parse_2Parser_8h.html">clang/Parse/Parser.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="Rewrite_2Frontend_2ASTConsumers_8h.html">clang/Rewrite/Frontend/ASTConsumers.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="FixItRewriter_8h.html">clang/Rewrite/Frontend/FixItRewriter.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="Rewrite_2Frontend_2Rewriters_8h.html">clang/Rewrite/Frontend/Rewriters.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> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// AST Consumer Actions</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> </div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="classclang_1_1HTMLPrintAction.html#a71e0805ffc3c3adca487e9294d67ed6d"> 33</a></span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1HTMLPrintAction.html#a71e0805ffc3c3adca487e9294d67ed6d" title="Create the AST consumer object for this action, if supported.">HTMLPrintAction::CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> StringRef InFile) {</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">if</span> (raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">false</span>, InFile))</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a9ea6dea316238476300e8c4451c72047">CreateHTMLPrinter</a>(OS, CI.<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>());</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> }</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a7eeb75f6330167c60f6446d8b04ffb08"> 40</a></span> <a class="code" href="classclang_1_1FixItAction.html#a7eeb75f6330167c60f6446d8b04ffb08">FixItAction::FixItAction</a>() {}</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a05112e21a4a71e8f157efb96bd675b94"> 41</a></span> <a class="code" href="classclang_1_1FixItAction.html#a05112e21a4a71e8f157efb96bd675b94">FixItAction::~FixItAction</a>() {}</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a62a5f2a119343fc8771359afaf0a2a95"> 43</a></span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1FixItAction.html#a62a5f2a119343fc8771359afaf0a2a95" title="Create the AST consumer object for this action, if supported.">FixItAction::CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> StringRef InFile) {</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a>();</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">namespace </span>{</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">class </span>FixItRewriteInPlace : <span class="keyword">public</span> <a class="code" href="classclang_1_1FixItOptions.html">FixItOptions</a> {</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> std::string RewriteFilename(<span class="keyword">const</span> std::string &Filename, <span class="keywordtype">int</span> &fd) {</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> fd = -1;</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> Filename;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> };</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">class </span>FixItActionSuffixInserter : <span class="keyword">public</span> <a class="code" href="classclang_1_1FixItOptions.html">FixItOptions</a> {</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> std::string NewSuffix;</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> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> FixItActionSuffixInserter(std::string NewSuffix, <span class="keywordtype">bool</span> FixWhatYouCan)</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> : NewSuffix(NewSuffix) {</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> this->FixWhatYouCan = FixWhatYouCan;</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> std::string RewriteFilename(<span class="keyword">const</span> std::string &Filename, <span class="keywordtype">int</span> &fd) {</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> fd = -1;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> Path(Filename);</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> llvm::sys::path::replace_extension(Path,</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> NewSuffix + llvm::sys::path::extension(Path));</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> Path.str();</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> </div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">class </span>FixItRewriteToTemp : <span class="keyword">public</span> <a class="code" href="classclang_1_1FixItOptions.html">FixItOptions</a> {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> std::string RewriteFilename(<span class="keyword">const</span> std::string &Filename, <span class="keywordtype">int</span> &fd) {</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> Path;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> llvm::sys::fs::createTemporaryFile(llvm::sys::path::filename(Filename),</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> llvm::sys::path::extension(Filename), fd,</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> Path);</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">return</span> Path.str();</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"> 85</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a09952380a46cf6a7002700865e6ff821"> 87</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItAction.html#a09952380a46cf6a7002700865e6ff821" title="Callback at the start of processing a single input.">FixItAction::BeginSourceFileAction</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> StringRef Filename) {</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendOptions.html" title="FrontendOptions - Options for controlling the behavior of the frontend.">FrontendOptions</a> &FEOpts = <a class="code" href="classclang_1_1FrontendAction.html#a023fec1b6c32f5a8cc913fc30ae7844e">getCompilerInstance</a>().<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>();</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">if</span> (!FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a989c7ac9b0e522365f41e6e1e48d6d96" title="If given, the new suffix for fix-it rewritten files.">FixItSuffix</a>.empty()) {</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>.reset(<span class="keyword">new</span> FixItActionSuffixInserter(FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a989c7ac9b0e522365f41e6e1e48d6d96" title="If given, the new suffix for fix-it rewritten files.">FixItSuffix</a>,</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#abf8ce49690645f7154bb63125c33925c">FixWhatYouCan</a>));</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>.reset(<span class="keyword">new</span> FixItRewriteInPlace);</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>->FixWhatYouCan = FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#abf8ce49690645f7154bb63125c33925c">FixWhatYouCan</a>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> }</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1FixItRewriter.html">FixItRewriter</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), CI.<a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>(),</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(), <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>.get()));</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a768f42f2350b0c1275e69cc96f4a2e32"> 102</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1FixItAction.html#a768f42f2350b0c1275e69cc96f4a2e32" title="Callback at the end of processing a single input.">FixItAction::EndSourceFileAction</a>() {</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// Otherwise rewrite all files.</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>->WriteFixedFiles();</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="classclang_1_1FixItRecompile.html#ad8b1897921d72c3f208fea501f1fadd3"> 107</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItRecompile.html#ad8b1897921d72c3f208fea501f1fadd3" title="Callback before starting processing a single input, giving the opportunity to modify the CompilerInvo...">FixItRecompile::BeginInvocation</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI) {</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> std::vector<std::pair<std::string, std::string> > RewrittenFiles;</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">bool</span> err = <span class="keyword">false</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> <span class="keyword">const</span> <a class="code" href="classclang_1_1FrontendOptions.html" title="FrontendOptions - Options for controlling the behavior of the frontend.">FrontendOptions</a> &FEOpts = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a422eaf55a6d7121462459a96f23c2ccd">getFrontendOpts</a>();</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<FrontendAction></a> FixAction(<span class="keyword">new</span> <a class="code" href="classclang_1_1SyntaxOnlyAction.html">SyntaxOnlyAction</a>());</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span> (FixAction->BeginSourceFile(CI, FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a95a3f648ae866e50b78434e049d87218" title="The input files and their types.">Inputs</a>[0])) {</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<FixItOptions></a> FixItOpts;</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a53835c4307d3ba5be03d5eea51bc6602" title="Apply fixes to temporary files.">FixToTemporaries</a>)</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> FixItOpts.reset(<span class="keyword">new</span> FixItRewriteToTemp());</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> FixItOpts.reset(<span class="keyword">new</span> FixItRewriteInPlace());</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> FixItOpts->Silent = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> FixItOpts->FixWhatYouCan = FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#abf8ce49690645f7154bb63125c33925c">FixWhatYouCan</a>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> FixItOpts->FixOnlyWarnings = FEOpts.<a class="code" href="classclang_1_1FrontendOptions.html#a7550122c0b8b4537b74c9b7ffbef0396" title="Apply fixes only for warnings.">FixOnlyWarnings</a>;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <a class="code" href="classclang_1_1FixItRewriter.html">FixItRewriter</a> <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), CI.<a class="code" href="classclang_1_1CompilerInstance.html#abf40d415ec33174b74655a2f14dda0c2" title="Return the current source manager.">getSourceManager</a>(),</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(), FixItOpts.get());</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> FixAction->Execute();</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> err = <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>.WriteFixedFiles(&RewrittenFiles);</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> FixAction->EndSourceFile();</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#a08d4c3c5277d0a97f2ae6e87ea7f6d68" title="setSourceManager - Replace the current source manager.">setSourceManager</a>(0);</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#a00535f0955b58840431fd633f856cdc4" title="setFileManager - Replace the current file manager.">setFileManager</a>(0);</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> err = <span class="keyword">true</span>;</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> }</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (err)</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#abc5c9a3f1747d0c8f76c0238569b972d">getDiagnosticClient</a>().<a class="code" href="classclang_1_1DiagnosticConsumer.html#a30bce2dd5e959ad7f6b31317ef84949e">clear</a>();</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>().<a class="code" href="classclang_1_1DiagnosticsEngine.html#a0e230f0a2fffbc40b97a9971e6b3939f" title="Reset the state of the diagnostic object to its initial configuration.">Reset</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> <a class="code" href="classclang_1_1PreprocessorOptions.html">PreprocessorOptions</a> &PPOpts = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a44f5c8763eb8a46ac41b13e2a56fde24">getPreprocessorOpts</a>();</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a11b97305b8df1f4e76020ff6af11acbc" title="The set of file remappings, which take existing files on the system (the first part of each pair) and...">RemappedFiles</a>.insert(PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a11b97305b8df1f4e76020ff6af11acbc" title="The set of file remappings, which take existing files on the system (the first part of each pair) and...">RemappedFiles</a>.end(),</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> RewrittenFiles.begin(), RewrittenFiles.end());</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> PPOpts.<a class="code" href="classclang_1_1PreprocessorOptions.html#a30f576ae311b7fd39a265a41ab6ab09c" title="True if the SourceManager should report the original file name for contents of files that were remapp...">RemappedFilesKeepOriginalName</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">// Preprocessor Actions</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteObjCAction.html#a628b3924c53aa8cbc221ea02f1fe4fee"> 153</a></span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1RewriteObjCAction.html#a628b3924c53aa8cbc221ea02f1fe4fee" title="Create the AST consumer object for this action, if supported.">RewriteObjCAction::CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> StringRef InFile) {</div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">false</span>, InFile, <span class="stringliteral">"cpp"</span>)) {</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> (CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>().<a class="code" href="classclang_1_1LangOptions.html#a34a8b84f730051971c84c36daa84dda7">ObjCRuntime</a>.<a class="code" href="classclang_1_1ObjCRuntime.html#a5523ca4491b7915e32c02d98a491505e" title="Does this runtime follow the set of implied behaviors for a "non-fragile" ABI?">isNonFragile</a>())</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#a5fef6571824774aec6d05eda188628ea">CreateModernObjCRewriter</a>(InFile, OS,</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(),</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#acb8b8d148ca4ece4ce11f6e1f038704b">getDiagnosticOpts</a>().NoRewriteMacros,</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> (CI.<a class="code" href="classclang_1_1CompilerInstance.html#a06174bfe2d28784f7b092e9b74bc3583">getCodeGenOpts</a>().getDebugInfo() !=</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <a class="code" href="classclang_1_1CodeGenOptions.html#ab49a2a2a0a68577a07a9c0b730fb3cf6a92d75b29d3c936f01974b7b291b59fad">CodeGenOptions::NoDebugInfo</a>));</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#ac3c383e2e16e8a8bcd64007af1d05a98">CreateObjCRewriter</a>(InFile, OS,</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#af32d0eab634683f5a7b7b8a9c23cec1e" title="Get the current diagnostics engine.">getDiagnostics</a>(), CI.<a class="code" href="classclang_1_1CompilerInstance.html#ac9b612115b0b8bcef7e53fd8078ccecb">getLangOpts</a>(),</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#acb8b8d148ca4ece4ce11f6e1f038704b">getDiagnosticOpts</a>().NoRewriteMacros);</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="keywordflow">return</span> 0;</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"><a class="code" href="classclang_1_1RewriteMacrosAction.html#a91e79c1642c8946c6c3fcaa7cea80d6b"> 169</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteMacrosAction.html#a91e79c1642c8946c6c3fcaa7cea80d6b" title="Callback to run the program action, using the initialized compiler instance.">RewriteMacrosAction::ExecuteAction</a>() {</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI = <a class="code" href="classclang_1_1FrontendAction.html#a023fec1b6c32f5a8cc913fc30ae7844e">getCompilerInstance</a>();</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">true</span>, <a class="code" href="classclang_1_1FrontendAction.html#a158b2451eb14907f78c272dde7babe09">getCurrentFile</a>());</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> (!OS) <span class="keywordflow">return</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> <a class="code" href="namespaceclang.html#ae38a4844c6e874aa9dccd9725d991a1f" title="RewriteMacrosInInput - Implement -rewrite-macros mode.">RewriteMacrosInInput</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), OS);</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"><a class="code" href="classclang_1_1RewriteTestAction.html#a806367e34356d95fd370efdc8f088e09"> 177</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteTestAction.html#a806367e34356d95fd370efdc8f088e09" title="Callback to run the program action, using the initialized compiler instance.">RewriteTestAction::ExecuteAction</a>() {</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI = <a class="code" href="classclang_1_1FrontendAction.html#a023fec1b6c32f5a8cc913fc30ae7844e">getCompilerInstance</a>();</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">false</span>, <a class="code" href="classclang_1_1FrontendAction.html#a158b2451eb14907f78c272dde7babe09">getCurrentFile</a>());</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (!OS) <span class="keywordflow">return</span>;</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> <a class="code" href="namespaceclang.html#a31dc2e4deaf4aac70555b53c40428995" title="DoRewriteTest - A simple test for the TokenRewriter class.">DoRewriteTest</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), OS);</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_1RewriteIncludesAction.html#a9a0974e5032f2738536527ea4d5bc346"> 185</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteIncludesAction.html#a9a0974e5032f2738536527ea4d5bc346" title="Callback to run the program action, using the initialized compiler instance.">RewriteIncludesAction::ExecuteAction</a>() {</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI = <a class="code" href="classclang_1_1FrontendAction.html#a023fec1b6c32f5a8cc913fc30ae7844e">getCompilerInstance</a>();</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> raw_ostream *OS = CI.<a class="code" href="classclang_1_1CompilerInstance.html#a535ef040ac418827964c9cc51da07cb9">createDefaultOutputFile</a>(<span class="keyword">true</span>, <a class="code" href="classclang_1_1FrontendAction.html#a158b2451eb14907f78c272dde7babe09">getCurrentFile</a>());</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</span> (!OS) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <a class="code" href="namespaceclang.html#acf0e4862883729dd0295ca9b62f568da" title="RewriteIncludesInInput - Implement -frewrite-includes mode.">RewriteIncludesInInput</a>(CI.<a class="code" href="classclang_1_1CompilerInstance.html#aaf2cc0754c4058a1eb80f973472d694a" title="Return the current preprocessor.">getPreprocessor</a>(), OS,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> CI.<a class="code" href="classclang_1_1CompilerInstance.html#ad37f8efd6888104972ff208ecb31b03d">getPreprocessorOutputOpts</a>());</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</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/Rewrite_2Frontend_2FrontendActions_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2FrontendActions_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,162 @@
+<!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: FrontendActions.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_e74af7481ee354279e73415b7023815d.html">Frontend</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Rewrite/Frontend/FrontendActions.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2FrontendActions_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">//===-- FrontendActions.h - Useful Frontend Actions -------------*- 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> </div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#ifndef LLVM_CLANG_REWRITE_FRONTENDACTIONS_H</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_REWRITE_FRONTENDACTIONS_H</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="FrontendAction_8h.html" title="Defines the clang::FrontendAction interface and various convenience abstract classes (clang::ASTFront...">clang/Frontend/FrontendAction.h</a>"</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="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="keyword">class </span>FixItRewriter;</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">class </span>FixItOptions;</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="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// AST Consumer Actions</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="classclang_1_1HTMLPrintAction.html"> 23</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1HTMLPrintAction.html">HTMLPrintAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ASTFrontendAction.html" title="Abstract base class to use for AST consumer-based frontend actions.">ASTFrontendAction</a> {</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1HTMLPrintAction.html#a71e0805ffc3c3adca487e9294d67ed6d" title="Create the AST consumer object for this action, if supported.">CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> StringRef InFile);</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> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html"> 29</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1FixItAction.html">FixItAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ASTFrontendAction.html" title="Abstract base class to use for AST consumer-based frontend actions.">ASTFrontendAction</a> {</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a738daf9c0799c6cca1ffcee6a03849d7"> 31</a></span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<FixItRewriter></a> <a class="code" href="classclang_1_1FixItAction.html#a738daf9c0799c6cca1ffcee6a03849d7">Rewriter</a>;</div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d"> 32</a></span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<FixItOptions></a> <a class="code" href="classclang_1_1FixItAction.html#a2812a5eb162c5eac7899a8143431ff6d">FixItOpts</a>;</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">virtual</span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1FixItAction.html#a62a5f2a119343fc8771359afaf0a2a95" title="Create the AST consumer object for this action, if supported.">CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> StringRef InFile);</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItAction.html#a09952380a46cf6a7002700865e6ff821" title="Callback at the start of processing a single input.">BeginSourceFileAction</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> StringRef Filename);</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1FixItAction.html#a768f42f2350b0c1275e69cc96f4a2e32" title="Callback at the end of processing a single input.">EndSourceFileAction</a>();</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="classclang_1_1FixItAction.html#abcaf228b7781ea89a79dea364a20e4dc"> 42</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItAction.html#abcaf228b7781ea89a79dea364a20e4dc" title="Does this action support use with AST files?">hasASTFileSupport</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <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="keyword">public</span>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <a class="code" href="classclang_1_1FixItAction.html#a7eeb75f6330167c60f6446d8b04ffb08">FixItAction</a>();</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <a class="code" href="classclang_1_1FixItAction.html#a05112e21a4a71e8f157efb96bd675b94">~FixItAction</a>();</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> };</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/// \brief Emits changes to temporary files and uses them for the original</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/// frontend action.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="classclang_1_1FixItRecompile.html"> 51</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1FixItRecompile.html" title="Emits changes to temporary files and uses them for the original frontend action.">FixItRecompile</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1WrapperFrontendAction.html" title="A frontend action which simply wraps some other runtime-specified frontend action.">WrapperFrontendAction</a> {</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="classclang_1_1FixItRecompile.html#aa63cd5ece3d150b22bde504bd04c0d13"> 53</a></span> <a class="code" href="classclang_1_1FixItRecompile.html#aa63cd5ece3d150b22bde504bd04c0d13">FixItRecompile</a>(<a class="code" href="classclang_1_1FrontendAction.html" title="Abstract base class for actions which can be performed by the frontend.">FrontendAction</a> *WrappedAction)</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> : <a class="code" href="classclang_1_1WrapperFrontendAction.html" title="A frontend action which simply wraps some other runtime-specified frontend action.">WrapperFrontendAction</a>(WrappedAction) {}</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItRecompile.html#ad8b1897921d72c3f208fea501f1fadd3" title="Callback before starting processing a single input, giving the opportunity to modify the CompilerInvo...">BeginInvocation</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI);</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"><a class="code" href="classclang_1_1RewriteObjCAction.html"> 60</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RewriteObjCAction.html">RewriteObjCAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ASTFrontendAction.html" title="Abstract base class to use for AST consumer-based frontend actions.">ASTFrontendAction</a> {</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ASTConsumer.html">ASTConsumer</a> *<a class="code" href="classclang_1_1RewriteObjCAction.html#a628b3924c53aa8cbc221ea02f1fe4fee" title="Create the AST consumer object for this action, if supported.">CreateASTConsumer</a>(<a class="code" href="classclang_1_1CompilerInstance.html">CompilerInstance</a> &CI,</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> StringRef InFile);</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"><a class="code" href="classclang_1_1RewriteMacrosAction.html"> 66</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RewriteMacrosAction.html">RewriteMacrosAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PreprocessorFrontendAction.html" title="Abstract base class to use for preprocessor-based frontend actions.">PreprocessorFrontendAction</a> {</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteMacrosAction.html#a91e79c1642c8946c6c3fcaa7cea80d6b" title="Callback to run the program action, using the initialized compiler instance.">ExecuteAction</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"><a class="code" href="classclang_1_1RewriteTestAction.html"> 71</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RewriteTestAction.html">RewriteTestAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PreprocessorFrontendAction.html" title="Abstract base class to use for preprocessor-based frontend actions.">PreprocessorFrontendAction</a> {</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteTestAction.html#a806367e34356d95fd370efdc8f088e09" title="Callback to run the program action, using the initialized compiler instance.">ExecuteAction</a>();</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"><a class="code" href="classclang_1_1RewriteIncludesAction.html"> 76</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1RewriteIncludesAction.html">RewriteIncludesAction</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PreprocessorFrontendAction.html" title="Abstract base class to use for preprocessor-based frontend actions.">PreprocessorFrontendAction</a> {</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteIncludesAction.html#a9a0974e5032f2738536527ea4d5bc346" title="Callback to run the program action, using the initialized compiler instance.">ExecuteAction</a>();</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> };</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> } <span class="comment">// end namespace clang</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> <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/Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,661 @@
+<!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: FrontendActions.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_7f1af8a40c60c7cc6523f442e07a3533.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_bacd97c81f21ffbc7c5c7e20967dca49.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Rewrite/Frontend/Release+Asserts/FrontendActions.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2Release_09Asserts_2FrontendActions_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/Rewrite/Frontend/Release+Asserts/FrontendActions.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/Release+Asserts/FrontendActions.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> FrontendActions.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/FrontendActions.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendAction.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTConsumer.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CompilerInstance.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CompilerInvocation.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CodeGenOptions.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CodeGenOptions.def \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/DependencyOutputOptions.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/LangStandard.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/LangStandards.def \</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/MigratorOptions.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/PreprocessorOutputOptions.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearchOptions.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorOptions.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def \</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendActions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendDiagnostic.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticFrontendKinds.inc \</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/Utils.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Parse/Parser.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.def \</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorPrecedence.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/CodeCompletionHandler.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/DeclSpec.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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="l00120"></a><span class="lineno"> 120</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AttributeList.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/Ownership.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AttrParsedAttrList.inc \</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/Sema.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/MangleNumberingContext.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/NSAPI.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AnalysisBasedWarnings.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/ExternalSemaSource.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/TypoCorrection.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/Weak.h \</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/IdentifierResolver.h \</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/LocInfoType.h \</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/ObjCMethodList.h \</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/ScopeInfo.h \</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h \</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h \</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h \</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> /home/tstellar/llvm/include/llvm/Support/SMLoc.h \</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h \</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/ASTConsumers.h \</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/FixItRewriter.h \</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Edit/EditedSource.h \</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Edit/FileOffset.h \</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/Rewriter.h \</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/DeltaTree.h \</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/RewriteRope.h \</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/Rewriters.h \</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> /home/tstellar/llvm/include/llvm/Support/Path.h</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/FrontendActions.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/Rewrite/Frontend/../../../include/clang/Frontend/FrontendAction.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/Rewrite/Frontend/../../../include/clang/Basic/LLVM.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/Support/Casting.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/Support/type_traits.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/Support/DataTypes.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> /home/tstellar/llvm/include/llvm/ADT/None.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/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CommentOptions.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/Rewrite/Frontend/../../../include/clang/Basic/ObjCRuntime.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/Rewrite/Frontend/../../../include/clang/Basic/VersionTuple.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/include/llvm/ADT/Optional.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/include/llvm/Support/Compiler.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/include/llvm/Config/llvm-config.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/Support/AlignOf.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/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.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/Support/ErrorHandling.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/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="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/Rewrite/Frontend/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendOptions.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CommandLineSourceLoc.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/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.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/Support/MathExtras.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/SwapByteOrder.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/ADT/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/raw_ostream.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/FileSystem.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/ADT/OwningPtr.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/ADT/SmallString.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/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> /home/tstellar/llvm/include/llvm/Support/system_error.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/Rewrite/Frontend/../../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h:</div>
+<div class="line"><a name="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/Rewrite/Frontend/../../../include/clang/AST/ASTConsumer.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/Rewrite/Frontend/../../../include/clang/Basic/FileManager.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</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/Rewrite/Frontend/../../../include/clang/Frontend/CompilerInstance.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/Rewrite/Frontend/../../../include/clang/Basic/Diagnostic.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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticIDs.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/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.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/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/SourceLocation.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/ADT/ArrayRef.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/Rewrite/Frontend/../../../include/clang/Basic/SourceManager.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/DenseSet.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/PointerIntPair.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/include/llvm/ADT/PointerUnion.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/include/llvm/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.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/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CompilerInvocation.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TargetOptions.h:</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CodeGenOptions.h:</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/CodeGenOptions.def:</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/DependencyOutputOptions.h:</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/LangStandard.h:</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/LangStandards.def:</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/MigratorOptions.h:</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/PreprocessorOutputOptions.h:</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/HeaderSearchOptions.h:</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorOptions.h:</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h:</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def:</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h:</div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendActions.h:</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/FrontendDiagnostic.h:</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/DiagnosticFrontendKinds.inc:</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Frontend/Utils.h:</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h:</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h:</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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="l00391"></a><span class="lineno"> 391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TemplateKinds.h:</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h:</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h:</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h:</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h:</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h:</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h:</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h:</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h:</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Parse/Parser.h:</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.h:</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OpenMPKinds.def:</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/OperatorPrecedence.h:</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/CodeCompletionHandler.h:</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/DeclSpec.h:</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../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="l00429"></a><span class="lineno"> 429</span> </div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AttributeList.h:</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/Ownership.h:</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AttrParsedAttrList.inc:</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/Sema.h:</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attr.h:</div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrKinds.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/AttrList.inc:</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Attrs.inc:</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/Stmt.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CapturedStmt.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/StmtNodes.inc:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TemplateBase.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/CharInfo.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/TypeTraits.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprObjC.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclObjC.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h:</div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/MangleNumberingContext.h:</div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/NSAPI.h:</div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div>
+<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLoc.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
+<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Basic/ExpressionTraits.h:</div>
+<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div>
+<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/AnalysisBasedWarnings.h:</div>
+<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
+<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/ExternalSemaSource.h:</div>
+<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div>
+<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/TypoCorrection.h:</div>
+<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> </div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/DeclCXX.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ASTUnresolvedSet.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
+<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/AST/ExprCXX.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/Weak.h:</div>
+<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
+<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/IdentifierResolver.h:</div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/LocInfoType.h:</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
+<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/ObjCMethodList.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Sema/ScopeInfo.h:</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> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmParser.h:</div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div>
+<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> /home/tstellar/llvm/include/llvm/MC/MCParser/AsmLexer.h:</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> /home/tstellar/llvm/include/llvm/MC/MCParser/MCAsmLexer.h:</div>
+<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
+<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> /home/tstellar/llvm/include/llvm/Support/SMLoc.h:</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> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h:</div>
+<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/ASTConsumers.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/FixItRewriter.h:</div>
+<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Edit/EditedSource.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Edit/FileOffset.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/Rewriter.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/DeltaTree.h:</div>
+<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
+<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Core/RewriteRope.h:</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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Frontend/../../../include/clang/Rewrite/Frontend/Rewriters.h:</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> /home/tstellar/llvm/include/llvm/Support/Path.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/Rewrite_2Frontend_2Rewriters_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Rewriters_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Rewriters_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewrite_2Frontend_2Rewriters_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,114 @@
+<!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: Rewriters.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_e74af7481ee354279e73415b7023815d.html">Frontend</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Rewrite/Frontend/Rewriters.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewrite_2Frontend_2Rewriters_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">//===--- Rewriters.h - Rewriter implementations -------------*- 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 header contains miscellaneous utilities for various front-end actions.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#ifndef LLVM_CLANG_REWRITE_REWRITERS_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_REWRITE_REWRITERS_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">class </span>Preprocessor;</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">class </span>PreprocessorOutputOptions;</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"></span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/// RewriteMacrosInInput - Implement -rewrite-macros mode.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#ae38a4844c6e874aa9dccd9725d991a1f" title="RewriteMacrosInInput - Implement -rewrite-macros mode.">RewriteMacrosInInput</a>(Preprocessor &PP, raw_ostream *OS);</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">/// DoRewriteTest - A simple test for the TokenRewriter class.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#a31dc2e4deaf4aac70555b53c40428995" title="DoRewriteTest - A simple test for the TokenRewriter class.">DoRewriteTest</a>(Preprocessor &PP, raw_ostream *OS);</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"></span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/// RewriteIncludesInInput - Implement -frewrite-includes mode.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#acf0e4862883729dd0295ca9b62f568da" title="RewriteIncludesInInput - Implement -frewrite-includes mode.">RewriteIncludesInInput</a>(Preprocessor &PP, raw_ostream *OS,</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">const</span> PreprocessorOutputOptions &Opts);</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/Rewriter_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,568 @@
+<!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: Rewriter.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_d9da5dd53a88911d10e65b0f7e98b4b1.html">Core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Rewriter.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewriter_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">//===--- Rewriter.cpp - Code rewriting interface --------------------------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This file defines the Rewriter class, which is used for code</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// transformations.</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="Rewriter_8h.html">clang/Rewrite/Core/Rewriter.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="Decl_8h.html">clang/AST/Decl.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="PrettyPrinter_8h.html">clang/AST/PrettyPrinter.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="Stmt_8h.html">clang/AST/Stmt.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="DiagnosticIDs_8h.html" title="Defines the Diagnostic IDs-related interfaces.">clang/Basic/DiagnosticIDs.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="FileManager_8h.html" title="Defines the clang::FileManager interface and associated types.">clang/Basic/FileManager.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="SourceManager_8h.html" title="Defines the SourceManager interface.">clang/Basic/SourceManager.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="Lexer_8h.html">clang/Lex/Lexer.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "llvm/ADT/SmallString.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#ac6173ac696c168df9d6cb3ac197e73a9"> 28</a></span> raw_ostream &<a class="code" href="classclang_1_1RewriteBuffer.html#ac6173ac696c168df9d6cb3ac197e73a9" title="Write to Stream the result of applying all changes to the original buffer. Note that it isn't safe to...">RewriteBuffer::write</a>(raw_ostream &os)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// FIXME: eliminate the copy by writing out each chunk at a time</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> os << std::string(<a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>(), <a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d">end</a>());</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">return</span> os;</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> }</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/// \brief Return true if this character is non-new-line whitespace:</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/// ' ', '\\t', '\\f', '\\v', '\\r'.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="Rewriter_8cpp.html#a9a67bbe624e7e5f8957e59974212750b"> 36</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c) {</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">switch</span> (c) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">case</span> <span class="charliteral">' '</span>:</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">case</span> <span class="charliteral">'\t'</span>:</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">case</span> <span class="charliteral">'\f'</span>:</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">case</span> <span class="charliteral">'\v'</span>:</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">case</span> <span class="charliteral">'\r'</span>:</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">return</span> <span class="keyword">false</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> </div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a08eea0e9e695bc7d1e025b211aebeae9"> 49</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a08eea0e9e695bc7d1e025b211aebeae9" title="RemoveText - Remove the specified text.">RewriteBuffer::RemoveText</a>(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">unsigned</span> Size,</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">bool</span> removeLineIfEmpty) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// Nothing to remove, exit early.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">if</span> (Size == 0) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">unsigned</span> RealOffset = getMappedOffset(OrigOffset, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> assert(RealOffset+Size < Buffer.<a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>() && <span class="stringliteral">"Invalid location"</span>);</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// Remove the dead characters.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292">erase</a>(RealOffset, Size);</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> <span class="comment">// Add a delta so that future changes are offset correctly.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> AddReplaceDelta(OrigOffset, -Size);</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (removeLineIfEmpty) {</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">// Find the line that the remove occurred and if it is completely empty</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">// remove the line as well.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> curLineStart = <a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>();</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">unsigned</span> curLineStartOffs = 0;</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> posI = <a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>();</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != RealOffset; ++i) {</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">if</span> (*posI == <span class="charliteral">'\n'</span>) {</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> curLineStart = posI;</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> ++curLineStart;</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> curLineStartOffs = i + 1;</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> ++posI;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">unsigned</span> lineSize = 0;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> posI = curLineStart;</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">while</span> (posI != <a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d">end</a>() && <a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(*posI)) {</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> ++posI;</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> ++lineSize;</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> <span class="keywordflow">if</span> (posI != <a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d">end</a>() && *posI == <span class="charliteral">'\n'</span>) {</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292">erase</a>(curLineStartOffs, lineSize + 1<span class="comment">/* + '\n'*/</span>);</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> AddReplaceDelta(curLineStartOffs, -(lineSize + 1<span class="comment">/* + '\n'*/</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> }</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> </div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475"> 92</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">RewriteBuffer::InsertText</a>(<span class="keywordtype">unsigned</span> OrigOffset, StringRef Str,</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">bool</span> InsertAfter) {</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> <span class="comment">// Nothing to insert, exit early.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">if</span> (Str.empty()) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">unsigned</span> RealOffset = getMappedOffset(OrigOffset, InsertAfter);</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a8aff4199a6a26d3d53cf78fdf7f61546">insert</a>(RealOffset, Str.begin(), Str.end());</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> <span class="comment">// Add a delta so that future changes are offset correctly.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> AddInsertDelta(OrigOffset, Str.size());</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> <span class="comment"></span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">/// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/// buffer with a new string. This is effectively a combined "remove+insert"</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/// operation.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#af4da15ad7c70b2c9ac934adf213819f7"> 108</a></span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#af4da15ad7c70b2c9ac934adf213819f7">RewriteBuffer::ReplaceText</a>(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">unsigned</span> OrigLength,</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> StringRef NewStr) {</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">unsigned</span> RealOffset = getMappedOffset(OrigOffset, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a7ff381abff381c698435159a399d7292">erase</a>(RealOffset, OrigLength);</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a8aff4199a6a26d3d53cf78fdf7f61546">insert</a>(RealOffset, NewStr.begin(), NewStr.end());</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">if</span> (OrigLength != NewStr.size())</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> AddReplaceDelta(OrigOffset, NewStr.size() - OrigLength);</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> </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">// Rewriter class</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"></span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">/// getRangeSize - Return the size in bytes of the specified range if they</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/// are in the same file. If not, this returns -1.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a96305d128d7ebe91841ed6a1b8ca0ae4"> 124</a></span> <span class="comment"></span><span class="keywordtype">int</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">Rewriter::getRangeSize</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> &Range,</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>()) ||</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> !<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>())) <span class="keywordflow">return</span> -1;</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> <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> StartFileID, EndFileID;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">unsigned</span> StartOff, EndOff;</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> StartOff = getLocationOffsetAndFileID(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>(), StartFileID);</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> EndOff = getLocationOffsetAndFileID(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>(), EndFileID);</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> <span class="keywordflow">if</span> (StartFileID != EndFileID)</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">return</span> -1;</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">// If edits have been made to this buffer, the delta between the range may</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">// have changed.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> std::map<FileID, RewriteBuffer>::const_iterator I =</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> RewriteBuffers.find(StartFileID);</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (I != RewriteBuffers.end()) {</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &RB = I->second;</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> EndOff = RB.getMappedOffset(EndOff, opts.<a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a82eecef22e2b351df8fedc0de170613c" title="Given a source range, true to include previous inserts at the end of the range as part of the range i...">IncludeInsertsAtEndOfRange</a>);</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> StartOff = RB.getMappedOffset(StartOff, !opts.<a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20" title="Given a source range, true to include previous inserts at the beginning of the range as part of the r...">IncludeInsertsAtBeginOfRange</a>);</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> </div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">// Adjust the end offset to the end of the last token, instead of being the</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">// start of the last token if this is a token range.</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span> (Range.<a class="code" href="classclang_1_1CharSourceRange.html#a9bc337ba1c6e4e47e0f997196525d12f" title="Return true if the end of this range specifies the start of the last token. Return false if the end o...">isTokenRange</a>())</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> EndOff += <a class="code" href="classclang_1_1Lexer.html#aa5a4859612cfd5bbce76ce0ac75f406b">Lexer::MeasureTokenLength</a>(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>(), *SourceMgr, *LangOpts);</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> <span class="keywordflow">return</span> EndOff-StartOff;</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> </div>
+<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c"> 157</a></span> <span class="keywordtype">int</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">Rewriter::getRangeSize</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range, <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(<a class="code" href="classclang_1_1CharSourceRange.html#a5763cf308a9499dde63046fab463a61d">CharSourceRange::getTokenRange</a>(Range), opts);</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> </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">/// getRewrittenText - Return the rewritten form of the text in the specified</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">/// range. If the start or end of the range was unrewritable or if they are</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/// in different buffers, this returns an empty string.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">/// Note that this method is not particularly efficient.</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a72e4d3d6e25b62a3d173dc7c030e1c09"> 168</a></span> <span class="comment"></span>std::string <a class="code" href="classclang_1_1Rewriter.html#a72e4d3d6e25b62a3d173dc7c030e1c09">Rewriter::getRewrittenText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>()) ||</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> !<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>()))</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <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> StartFileID, EndFileID;</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">unsigned</span> StartOff, EndOff;</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> StartOff = getLocationOffsetAndFileID(Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), StartFileID);</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> EndOff = getLocationOffsetAndFileID(Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(), EndFileID);</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="keywordflow">if</span> (StartFileID != EndFileID)</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> <span class="stringliteral">""</span>; <span class="comment">// Start and end in different buffers.</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"> 181</span> <span class="comment">// If edits have been made to this buffer, the delta between the range may</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">// have changed.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> std::map<FileID, RewriteBuffer>::const_iterator I =</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> RewriteBuffers.find(StartFileID);</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">if</span> (I == RewriteBuffers.end()) {</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">// If the buffer hasn't been rewritten, just return the text from the input.</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *Ptr = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a365885c3cd3833c06fde3f5ed0ff60d8" title="Return a pointer to the start of the specified location in the appropriate spelling MemoryBuffer...">getCharacterData</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>());</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">// Adjust the end offset to the end of the last token, instead of being the</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">// start of the last token.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> EndOff += <a class="code" href="classclang_1_1Lexer.html#aa5a4859612cfd5bbce76ce0ac75f406b">Lexer::MeasureTokenLength</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(), *SourceMgr, *LangOpts);</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span> std::string(Ptr, Ptr+EndOff-StartOff);</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> </div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &RB = I->second;</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> EndOff = RB.getMappedOffset(EndOff, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> StartOff = RB.getMappedOffset(StartOff);</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> <span class="comment">// Adjust the end offset to the end of the last token, instead of being the</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">// start of the last token.</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> EndOff += <a class="code" href="classclang_1_1Lexer.html#aa5a4859612cfd5bbce76ce0ac75f406b">Lexer::MeasureTokenLength</a>(Range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>(), *SourceMgr, *LangOpts);</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">// Advance the iterators to the right spot, yay for linear time algorithms.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RewriteBuffer::iterator</a> Start = RB.<a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>();</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> std::advance(Start, StartOff);</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RewriteBuffer::iterator</a> End = Start;</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> std::advance(End, EndOff-StartOff);</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> <span class="keywordflow">return</span> std::string(Start, End);</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">unsigned</span> Rewriter::getLocationOffsetAndFileID(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</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> &FID)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> assert(Loc.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>() && <span class="stringliteral">"Invalid location"</span>);</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> std::pair<FileID,unsigned> V = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a957bbe1ee3d932ad3f82bcbeac422e35" title="Decompose the specified location into a raw FileID + Offset pair.">getDecomposedLoc</a>(Loc);</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> FID = V.first;</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">return</span> V.second;</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> </div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"></span></div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/// getEditBuffer - Get or create a RewriteBuffer for the specified FileID.</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102"> 223</a></span> <span class="comment"></span><a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &<a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">Rewriter::getEditBuffer</a>(<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> FID) {</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> std::map<FileID, RewriteBuffer>::iterator I =</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> RewriteBuffers.lower_bound(FID);</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">if</span> (I != RewriteBuffers.end() && I->first == FID)</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">return</span> I->second;</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> I = RewriteBuffers.insert(I, std::make_pair(FID, <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a>()));</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> StringRef MB = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a57e483ae7710c8b23eeb4f119026d662" title="Return a StringRef to the source buffer data for the specified FileID.">getBufferData</a>(FID);</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> I->second.Initialize(MB.begin(), MB.end());</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> <span class="keywordflow">return</span> I->second;</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="comment"></span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">/// InsertText - Insert the specified string at the specified location in the</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/// original buffer.</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b"> 238</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b">Rewriter::InsertText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str,</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">bool</span> InsertAfter, <span class="keywordtype">bool</span> indentNewLines) {</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Loc)) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</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> FID;</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">unsigned</span> StartOffs = getLocationOffsetAndFileID(Loc, FID);</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> <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> indentedStr;</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span> (indentNewLines && Str.find(<span class="charliteral">'\n'</span>) != StringRef::npos) {</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> StringRef MB = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a57e483ae7710c8b23eeb4f119026d662" title="Return a StringRef to the source buffer data for the specified FileID.">getBufferData</a>(FID);</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">unsigned</span> lineNo = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a3b4adecb909b0c0fe45afcc279f65236" title="Given a SourceLocation, return the spelling line number for the position indicated.">getLineNumber</a>(FID, StartOffs) - 1;</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html" title="One instance of this struct is kept for every file loaded or used.">SrcMgr::ContentCache</a> *</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> Content = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#ad1585a31ee5f93aaca7cce35f3f6922c">getSLocEntry</a>(FID).<a class="code" href="classclang_1_1SrcMgr_1_1SLocEntry.html#a1fb51637aa60930cf8993b7a6dfd0f4d">getFile</a>().<a class="code" href="classclang_1_1SrcMgr_1_1FileInfo.html#a0dfcfbd07292c9ab7f537f2dd38d14c4">getContentCache</a>();</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">unsigned</span> lineOffs = Content-><a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#aaf33dce57556ab3c4841a59c63c46be4" title="A bump pointer allocated array of offsets for each source line.">SourceLineCache</a>[lineNo];</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">// Find the whitespace at the start of the line.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> StringRef indentSpace;</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> <span class="keywordtype">unsigned</span> i = lineOffs;</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">while</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(MB[i]))</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> ++i;</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> indentSpace = MB.substr(lineOffs, i-lineOffs);</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"> 262</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<StringRef, 4></a> lines;</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> Str.split(lines, <span class="stringliteral">"\n"</span>);</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = lines.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> indentedStr += lines[i];</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">if</span> (i < e-1) {</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> indentedStr += <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> indentedStr += indentSpace;</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"> 272</span> Str = indentedStr.str();</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> </div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(FID).<a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(StartOffs, Str, InsertAfter);</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">return</span> <span class="keyword">false</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> </div>
+<div class="line"><a name="l00279"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#aef117104324aa0d75f50c76a83971785"> 279</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#aef117104324aa0d75f50c76a83971785" title="Insert the specified string after the token in the specified location.">Rewriter::InsertTextAfterToken</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str) {</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Loc)) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</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> FID;</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">unsigned</span> StartOffs = getLocationOffsetAndFileID(Loc, FID);</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> rangeOpts;</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> rangeOpts.<a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20" title="Given a source range, true to include previous inserts at the beginning of the range as part of the r...">IncludeInsertsAtBeginOfRange</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> StartOffs += <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>(Loc, Loc), rangeOpts);</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(FID).<a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(StartOffs, Str, <span class="comment">/*InsertAfter*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> }</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"></span></div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment">/// RemoveText - Remove the specified text region.</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73"> 291</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">Rewriter::RemoveText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Start, <span class="keywordtype">unsigned</span> Length,</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts) {</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Start)) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</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> FID;</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">unsigned</span> StartOffs = getLocationOffsetAndFileID(Start, FID);</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(FID).<a class="code" href="classclang_1_1RewriteBuffer.html#a08eea0e9e695bc7d1e025b211aebeae9" title="RemoveText - Remove the specified text.">RemoveText</a>(StartOffs, Length, opts.<a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#af89ac8a120822d2801ac443b35f1156b" title="If true and removing some text leaves a blank line also remove the empty line (false by default)...">RemoveLineIfEmpty</a>);</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">return</span> <span class="keyword">false</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="comment"></span></div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment">/// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment">/// buffer with a new string. This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">/// operation.</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed"> 303</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">Rewriter::ReplaceText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Start, <span class="keywordtype">unsigned</span> OrigLength,</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> StringRef NewStr) {</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(Start)) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</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> StartFileID;</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordtype">unsigned</span> StartOffs = getLocationOffsetAndFileID(Start, StartFileID);</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(StartFileID).<a class="code" href="classclang_1_1RewriteBuffer.html#af4da15ad7c70b2c9ac934adf213819f7">ReplaceText</a>(StartOffs, OrigLength, NewStr);</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">return</span> <span class="keyword">false</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="classclang_1_1Rewriter.html#ada41b5e0bb2734b0b551e51689e72ff3"> 313</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">Rewriter::ReplaceText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> replacementRange) {</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>())) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(range.<a class="code" href="classclang_1_1SourceRange.html#a982d28235ad96ce81b3e8144b7b245c0">getEnd</a>())) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> (replacementRange.<a class="code" href="classclang_1_1SourceRange.html#ad4b210c1ce478d3e76c9e8e27bad7745">isInvalid</a>()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</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 = range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>();</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">unsigned</span> origLength = <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(range);</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">unsigned</span> newLength = <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(replacementRange);</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</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> FID;</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordtype">unsigned</span> newOffs = getLocationOffsetAndFileID(replacementRange.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(),</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> FID);</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> StringRef MB = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a57e483ae7710c8b23eeb4f119026d662" title="Return a StringRef to the source buffer data for the specified FileID.">getBufferData</a>(FID);</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(start, origLength, MB.substr(newOffs, newLength));</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment"></span></div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment">/// ReplaceStmt - This replaces a Stmt/Expr with another, using the pretty</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment">/// printer to generate the replacement code. This returns true if the input</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment">/// could not be rewritten, or false if successful.</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#afe268d736bda618e176fc754bb4657a8"> 330</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe268d736bda618e176fc754bb4657a8">Rewriter::ReplaceStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *From, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *To) {</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment">// Measaure the old text.</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">int</span> Size = <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(From-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">if</span> (Size == -1)</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment">// Get the new text.</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> std::string SStr;</div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> llvm::raw_string_ostream <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>(SStr);</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> To-><a class="code" href="classclang_1_1Stmt.html#a7b6d8297403170952d84a89867ddbb1b">printPretty</a>(S, 0, <a class="code" href="structclang_1_1PrintingPolicy.html" title="Describes how types, statements, expressions, and declarations should be printed.">PrintingPolicy</a>(*LangOpts));</div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keyword">const</span> std::string &Str = S.str();</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> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(From-><a class="code" href="classclang_1_1Stmt.html#a0270d9cff7ed2b38acb39690b96586d2">getLocStart</a>(), Size, Str);</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a6ac023ea1676823fd3002956e5938656"> 346</a></span> std::string <a class="code" href="classclang_1_1Rewriter.html#a6ac023ea1676823fd3002956e5938656">Rewriter::ConvertToString</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *From) {</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> std::string SStr;</div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> llvm::raw_string_ostream <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>(SStr);</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> From-><a class="code" href="classclang_1_1Stmt.html#a7b6d8297403170952d84a89867ddbb1b">printPretty</a>(S, 0, <a class="code" href="structclang_1_1PrintingPolicy.html" title="Describes how types, statements, expressions, and declarations should be printed.">PrintingPolicy</a>(*LangOpts));</div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">return</span> S.str();</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> </div>
+<div class="line"><a name="l00353"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#ad52956c2169799e6c2bc7dd0a199c693"> 353</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#ad52956c2169799e6c2bc7dd0a199c693" title="Increase indentation for the lines between the given source range. To determine what the indentation ...">Rewriter::IncreaseIndentation</a>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> range,</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</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> parentIndent) {</div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">if</span> (range.<a class="code" href="classclang_1_1CharSourceRange.html#a1e4858d56ba9cff184a5280dbacfe786">isInvalid</a>()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>())) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>())) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(parentIndent)) <span class="keywordflow">return</span> <span class="keyword">true</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"> 360</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> StartFileID, EndFileID, parentFileID;</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordtype">unsigned</span> StartOff, EndOff, parentOff;</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> StartOff = getLocationOffsetAndFileID(range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>(), StartFileID);</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> EndOff = getLocationOffsetAndFileID(range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>(), EndFileID);</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> parentOff = getLocationOffsetAndFileID(parentIndent, parentFileID);</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">if</span> (StartFileID != EndFileID || StartFileID != parentFileID)</div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">if</span> (StartOff > EndOff)</div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">return</span> <span class="keyword">true</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> <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> FID = StartFileID;</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> StringRef MB = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a57e483ae7710c8b23eeb4f119026d662" title="Return a StringRef to the source buffer data for the specified FileID.">getBufferData</a>(FID);</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordtype">unsigned</span> parentLineNo = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a3b4adecb909b0c0fe45afcc279f65236" title="Given a SourceLocation, return the spelling line number for the position indicated.">getLineNumber</a>(FID, parentOff) - 1;</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordtype">unsigned</span> startLineNo = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a3b4adecb909b0c0fe45afcc279f65236" title="Given a SourceLocation, return the spelling line number for the position indicated.">getLineNumber</a>(FID, StartOff) - 1;</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordtype">unsigned</span> endLineNo = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#a3b4adecb909b0c0fe45afcc279f65236" title="Given a SourceLocation, return the spelling line number for the position indicated.">getLineNumber</a>(FID, EndOff) - 1;</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="keyword">const</span> <a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html" title="One instance of this struct is kept for every file loaded or used.">SrcMgr::ContentCache</a> *</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> Content = SourceMgr-><a class="code" href="classclang_1_1SourceManager.html#ad1585a31ee5f93aaca7cce35f3f6922c">getSLocEntry</a>(FID).<a class="code" href="classclang_1_1SrcMgr_1_1SLocEntry.html#a1fb51637aa60930cf8993b7a6dfd0f4d">getFile</a>().<a class="code" href="classclang_1_1SrcMgr_1_1FileInfo.html#a0dfcfbd07292c9ab7f537f2dd38d14c4">getContentCache</a>();</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment">// Find where the lines start.</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordtype">unsigned</span> parentLineOffs = Content-><a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#aaf33dce57556ab3c4841a59c63c46be4" title="A bump pointer allocated array of offsets for each source line.">SourceLineCache</a>[parentLineNo];</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordtype">unsigned</span> startLineOffs = Content-><a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#aaf33dce57556ab3c4841a59c63c46be4" title="A bump pointer allocated array of offsets for each source line.">SourceLineCache</a>[startLineNo];</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment">// Find the whitespace at the start of each line.</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> StringRef parentSpace, startSpace;</div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> {</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordtype">unsigned</span> i = parentLineOffs;</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">while</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(MB[i]))</div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> ++i;</div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> parentSpace = MB.substr(parentLineOffs, i-parentLineOffs);</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> i = startLineOffs;</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">while</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(MB[i]))</div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> ++i;</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> startSpace = MB.substr(startLineOffs, i-startLineOffs);</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> }</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">if</span> (parentSpace.size() >= startSpace.size())</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> (!startSpace.startswith(parentSpace))</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">return</span> <span class="keyword">true</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> StringRef indent = startSpace.substr(parentSpace.size());</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment">// Indent the lines between start/end offsets.</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &RB = <a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(FID);</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> lineNo = startLineNo; lineNo <= endLineNo; ++lineNo) {</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keywordtype">unsigned</span> offs = Content-><a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#aaf33dce57556ab3c4841a59c63c46be4" title="A bump pointer allocated array of offsets for each source line.">SourceLineCache</a>[lineNo];</div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordtype">unsigned</span> i = offs;</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">while</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(MB[i]))</div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> ++i;</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> StringRef origIndent = MB.substr(offs, i-offs);</div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">if</span> (origIndent.startswith(startSpace))</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> RB.<a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(offs, indent, <span class="comment">/*InsertAfter=*/</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> }</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">return</span> <span class="keyword">false</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> </div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="comment">// A wrapper for a file stream that atomically overwrites the target.</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="comment">// Creates a file output stream for a temporary file in the constructor,</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment">// which is later accessible via getStream() if ok() return true.</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="comment">// Flushes the stream and moves the temporary file to the target location</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="comment">// in the destructor.</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keyword">class </span>AtomicallyMovedFile {</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> AtomicallyMovedFile(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &Diagnostics, StringRef Filename,</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordtype">bool</span> &AllWritten)</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> : Diagnostics(Diagnostics), Filename(Filename), AllWritten(AllWritten) {</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> TempFilename = Filename;</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> TempFilename += <span class="stringliteral">"-%%%%%%%%"</span>;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">int</span> FD;</div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordflow">if</span> (llvm::sys::fs::createUniqueFile(TempFilename.str(), FD, TempFilename)) {</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> AllWritten = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> Diagnostics.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(clang::diag::err_unable_to_make_temp)</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> << TempFilename;</div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> FileStream.reset(<span class="keyword">new</span> llvm::raw_fd_ostream(FD, <span class="comment">/*shouldClose=*/</span><span class="keyword">true</span>));</div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> }</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> }</div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> ~AtomicallyMovedFile() {</div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keywordflow">if</span> (!ok()) <span class="keywordflow">return</span>;</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> FileStream->flush();</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="preprocessor">#ifdef _WIN32</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor"></span> <span class="comment">// Win32 does not allow rename/removing opened files.</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> FileStream.reset();</div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="preprocessor"></span> <span class="keywordflow">if</span> (llvm::error_code ec =</div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> llvm::sys::fs::rename(TempFilename.str(), Filename)) {</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> AllWritten = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> Diagnostics.<a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(clang::diag::err_unable_to_rename_temp)</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> << TempFilename << Filename << ec.message();</div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordtype">bool</span> existed;</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="comment">// If the remove fails, there's not a lot we can do - this is already an</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="comment">// error.</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> llvm::sys::fs::remove(TempFilename.str(), existed);</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> }</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">bool</span> ok() { <span class="keywordflow">return</span> FileStream.isValid(); }</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> raw_ostream &getStream() { <span class="keywordflow">return</span> *FileStream; }</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</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="l00470"></a><span class="lineno"> 470</span> StringRef Filename;</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> TempFilename;</div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<llvm::raw_fd_ostream></a> FileStream;</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordtype">bool</span> &AllWritten;</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> };</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> } <span class="comment">// end anonymous namespace</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_1Rewriter.html#af8ccd9573dacff3bbd604b8354a17a95"> 477</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#af8ccd9573dacff3bbd604b8354a17a95">Rewriter::overwriteChangedFiles</a>() {</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordtype">bool</span> AllWritten = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f">buffer_iterator</a> I = <a class="code" href="classclang_1_1Rewriter.html#a95d0ec4bce67d725d90bb7e8e9251f2e">buffer_begin</a>(), E = <a class="code" href="classclang_1_1Rewriter.html#a80fd9df8df1f7e7cb1f9cd71987e968f">buffer_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</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).">FileEntry</a> *Entry =</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <a class="code" href="classclang_1_1Rewriter.html#a13e04a1fdcd207e606877a631f298b31">getSourceMgr</a>().<a class="code" href="classclang_1_1SourceManager.html#a89a4d1fa8ccc458bce84b0d72b4545db" title="Returns the FileEntry record for the provided FileID.">getFileEntryForID</a>(I->first);</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> AtomicallyMovedFile File(<a class="code" href="classclang_1_1Rewriter.html#a13e04a1fdcd207e606877a631f298b31">getSourceMgr</a>().getDiagnostics(), Entry-><a class="code" href="classclang_1_1FileEntry.html#a94ddac74f217c35e19420dd6c419e25f">getName</a>(),</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> AllWritten);</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">if</span> (File.ok()) {</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> I->second.write(File.getStream());</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</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"> 488</span> <span class="keywordflow">return</span> !AllWritten;</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/Rewriter_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,367 @@
+<!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: Rewriter.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_17e9060d5a90b6bff6af19bbcf81fd54.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_d9da5dd53a88911d10e65b0f7e98b4b1.html">Core</a></li><li class="navelem"><a class="el" href="dir_712833a27f5be7bf49ee8e99237dd33d.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Rewriter.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewriter_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/Rewrite/Core/Release+Asserts/Rewriter.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/Release+Asserts/Rewriter.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> Rewriter.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/Rewriter.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/DeltaTree.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/RewriteRope.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/include/llvm/ADT/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/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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="l00098"></a><span class="lineno"> 98</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TemplateKinds.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/Rewriter.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/SourceLocation.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/LLVM.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/Support/Casting.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/Support/type_traits.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/DataTypes.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/ADT/None.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/Support/Compiler.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/Config/llvm-config.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/PointerLikeTypeTraits.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/DeltaTree.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Rewrite/Core/RewriteRope.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/include/llvm/ADT/StringRef.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/Rewrite/Core/../../../include/clang/AST/Decl.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/Rewrite/Core/../../../include/clang/AST/APValue.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/ADT/APFloat.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/ADT/APInt.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/ADT/ArrayRef.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/SmallVector.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/Support/AlignOf.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/Support/MathExtras.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/SwapByteOrder.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/APSInt.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/ADT/PointerIntPair.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/PointerUnion.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/Rewrite/Core/../../../include/clang/AST/DeclBase.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/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/AttrIterator.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/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclarationName.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/IdentifierTable.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/Rewrite/Core/../../../include/clang/Basic/OperatorKinds.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/OperatorKinds.def:</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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/TokenKinds.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/Rewrite/Core/../../../include/clang/Basic/TokenKinds.def:</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/ADT/SmallString.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/ADT/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/Rewrite/Core/../../../include/clang/Basic/PartialDiagnostic.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/Rewrite/Core/../../../include/clang/Basic/Diagnostic.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.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/Rewrite/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Rewrite/Core/../../../include/clang/Basic/DiagnosticOptions.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.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/Rewrite/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="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/Rewrite/Core/../../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/DeclNodes.inc:</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/Rewrite/Core/../../../include/clang/AST/ExternalASTSource.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/Rewrite/Core/../../../include/clang/AST/CharUnits.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/Rewrite/Core/../../../include/clang/AST/Redeclarable.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/Rewrite/Core/../../../include/clang/AST/Type.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/Rewrite/Core/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.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/Rewrite/Core/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h:</div>
+<div class="line"><a name="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/Rewrite/Core/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> /home/tstellar/llvm/include/llvm/ADT/Optional.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/include/llvm/ADT/Twine.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/include/llvm/Support/ErrorHandling.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/Rewrite/Core/../../../include/clang/AST/TypeNodes.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> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.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/Support/TimeValue.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/Support/system_error.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/Rewrite/Core/../../../include/clang/AST/PrettyPrinter.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/Rewrite/Core/../../../include/clang/Basic/LangOptions.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/Rewrite/Core/../../../include/clang/Basic/CommentOptions.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/VersionTuple.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/Triple.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/tools/clang/lib/Rewrite/Core/../../../include/clang/Basic/Sanitizers.def:</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/Rewrite/Core/../../../include/clang/Basic/LangOptions.def:</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/Rewrite/Core/../../../include/clang/Basic/OpenCLExtensions.def:</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/Rewrite/Core/../../../include/clang/AST/Stmt.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/Rewrite/Core/../../../include/clang/AST/DeclGroup.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/Rewrite/Core/../../../include/clang/AST/StmtIterator.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/Rewrite/Core/../../../include/clang/Basic/CapturedStmt.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/Rewrite/Core/../../../include/clang/AST/StmtNodes.inc:</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/Rewrite/Core/../../../include/clang/Basic/FileManager.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/Rewrite/Core/../../../include/clang/Basic/FileSystemOptions.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/Rewrite/Core/../../../include/clang/Basic/SourceManager.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/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.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/include/llvm-c/Core.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/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/tools/clang/lib/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/Rewrite/Core/../../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> /home/tstellar/llvm/tools/clang/lib/Rewrite/Core/../../../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="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/Rewrite/Core/../../../include/clang/Basic/TemplateKinds.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/Rewriter_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Rewriter_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,379 @@
+<!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: Rewriter.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_d339e9d9ab23758d418da0c36a3d545f.html">Rewrite</a></li><li class="navelem"><a class="el" href="dir_8e6e71a2028d1d380b134748e68cbbb8.html">Core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Rewriter.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="Rewriter_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">//===--- Rewriter.h - Code rewriting interface ------------------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This file defines the Rewriter class, which is used for code</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// transformations.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef LLVM_CLANG_REWRITER_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_REWRITER_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="SourceLocation_8h.html" title="Defines the clang::SourceLocation class and associated facilities.">clang/Basic/SourceLocation.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="DeltaTree_8h.html">clang/Rewrite/Core/DeltaTree.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="RewriteRope_8h.html">clang/Rewrite/Core/RewriteRope.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "llvm/ADT/StringRef.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <cstring></span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <map></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">class </span>LangOptions;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">class </span>Rewriter;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">class </span>SourceManager;</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">class </span>Stmt;</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">/// RewriteBuffer - As code is rewritten, SourceBuffer's from the original</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">/// input with modifications get a new RewriteBuffer associated with them. The</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/// RewriteBuffer captures the modified text itself as well as information used</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/// to map between SourceLocation's in the original input and offsets in the</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">/// RewriteBuffer. For example, if text is inserted into the buffer, any</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/// locations after the insertion point have to be mapped.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html"> 38</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> {</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#af32d7e0fb55824e90ad60d38e8e8e8c5"> 39</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1Rewriter.html">Rewriter</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> /// Deltas - Keep track of all the deltas in the source code due to insertions</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> /// and deletions.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span> <a class="code" href="classclang_1_1DeltaTree.html">DeltaTree</a> Deltas;</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <a class="code" href="classclang_1_1RewriteRope.html">RewriteRope</a> Buffer;</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a43401e1647959ebab4518ea69e5f5c96"> 45</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">RewriteRope::const_iterator</a> <a class="code" href="classclang_1_1RewriteBuffer.html#a43401e1647959ebab4518ea69e5f5c96">iterator</a>;</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336"> 46</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RewriteBuffer.html#a6ffe5dd1a226612b67155aa26c056336">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#aad8bd9ca4de176867327c6aa76cb0b41">begin</a>(); }</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d"> 47</a></span> <a class="code" href="classclang_1_1RopePieceBTreeIterator.html">iterator</a> <a class="code" href="classclang_1_1RewriteBuffer.html#a9995fe0a105b0a747741dbe9db081f3d">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a27b55fba74630e22e3b7cde770795d8f">end</a>(); }</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#ad1965371033028cd74d4d8037b646f23"> 48</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1RewriteBuffer.html#ad1965371033028cd74d4d8037b646f23">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#ab9186f5c1e7b6c34fd5e65e5fc2e5d31">size</a>(); }</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> /// \brief Write to \p Stream the result of applying all changes to the</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> /// original buffer.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> /// Note that it isn't safe to use this function to overwrite memory mapped</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> /// files in-place (PR17960). Consider using a higher-level utility such as</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> /// Rewriter::overwriteChangedFiles() instead.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> /// The original buffer is not actually changed.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"></span> raw_ostream &<a class="code" href="classclang_1_1RewriteBuffer.html#ac6173ac696c168df9d6cb3ac197e73a9" title="Write to Stream the result of applying all changes to the original buffer. Note that it isn't safe to...">write</a>(raw_ostream &Stream) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"></span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> /// RemoveText - Remove the specified text.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a08eea0e9e695bc7d1e025b211aebeae9" title="RemoveText - Remove the specified text.">RemoveText</a>(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">unsigned</span> Size,</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">bool</span> removeLineIfEmpty = <span class="keyword">false</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"> /// InsertText - Insert some text at the specified point, where the offset in</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> /// the buffer is specified relative to the original SourceBuffer. The</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> /// text is inserted after the specified location.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(<span class="keywordtype">unsigned</span> OrigOffset, StringRef Str,</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">bool</span> InsertAfter = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"></span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> /// InsertTextBefore - Insert some text before the specified point, where the</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> /// offset in the buffer is specified relative to the original</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> /// SourceBuffer. The text is inserted before the specified location. This is</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> /// method is the same as InsertText with "InsertAfter == false".</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a29dc060e860fd502296b4a927693f467"> 75</a></span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a29dc060e860fd502296b4a927693f467">InsertTextBefore</a>(<span class="keywordtype">unsigned</span> OrigOffset, StringRef Str) {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(OrigOffset, Str, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"></span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> /// InsertTextAfter - Insert some text at the specified point, where the</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> /// offset in the buffer is specified relative to the original SourceBuffer.</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> /// The text is inserted after the specified location.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classclang_1_1RewriteBuffer.html#a04dbac6a36b77af1c36033bd8f15f7d2"> 82</a></span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a04dbac6a36b77af1c36033bd8f15f7d2">InsertTextAfter</a>(<span class="keywordtype">unsigned</span> OrigOffset, StringRef Str) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <a class="code" href="classclang_1_1RewriteBuffer.html#a3b5f8de8f5f0ee46177d2cf2281ea475">InsertText</a>(OrigOffset, Str);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> /// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> /// buffer with a new string. This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> /// operation.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1RewriteBuffer.html#af4da15ad7c70b2c9ac934adf213819f7">ReplaceText</a>(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">unsigned</span> OrigLength,</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> StringRef NewStr);</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> <span class="keyword">private</span>: <span class="comment">// Methods only usable by Rewriter.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"></span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> /// Initialize - Start this rewrite buffer out with a copy of the unmodified</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> /// input buffer.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span> <span class="keywordtype">void</span> Initialize(<span class="keyword">const</span> <span class="keywordtype">char</span> *BufStart, <span class="keyword">const</span> <span class="keywordtype">char</span> *BufEnd) {</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> Buffer.<a class="code" href="classclang_1_1RewriteRope.html#a848c03f869acfc41696c1de2f2c44039">assign</a>(BufStart, BufEnd);</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="comment"></span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> /// getMappedOffset - Given an offset into the original SourceBuffer that this</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> /// RewriteBuffer is based on, map it into the offset space of the</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> /// RewriteBuffer. If AfterInserts is true and if the OrigOffset indicates a</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> /// position where text is inserted, the location returned will be after any</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> /// inserted text at the position.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"></span> <span class="keywordtype">unsigned</span> getMappedOffset(<span class="keywordtype">unsigned</span> OrigOffset,</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">bool</span> AfterInserts = <span class="keyword">false</span>)<span class="keyword"> const</span>{</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">return</span> Deltas.<a class="code" href="classclang_1_1DeltaTree.html#adeeaf017756a06d1162477bb4465e015">getDeltaAt</a>(2*OrigOffset+AfterInserts)+OrigOffset;</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="comment"></span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// AddInsertDelta - When an insertion is made at a position, this</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> /// method is used to record that information.</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"></span> <span class="keywordtype">void</span> AddInsertDelta(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">int</span> Change) {</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> Deltas.<a class="code" href="classclang_1_1DeltaTree.html#a65b2200df7c029fc766e3486c6629ae5">AddDelta</a>(2*OrigOffset, Change);</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"></span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /// AddReplaceDelta - When a replacement/deletion is made at a position, this</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> /// method is used to record that information.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"></span> <span class="keywordtype">void</span> AddReplaceDelta(<span class="keywordtype">unsigned</span> OrigOffset, <span class="keywordtype">int</span> Change) {</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">return</span> Deltas.<a class="code" href="classclang_1_1DeltaTree.html#a65b2200df7c029fc766e3486c6629ae5">AddDelta</a>(2*OrigOffset+1, Change);</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> };</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/// Rewriter - This is the main interface to the rewrite buffers. Its primary</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/// job is to dispatch high-level requests to the low-level RewriteBuffers that</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/// are involved.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html"> 127</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1Rewriter.html">Rewriter</a> {</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</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="l00129"></a><span class="lineno"> 129</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> *LangOpts;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> std::map<FileID, RewriteBuffer> RewriteBuffers;</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html"> 132</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> /// \brief Given a source range, true to include previous inserts at the</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> /// beginning of the range as part of the range itself (true by default).</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20"> 135</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20" title="Given a source range, true to include previous inserts at the beginning of the range as part of the r...">IncludeInsertsAtBeginOfRange</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> /// \brief Given a source range, true to include previous inserts at the</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> /// end of the range as part of the range itself (true by default).</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a82eecef22e2b351df8fedc0de170613c"> 138</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a82eecef22e2b351df8fedc0de170613c" title="Given a source range, true to include previous inserts at the end of the range as part of the range i...">IncludeInsertsAtEndOfRange</a>;<span class="comment"></span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> /// \brief If true and removing some text leaves a blank line</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> /// also remove the empty line (false by default).</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#af89ac8a120822d2801ac443b35f1156b"> 141</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#af89ac8a120822d2801ac443b35f1156b" title="If true and removing some text leaves a blank line also remove the empty line (false by default)...">RemoveLineIfEmpty</a>;</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a11663fbeece297326f1466a942ee18ac"> 143</a></span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a11663fbeece297326f1466a942ee18ac">RewriteOptions</a>()</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> : <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a12025c3b50dc7b7124bebac8c1026b20" title="Given a source range, true to include previous inserts at the beginning of the range as part of the r...">IncludeInsertsAtBeginOfRange</a>(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>),</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#a82eecef22e2b351df8fedc0de170613c" title="Given a source range, true to include previous inserts at the end of the range as part of the range i...">IncludeInsertsAtEndOfRange</a>(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>),</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html#af89ac8a120822d2801ac443b35f1156b" title="If true and removing some text leaves a blank line also remove the empty line (false by default)...">RemoveLineIfEmpty</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) { }</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> };</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f"> 149</a></span> <span class="keyword">typedef</span> std::map<FileID, RewriteBuffer>::iterator <a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f">buffer_iterator</a>;</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#aa3c0a7fbc7dbf0e975b33dcc1c86af15"> 150</a></span> <span class="keyword">typedef</span> std::map<FileID, RewriteBuffer>::const_iterator <a class="code" href="classclang_1_1Rewriter.html#aa3c0a7fbc7dbf0e975b33dcc1c86af15">const_buffer_iterator</a>;</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a90d32640a26520ebcc3ec7961e035d2f"> 152</a></span> <span class="keyword">explicit</span> <a class="code" href="classclang_1_1Rewriter.html#a923c26767a7833413a5d167cc5a6ffe0">Rewriter</a>(<a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>, <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="l00153"></a><span class="lineno"> 153</span> : SourceMgr(&SM), LangOpts(&LO) {}</div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a923c26767a7833413a5d167cc5a6ffe0"> 154</a></span> <span class="keyword">explicit</span> <a class="code" href="classclang_1_1Rewriter.html#a923c26767a7833413a5d167cc5a6ffe0">Rewriter</a>() : SourceMgr(0), LangOpts(0) {}</div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a39253f773aa5033407601efbc5f9aaaf"> 156</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Rewriter.html#a39253f773aa5033407601efbc5f9aaaf">setSourceMgr</a>(<a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>, <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="l00157"></a><span class="lineno"> 157</span> SourceMgr = &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>;</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> LangOpts = &LO;</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a13e04a1fdcd207e606877a631f298b31"> 160</a></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="classclang_1_1Rewriter.html#a13e04a1fdcd207e606877a631f298b31">getSourceMgr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *SourceMgr; }</div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a80c10cf50c1687237b9436b16d6102d1"> 161</a></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> &<a class="code" href="classclang_1_1Rewriter.html#a80c10cf50c1687237b9436b16d6102d1">getLangOpts</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *LangOpts; }</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"></span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> /// isRewritable - Return true if this location is a raw file location, which</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> /// is rewritable. Locations from macros, etc are not rewritable.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363"> 165</a></span> <span class="comment"></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a78971fe62c8cc759758158ca06586363">isRewritable</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">return</span> Loc.<a class="code" href="classclang_1_1SourceLocation.html#a8317aa72ddfd4e2221603217927070cc">isFileID</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"> 168</span> <span class="comment"></span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> /// getRangeSize - Return the size in bytes of the specified range if they</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> /// are in the same file. If not, this returns -1.</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"></span> <span class="keywordtype">int</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range,</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> RewriteOptions opts = RewriteOptions()) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> &Range,</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> RewriteOptions opts = RewriteOptions()) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"></span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> /// getRewrittenText - Return the rewritten form of the text in the specified</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> /// range. If the start or end of the range was unrewritable or if they are</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> /// in different buffers, this returns an empty string.</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"> /// Note that this method is not particularly efficient.</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"></span> std::string <a class="code" href="classclang_1_1Rewriter.html#a72e4d3d6e25b62a3d173dc7c030e1c09">getRewrittenText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> Range) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"></span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> /// InsertText - Insert the specified string at the specified location in the</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> /// original buffer. This method returns true (and does nothing) if the input</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> /// location was not rewritable, false otherwise.</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> /// \param indentNewLines if true new lines in the string are indented</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> /// using the indentation of the source line in position \p Loc.</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b">InsertText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">bool</span> InsertAfter = <span class="keyword">true</span>, <span class="keywordtype">bool</span> indentNewLines = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"></span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> /// InsertTextAfter - Insert the specified string at the specified location in</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> /// the original buffer. This method returns true (and does nothing) if</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> /// the input location was not rewritable, false otherwise. Text is</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> /// inserted after any other text that has been previously inserted</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> /// at the some point (the default behavior for InsertText).</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#ac4c8094b2d1962b30f3228e0ef3c72af"> 198</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#ac4c8094b2d1962b30f3228e0ef3c72af">InsertTextAfter</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str) {</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b">InsertText</a>(Loc, Str);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> /// \brief Insert the specified string after the token in the</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> /// specified location.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#aef117104324aa0d75f50c76a83971785" title="Insert the specified string after the token in the specified location.">InsertTextAfterToken</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str);</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"></span></div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> /// InsertText - Insert the specified string at the specified location in the</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment"> /// original buffer. This method returns true (and does nothing) if the input</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> /// location was not rewritable, false otherwise. Text is</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> /// inserted before any other text that has been previously inserted</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> /// at the some point.</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a094c673eba004da45d763cf8def97497"> 211</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a094c673eba004da45d763cf8def97497">InsertTextBefore</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, StringRef Str) {</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a5fd6f665d719a8f2dbd6a6e6b5e1436b">InsertText</a>(Loc, Str, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment"></span></div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment"> /// RemoveText - Remove the specified text region.</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">RemoveText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Start, <span class="keywordtype">unsigned</span> Length,</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> RewriteOptions opts = RewriteOptions());</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"> /// \brief Remove the specified text region.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#ab177273fed29d8cb64a644860c434a1e"> 220</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">RemoveText</a>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> range,</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts = <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a>()) {</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">RemoveText</a>(range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>(), <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(range, opts), opts);</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"></span></div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> /// \brief Remove the specified text region.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a75230f57da7d6007b6a8a40d204d3be0"> 226</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a75230f57da7d6007b6a8a40d204d3be0" title="Remove the specified text region.">RemoveText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a> opts = <a class="code" href="structclang_1_1Rewriter_1_1RewriteOptions.html">RewriteOptions</a>()) {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#a64af5636817afce4723c69a2f2e3ed73" title="RemoveText - Remove the specified text region.">RemoveText</a>(range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(range, opts), opts);</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"></span></div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"> /// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> /// buffer with a new string. This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> /// operation.</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Start, <span class="keywordtype">unsigned</span> OrigLength,</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> StringRef NewStr);</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"> /// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"> /// buffer with a new string. This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment"> /// operation.</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#aa09b7ab42115f9ad5e4d0c6300ec617c"> 239</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#aa09b7ab42115f9ad5e4d0c6300ec617c">ReplaceText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, StringRef NewStr) {</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(range.<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>(), <a class="code" href="classclang_1_1Rewriter.html#a73a1da56ec0a9d2a720f087ddd94870c">getRangeSize</a>(range), NewStr);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"> /// ReplaceText - This method replaces a range of characters in the input</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment"> /// buffer with a new string. This is effectively a combined "remove/insert"</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment"> /// operation.</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe00ce2338ce67ba76832678f21956ed">ReplaceText</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> replacementRange);</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"></span></div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment"> /// ReplaceStmt - This replaces a Stmt/Expr with another, using the pretty</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"> /// printer to generate the replacement code. This returns true if the input</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"> /// could not be rewritten, or false if successful.</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#afe268d736bda618e176fc754bb4657a8">ReplaceStmt</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *From, <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *To);</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment"></span></div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"> /// \brief Increase indentation for the lines between the given source range.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> /// To determine what the indentation should be, 'parentIndent' is used</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> /// that should be at a source location with an indentation one degree</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment"> /// lower than the given range.</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#ad52956c2169799e6c2bc7dd0a199c693" title="Increase indentation for the lines between the given source range. To determine what the indentation ...">IncreaseIndentation</a>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> range, <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> parentIndent);</div>
+<div class="line"><a name="l00258"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a73124a3d653144490d28da8e3e585b2d"> 258</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#a73124a3d653144490d28da8e3e585b2d">IncreaseIndentation</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> range, <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> parentIndent) {</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Rewriter.html#ad52956c2169799e6c2bc7dd0a199c693" title="Increase indentation for the lines between the given source range. To determine what the indentation ...">IncreaseIndentation</a>(<a class="code" href="classclang_1_1CharSourceRange.html#a5763cf308a9499dde63046fab463a61d">CharSourceRange::getTokenRange</a>(range),</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> parentIndent);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> }</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment"></span></div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment"> /// ConvertToString converts statement 'From' to a string using the</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> /// pretty printer.</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"></span> std::string <a class="code" href="classclang_1_1Rewriter.html#a6ac023ea1676823fd3002956e5938656">ConvertToString</a>(<a class="code" href="classclang_1_1Stmt.html">Stmt</a> *From);</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"></span></div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> /// getEditBuffer - This is like getRewriteBufferFor, but always returns a</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> /// buffer, and allows you to write on it directly. This is useful if you</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> /// want efficient low-level access to apis for scribbling on one specific</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> /// FileID's buffer.</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"></span> <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> &<a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(<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> FID);</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"></span></div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="comment"> /// getRewriteBufferFor - Return the rewrite buffer for the specified FileID.</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="comment"> /// If no modification has been made to it, return null.</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a6345f29dfc642152bf0d51eae32f900e"> 275</a></span> <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1RewriteBuffer.html">RewriteBuffer</a> *<a class="code" href="classclang_1_1Rewriter.html#a6345f29dfc642152bf0d51eae32f900e">getRewriteBufferFor</a>(<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> FID)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> std::map<FileID, RewriteBuffer>::const_iterator I =</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> RewriteBuffers.find(FID);</div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">return</span> I == RewriteBuffers.end() ? 0 : &I->second;</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"> 281</span> <span class="comment">// Iterators over rewrite buffers.</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a95d0ec4bce67d725d90bb7e8e9251f2e"> 282</a></span> <a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f">buffer_iterator</a> <a class="code" href="classclang_1_1Rewriter.html#a95d0ec4bce67d725d90bb7e8e9251f2e">buffer_begin</a>() { <span class="keywordflow">return</span> RewriteBuffers.begin(); }</div>
+<div class="line"><a name="l00283"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#a80fd9df8df1f7e7cb1f9cd71987e968f"> 283</a></span> <a class="code" href="classclang_1_1Rewriter.html#a5d6c253f6065c42d609084569ab5f92f">buffer_iterator</a> <a class="code" href="classclang_1_1Rewriter.html#a80fd9df8df1f7e7cb1f9cd71987e968f">buffer_end</a>() { <span class="keywordflow">return</span> RewriteBuffers.end(); }</div>
+<div class="line"><a name="l00284"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#ac6f6472144a5eb98222a7606f8eeba9d"> 284</a></span> <a class="code" href="classclang_1_1Rewriter.html#aa3c0a7fbc7dbf0e975b33dcc1c86af15">const_buffer_iterator</a> <a class="code" href="classclang_1_1Rewriter.html#ac6f6472144a5eb98222a7606f8eeba9d">buffer_begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RewriteBuffers.begin(); }</div>
+<div class="line"><a name="l00285"></a><span class="lineno"><a class="code" href="classclang_1_1Rewriter.html#adf1e6ac37b96df8a2bb47e000617de04"> 285</a></span> <a class="code" href="classclang_1_1Rewriter.html#aa3c0a7fbc7dbf0e975b33dcc1c86af15">const_buffer_iterator</a> <a class="code" href="classclang_1_1Rewriter.html#adf1e6ac37b96df8a2bb47e000617de04">buffer_end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RewriteBuffers.end(); }</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment"></span></div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> /// overwriteChangedFiles - Save all changed files to disk.</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"> ///</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> /// Returns true if any files were not saved successfully.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment"> /// Outputs diagnostics via the source manager's diagnostic engine</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> /// in case of an error.</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Rewriter.html#af8ccd9573dacff3bbd604b8354a17a95">overwriteChangedFiles</a>();</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">unsigned</span> getLocationOffsetAndFileID(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <a class="code" href="classclang_1_1FileID.html" title="An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...">FileID</a> &FID) <span class="keyword">const</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> </div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/SanitizerArgs_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,468 @@
+<!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: SanitizerArgs.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_79a4e43f5883e96ea4f45c2e67339e2c.html">Driver</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">SanitizerArgs.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="SanitizerArgs_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">//===--- SanitizerArgs.cpp - Arguments for sanitizer tools ---------------===//</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="preprocessor">#include "<a class="code" href="SanitizerArgs_8h.html">clang/Driver/SanitizerArgs.h</a>"</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "<a class="code" href="Driver_8h.html">clang/Driver/Driver.h</a>"</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "<a class="code" href="DriverDiagnostic_8h.html">clang/Driver/DriverDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="Options_8h.html">clang/Driver/Options.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="ToolChain_8h.html">clang/Driver/ToolChain.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "llvm/ADT/OwningPtr.h"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "llvm/ADT/StringSwitch.h"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "llvm/Transforms/Utils/SpecialCaseList.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">using namespace </span>clang::driver;</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">using namespace </span>llvm::opt;</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="keywordtype">void</span> SanitizerArgs::clear() {</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = 0;</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> BlacklistFile = <span class="stringliteral">""</span>;</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> MsanTrackOrigins = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> AsanZeroBaseShadow = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> UbsanTrapOnError = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> }</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6"> 32</a></span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6">SanitizerArgs::SanitizerArgs</a>() {</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> clear();</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> }</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#ada8fa094ddfd49f34c0eb77e0407166c"> 36</a></span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6">SanitizerArgs::SanitizerArgs</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> &TC,</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> clear();</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">unsigned</span> AllAdd = 0; <span class="comment">// All kinds of sanitizers that were turned on</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// at least once (possibly, disabled further).</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">unsigned</span> AllRemove = 0; <span class="comment">// During the loop below, the accumulated set of</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// sanitizers disabled by the current sanitizer</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// argument or any argument after it.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">unsigned</span> DiagnosedKinds = 0; <span class="comment">// All Kinds we have diagnosed up to now.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// Used to deduplicate diagnostics.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D = TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a948578fde08fb304953d76205b1ba7cd">getDriver</a>();</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">for</span> (ArgList::const_reverse_iterator I = Args.rbegin(), E = Args.rend();</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> I != E; ++I) {</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">unsigned</span> Add, Remove;</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">if</span> (!parse(D, Args, *I, Add, Remove, <span class="keyword">true</span>))</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> (*I)->claim();</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> AllAdd |= expandGroups(Add);</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> AllRemove |= expandGroups(Remove);</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// Avoid diagnosing any sanitizer which is disabled later.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> Add &= ~AllRemove;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">// At this point we have not expanded groups, so any unsupported sanitizers</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">// in Add are those which have been explicitly enabled. Diagnose them.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> Add = filterUnsupportedKinds(TC, Add, Args, *I, <span class="comment">/*DiagnoseErrors=*/</span><span class="keyword">true</span>,</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> DiagnosedKinds);</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> Add = expandGroups(Add);</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment">// Group expansion may have enabled a sanitizer which is disabled later.</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> Add &= ~AllRemove;</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// Silently discard any unsupported sanitizers implicitly enabled through</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">// group expansion.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> Add = filterUnsupportedKinds(TC, Add, Args, *I, <span class="comment">/*DiagnoseErrors=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> DiagnosedKinds);</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> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> |= Add;</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> UbsanTrapOnError =</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> Args.hasArg(options::OPT_fcatch_undefined_behavior) ||</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error,</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> options::OPT_fno_sanitize_undefined_trap_on_error, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">if</span> (Args.hasArg(options::OPT_fcatch_undefined_behavior) &&</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> !Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error,</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> options::OPT_fno_sanitize_undefined_trap_on_error, <span class="keyword">true</span>)) {</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> << <span class="stringliteral">"-fcatch-undefined-behavior"</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> << <span class="stringliteral">"-fno-sanitize-undefined-trap-on-error"</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> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">// Warn about undefined sanitizer options that require runtime support.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">if</span> (UbsanTrapOnError && notAllowedWithTrap()) {</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">if</span> (Args.hasArg(options::OPT_fcatch_undefined_behavior))</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> << lastArgumentForKind(D, Args, NotAllowedWithTrap)</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> << <span class="stringliteral">"-fcatch-undefined-behavior"</span>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error,</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> options::OPT_fno_sanitize_undefined_trap_on_error,</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">false</span>))</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> << lastArgumentForKind(D, Args, NotAllowedWithTrap)</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> << <span class="stringliteral">"-fsanitize-undefined-trap-on-error"</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> </div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">// Only one runtime library can be used at once.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">bool</span> NeedsAsan = needsAsanRt();</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">bool</span> NeedsTsan = needsTsanRt();</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">bool</span> NeedsMsan = needsMsanRt();</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">bool</span> NeedsLsan = needsLeakDetection();</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">if</span> (NeedsAsan && NeedsTsan)</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> << lastArgumentForKind(D, Args, NeedsAsanRt)</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> << lastArgumentForKind(D, Args, NeedsTsanRt);</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (NeedsAsan && NeedsMsan)</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> << lastArgumentForKind(D, Args, NeedsAsanRt)</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> << lastArgumentForKind(D, Args, NeedsMsanRt);</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span> (NeedsTsan && NeedsMsan)</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> << lastArgumentForKind(D, Args, NeedsTsanRt)</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> << lastArgumentForKind(D, Args, NeedsMsanRt);</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">if</span> (NeedsLsan && NeedsTsan)</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> << lastArgumentForKind(D, Args, NeedsLeakDetection)</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> << lastArgumentForKind(D, Args, NeedsTsanRt);</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">if</span> (NeedsLsan && NeedsMsan)</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> << lastArgumentForKind(D, Args, NeedsLeakDetection)</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> << lastArgumentForKind(D, Args, NeedsMsanRt);</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">// FIXME: Currenly -fsanitize=leak is silently ignored in the presence of</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">// -fsanitize=address. Perhaps it should print an error, or perhaps</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment">// -f(-no)sanitize=leak should change whether leak detection is enabled by</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">// default in ASan?</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">// If -fsanitize contains extra features of ASan, it should also</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment">// explicitly contain -fsanitize=address (probably, turned off later in the</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">// command line).</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">if</span> ((<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & AddressFull) != 0 && (AllAdd & Address) == 0)</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::warn_drv_unused_sanitizer)</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> << lastArgumentForKind(D, Args, AddressFull)</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> << <span class="stringliteral">"-fsanitize=address"</span>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">// Parse -f(no-)sanitize-blacklist options.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">if</span> (Arg *BLArg = Args.getLastArg(options::OPT_fsanitize_blacklist,</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> options::OPT_fno_sanitize_blacklist)) {</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (BLArg->getOption().matches(options::OPT_fsanitize_blacklist)) {</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> std::string BLPath = BLArg->getValue();</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (llvm::sys::fs::exists(BLPath)) {</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">// Validate the blacklist format.</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> std::string BLError;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <a class="code" href="classllvm_1_1OwningPtr.html">llvm::OwningPtr<llvm::SpecialCaseList></a> SCL(</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::SpecialCaseList::create</a>(BLPath, BLError));</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">if</span> (!SCL.get())</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_malformed_sanitizer_blacklist) << BLError;</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> BlacklistFile = BLPath;</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_no_such_file) << BLPath;</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> }</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">// If no -fsanitize-blacklist option is specified, try to look up for</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">// blacklist in the resource directory.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> std::string BLPath;</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">if</span> (getDefaultBlacklistForKind(D, <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, BLPath) &&</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> llvm::sys::fs::exists(BLPath))</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> BlacklistFile = BLPath;</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> </div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">// Parse -f(no-)sanitize-memory-track-origins options.</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span> (NeedsMsan)</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> MsanTrackOrigins =</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> Args.hasFlag(options::OPT_fsanitize_memory_track_origins,</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> options::OPT_fno_sanitize_memory_track_origins,</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/* Default */</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">// Parse -f(no-)sanitize-address-zero-base-shadow options.</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">if</span> (NeedsAsan) {</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">bool</span> IsAndroid = (TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().getEnvironment() == llvm::Triple::Android);</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">bool</span> ZeroBaseShadowDefault = IsAndroid;</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> AsanZeroBaseShadow =</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> Args.hasFlag(options::OPT_fsanitize_address_zero_base_shadow,</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> options::OPT_fno_sanitize_address_zero_base_shadow,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> ZeroBaseShadowDefault);</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">// Zero-base shadow is a requirement on Android.</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span> (IsAndroid && !AsanZeroBaseShadow) {</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_argument_not_allowed_with)</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> << <span class="stringliteral">"-fno-sanitize-address-zero-base-shadow"</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> << lastArgumentForKind(D, Args, Address);</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> }</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#ad57172a4740b38ed4f8a8bb7f7d73758"> 190</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#ad57172a4740b38ed4f8a8bb7f7d73758">SanitizerArgs::addArgs</a>(<span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> llvm::opt::ArgStringList &CmdArgs)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">if</span> (!<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> SanitizeOpt(<span class="stringliteral">"-fsanitize="</span>);</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#define SANITIZER(NAME, ID) \</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor"> if (Kind & ID) \</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor"> SanitizeOpt += NAME ",";</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> SanitizeOpt.pop_back();</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> CmdArgs.push_back(Args.MakeArgString(SanitizeOpt));</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span> (!BlacklistFile.empty()) {</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <a class="code" href="classllvm_1_1SmallString.html">SmallString<64></a> BlacklistOpt(<span class="stringliteral">"-fsanitize-blacklist="</span>);</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> BlacklistOpt += BlacklistFile;</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> CmdArgs.push_back(Args.MakeArgString(BlacklistOpt));</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> }</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span> (MsanTrackOrigins)</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> CmdArgs.push_back(Args.MakeArgString(<span class="stringliteral">"-fsanitize-memory-track-origins"</span>));</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> <span class="keywordflow">if</span> (AsanZeroBaseShadow)</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> CmdArgs.push_back(</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> Args.MakeArgString(<span class="stringliteral">"-fsanitize-address-zero-base-shadow"</span>));</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">// Workaround for PR16386.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span> (needsMsanRt())</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> CmdArgs.push_back(Args.MakeArgString(<span class="stringliteral">"-fno-assume-sane-operator-new"</span>));</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">unsigned</span> SanitizerArgs::parse(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>) {</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordtype">unsigned</span> ParsedKind = llvm::StringSwitch<SanitizeKind>(<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>)</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> #define <a class="code" href="LangOptions_8h.html#a141e897af3d502876011bcf9002b385e">SANITIZER</a>(NAME, <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>) .Case(NAME, <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="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor">#define SANITIZER_GROUP(NAME, ID, ALIAS) .Case(NAME, ID##Group)</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> .Default(SanitizeKind());</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">// Assume -fsanitize=address implies -fsanitize=init-order,use-after-return.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">// FIXME: This should be either specified in Sanitizers.def, or go away when</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment">// we get rid of "-fsanitize=init-order,use-after-return" flags at all.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span> (ParsedKind & Address)</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> ParsedKind |= InitOrder | UseAfterReturn;</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">return</span> ParsedKind;</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordtype">unsigned</span> SanitizerArgs::expandGroups(<span class="keywordtype">unsigned</span> Kinds) {</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor">#define SANITIZER(NAME, ID)</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor"></span><span class="preprocessor">#define SANITIZER_GROUP(NAME, ID, ALIAS) if (Kinds & ID##Group) Kinds |= ID;</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">return</span> Kinds;</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keywordtype">void</span> SanitizerArgs::filterUnsupportedMask(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> &TC, <span class="keywordtype">unsigned</span> &Kinds,</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordtype">unsigned</span> Mask,</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">bool</span> DiagnoseErrors,</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordtype">unsigned</span> &DiagnosedKinds) {</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordtype">unsigned</span> MaskedKinds = Kinds & Mask;</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">if</span> (!MaskedKinds)</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> Kinds &= ~Mask;</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">// Do we have new kinds to diagnose?</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">if</span> (DiagnoseErrors && (DiagnosedKinds & MaskedKinds) != MaskedKinds) {</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">// Only diagnose the new kinds.</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> std::string Desc =</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> describeSanitizeArg(Args, A, MaskedKinds & ~DiagnosedKinds);</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a948578fde08fb304953d76205b1ba7cd">getDriver</a>().<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_unsupported_opt_for_target)</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> << Desc << TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().str();</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> DiagnosedKinds |= MaskedKinds;</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordtype">unsigned</span> SanitizerArgs::filterUnsupportedKinds(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> &TC,</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">unsigned</span> Kinds,</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keyword">const</span> llvm::opt::ArgList &Args,</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordtype">bool</span> DiagnoseErrors,</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">unsigned</span> &DiagnosedKinds) {</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordtype">bool</span> IsLinux = TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().getOS() == llvm::Triple::Linux;</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordtype">bool</span> IsX86 = TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().getArch() == llvm::Triple::x86;</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordtype">bool</span> IsX86_64 = TC.<a class="code" href="classclang_1_1driver_1_1ToolChain.html#a284d9d6f7ac8fc54c91694619d5967d9">getTriple</a>().getArch() == llvm::Triple::x86_64;</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">if</span> (!(IsLinux && IsX86_64)) {</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> filterUnsupportedMask(TC, Kinds, Thread | Memory | DataFlow, Args, A,</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> DiagnoseErrors, DiagnosedKinds);</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> <span class="keywordflow">if</span> (!(IsLinux && (IsX86 || IsX86_64))) {</div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> filterUnsupportedMask(TC, Kinds, Function, Args, A, DiagnoseErrors,</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> DiagnosedKinds);</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> Kinds;</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"> 281</span> <span class="keywordtype">unsigned</span> SanitizerArgs::parse(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">bool</span> DiagnoseErrors) {</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = 0;</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, N = A->getNumValues(); I != N; ++I) {</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">if</span> (<span class="keywordtype">unsigned</span> K = parse(A->getValue(I)))</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> Kind |= K;</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (DiagnoseErrors)</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::err_drv_unsupported_option_argument)</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> << A->getOption().getName() << A->getValue(I);</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> <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>;</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">bool</span> SanitizerArgs::parse(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> llvm::opt::ArgList &Args,</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keyword">const</span> llvm::opt::Arg *A, <span class="keywordtype">unsigned</span> &Add,</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordtype">unsigned</span> &Remove, <span class="keywordtype">bool</span> DiagnoseErrors) {</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> Add = 0;</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> Remove = 0;</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *DeprecatedReplacement = 0;</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_faddress_sanitizer)) {</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> Add = Address;</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> DeprecatedReplacement = <span class="stringliteral">"-fsanitize=address"</span>;</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fno_address_sanitizer)) {</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> Remove = Address;</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> DeprecatedReplacement = <span class="stringliteral">"-fno-sanitize=address"</span>;</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fthread_sanitizer)) {</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> Add = Thread;</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> DeprecatedReplacement = <span class="stringliteral">"-fsanitize=thread"</span>;</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fno_thread_sanitizer)) {</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> Remove = Thread;</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> DeprecatedReplacement = <span class="stringliteral">"-fno-sanitize=thread"</span>;</div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fcatch_undefined_behavior)) {</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> Add = UndefinedTrap;</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> DeprecatedReplacement =</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="stringliteral">"-fsanitize=undefined-trap -fsanitize-undefined-trap-on-error"</span>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fbounds_checking) ||</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> A->getOption().matches(options::OPT_fbounds_checking_EQ)) {</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> Add = LocalBounds;</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> DeprecatedReplacement = <span class="stringliteral">"-fsanitize=local-bounds"</span>;</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fsanitize_EQ)) {</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> Add = parse(D, A, DiagnoseErrors);</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (A->getOption().matches(options::OPT_fno_sanitize_EQ)) {</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> Remove = parse(D, A, DiagnoseErrors);</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment">// Flag is not relevant to sanitizers.</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> }</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment">// If this is a deprecated synonym, produce a warning directing users</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment">// towards the new spelling.</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">if</span> (DeprecatedReplacement && DiagnoseErrors)</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> D.<a class="code" href="classclang_1_1driver_1_1Driver.html#a49961de34e935d830d621e541380e668">Diag</a>(diag::warn_drv_deprecated_arg)</div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> << A->getAsString(Args) << DeprecatedReplacement;</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> std::string SanitizerArgs::lastArgumentForKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D,</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keyword">const</span> llvm::opt::ArgList &Args,</div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordtype">unsigned</span> Kind) {</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keywordflow">for</span> (llvm::opt::ArgList::const_reverse_iterator I = Args.rbegin(),</div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> E = Args.rend();</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> I != E; ++I) {</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">unsigned</span> Add, Remove;</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">if</span> (parse(D, Args, *I, Add, Remove, <span class="keyword">false</span>) &&</div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> (expandGroups(Add) & <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>))</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">return</span> describeSanitizeArg(Args, *I, Kind);</div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> Kind &= ~Remove;</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> llvm_unreachable(<span class="stringliteral">"arg list didn't provide expected value"</span>);</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> </div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> std::string SanitizerArgs::describeSanitizeArg(<span class="keyword">const</span> llvm::opt::ArgList &Args,</div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keywordtype">unsigned</span> Mask) {</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">if</span> (!A->getOption().matches(options::OPT_fsanitize_EQ))</div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">return</span> A->getAsString(Args);</div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> std::string Sanitizers;</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, N = A->getNumValues(); I != N; ++I) {</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">if</span> (expandGroups(parse(A->getValue(I))) & Mask) {</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">if</span> (!Sanitizers.empty())</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> Sanitizers += <span class="stringliteral">","</span>;</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> Sanitizers += A->getValue(I);</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> }</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</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> assert(!Sanitizers.empty() && <span class="stringliteral">"arg didn't provide expected value"</span>);</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">return</span> <span class="stringliteral">"-fsanitize="</span> + Sanitizers;</div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</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> <span class="keywordtype">bool</span> SanitizerArgs::getDefaultBlacklistForKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keywordtype">unsigned</span> Kind,</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> std::string &BLPath) {</div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *BlacklistFile = 0;</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">if</span> (Kind & NeedsAsanRt)</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> BlacklistFile = <span class="stringliteral">"asan_blacklist.txt"</span>;</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Kind & NeedsMsanRt)</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> BlacklistFile = <span class="stringliteral">"msan_blacklist.txt"</span>;</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Kind & NeedsTsanRt)</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> BlacklistFile = <span class="stringliteral">"tsan_blacklist.txt"</span>;</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Kind & NeedsDfsanRt)</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> BlacklistFile = <span class="stringliteral">"dfsan_abilist.txt"</span>;</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">if</span> (BlacklistFile) {</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> SmallString<64> Path(D.<a class="code" href="classclang_1_1driver_1_1Driver.html#ab6e86cc00f556e22bb9f89d07bfcc065" title="The path to the compiler resource directory.">ResourceDir</a>);</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> llvm::sys::path::append(Path, BlacklistFile);</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> BLPath = Path.str();</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="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/SanitizerArgs_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,247 @@
+<!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: SanitizerArgs.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_79a4e43f5883e96ea4f45c2e67339e2c.html">Driver</a></li><li class="navelem"><a class="el" href="dir_7586acc61ec3e12e4bc52d53567f5268.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">SanitizerArgs.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="SanitizerArgs_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/Driver/Release+Asserts/SanitizerArgs.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/Driver/Release+Asserts/SanitizerArgs.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> SanitizerArgs.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/SanitizerArgs.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/include/llvm/Option/Arg.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.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/Support/type_traits.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/Option/Option.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/Option/OptTable.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/ADT/StringSet.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/include/llvm/Option/ArgList.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Driver.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Phases.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Types.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Types.def \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/include/llvm/Support/Path.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/DriverDiagnostic.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticDriverKinds.inc \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/Options.inc \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/ToolChain.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/<a class="code" href="Tooling_8cpp.html#a611b216472a9171383c588b3c166b0a1">Action</a>.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h</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> /home/tstellar/llvm/tools/clang/lib/Driver/../../include/clang/Driver/SanitizerArgs.h:</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> /home/tstellar/llvm/include/llvm/Option/Arg.h:</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</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> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</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> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</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> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</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> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</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> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</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> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</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> /home/tstellar/llvm/include/llvm/Option/Option.h:</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> /home/tstellar/llvm/include/llvm/Option/OptTable.h:</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> /home/tstellar/llvm/include/llvm/ADT/StringSet.h:</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> /home/tstellar/llvm/include/llvm/ADT/StringMap.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> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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> /home/tstellar/llvm/include/llvm/Option/OptSpecifier.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/include/llvm/Support/ErrorHandling.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/Option/ArgList.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/tools/clang/lib/Driver/../../include/clang/Basic/Sanitizers.def:</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/tools/clang/lib/Driver/../../include/clang/Driver/Driver.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/tools/clang/lib/Driver/../../include/clang/Basic/Diagnostic.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/tools/clang/lib/Driver/../../include/clang/Basic/DiagnosticIDs.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/tools/clang/lib/Driver/../../include/clang/Basic/LLVM.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/Support/Casting.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/ADT/None.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/ADT/IntrusiveRefCntPtr.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/Driver/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Driver/../../include/clang/Basic/DiagnosticOptions.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/Driver/../../include/clang/Basic/DiagnosticOptions.def:</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/Driver/../../include/clang/Basic/SourceLocation.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/PointerLikeTypeTraits.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/include/llvm/ADT/ArrayRef.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/include/llvm/ADT/DenseMap.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/include/llvm/ADT/DenseMapInfo.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/Driver/../../include/clang/Driver/Phases.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/Driver/../../include/clang/Driver/Types.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/Driver/../../include/clang/Driver/Types.def:</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/tools/clang/lib/Driver/../../include/clang/Driver/Util.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/OwningPtr.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/Triple.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/Twine.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/Support/Path.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/ADT/SmallString.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/tools/clang/lib/Driver/../../include/clang/Driver/DriverDiagnostic.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/Driver/../../include/clang/Basic/DiagnosticDriverKinds.inc:</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/Driver/../../include/clang/Driver/Options.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/tools/clang/lib/Driver/../../include/clang/Driver/Options.inc:</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/Driver/../../include/clang/Driver/ToolChain.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/Driver/../../include/clang/Driver/<a class="code" href="Tooling_8cpp.html#a611b216472a9171383c588b3c166b0a1">Action</a>.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/ADT/StringSwitch.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/Support/FileSystem.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/TimeValue.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/system_error.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/Transforms/Utils/SpecialCaseList.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/SanitizerArgs_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SanitizerArgs_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,226 @@
+<!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: SanitizerArgs.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_21b2f75600cfba94559a3417605488ac.html">Driver</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">SanitizerArgs.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="SanitizerArgs_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">//===--- SanitizerArgs.h - Arguments for sanitizer tools -------*- 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="preprocessor">#ifndef CLANG_LIB_DRIVER_SANITIZERARGS_H_</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor"></span><span class="preprocessor">#define CLANG_LIB_DRIVER_SANITIZERARGS_H_</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "llvm/Option/Arg.h"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "llvm/Option/ArgList.h"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">namespace </span>driver {</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">class </span>Driver;</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">class </span>ToolChain;</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html"> 23</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html">SanitizerArgs</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> /// Assign ordinals to sanitizer flags. We'll use the ordinal values as</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> /// bit positions within \c Kind.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span> <span class="keyword">enum</span> SanitizeOrdinal {</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#define SANITIZER(NAME, ID) SO_##ID,</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define SANITIZER_GROUP(NAME, ID, ALIAS) SO_##ID##Group,</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> SO_Count</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> };</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"></span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> /// Bugs to catch at runtime.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"></span> <span class="keyword">enum</span> SanitizeKind {</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="SanitizerArgs_8h.html#a141e897af3d502876011bcf9002b385e"> 35</a></span> <span class="preprocessor">#define SANITIZER(NAME, ID) ID = 1 << SO_##ID,</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="SanitizerArgs_8h.html#a6880c3f27cd4321193c73908b32187e9"> 36</a></span> <span class="preprocessor"></span><span class="preprocessor">#define SANITIZER_GROUP(NAME, ID, ALIAS) \</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"> ID = ALIAS, ID##Group = 1 << SO_##ID##Group,</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/Basic/Sanitizers.def"</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> NeedsAsanRt = Address,</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> NeedsTsanRt = Thread,</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> NeedsMsanRt = Memory,</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> NeedsDfsanRt = DataFlow,</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> NeedsLeakDetection = Leak,</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> NeedsUbsanRt = Undefined | Integer,</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> NotAllowedWithTrap = Vptr,</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> HasZeroBaseShadow = Thread | Memory | DataFlow</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="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>;</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> std::string BlacklistFile;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">bool</span> MsanTrackOrigins;</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">bool</span> AsanZeroBaseShadow;</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">bool</span> UbsanTrapOnError;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6">SanitizerArgs</a>();<span class="comment"></span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> /// Parses the sanitizer arguments from an argument list.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"></span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a2252222de0114fce3356fcd607b365b6">SanitizerArgs</a>(<span class="keyword">const</span> ToolChain &TC, <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>);</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a53e815989559c72ae5a4f667001d12e1"> 60</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a53e815989559c72ae5a4f667001d12e1">needsAsanRt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsAsanRt; }</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a1c20248bb8233e287d61e1f9375712d8"> 61</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a1c20248bb8233e287d61e1f9375712d8">needsTsanRt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsTsanRt; }</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a21cde755d40168d70c71964a9f3f6dcb"> 62</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a21cde755d40168d70c71964a9f3f6dcb">needsMsanRt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsMsanRt; }</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a5e95ccba78fed4da6e9599a37239c124"> 63</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a5e95ccba78fed4da6e9599a37239c124">needsLeakDetection</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsLeakDetection; }</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#aca50814dbc0ae09a70183497fbf2fd79"> 64</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#aca50814dbc0ae09a70183497fbf2fd79">needsLsanRt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a5e95ccba78fed4da6e9599a37239c124">needsLeakDetection</a>() && !<a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a53e815989559c72ae5a4f667001d12e1">needsAsanRt</a>();</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> }</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a185c8253eac56bac733045820d85eaeb"> 67</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a185c8253eac56bac733045820d85eaeb">needsUbsanRt</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">return</span> !UbsanTrapOnError && (<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsUbsanRt);</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> }</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a3afca23fe97ec46a07583719d789a1f9"> 70</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a3afca23fe97ec46a07583719d789a1f9">needsDfsanRt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NeedsDfsanRt; }</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a8ebbab65aa6befb1d0cbb7cc9f7183d5"> 72</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a8ebbab65aa6befb1d0cbb7cc9f7183d5">sanitizesVptr</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & Vptr; }</div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a865970f2c10810effa579f0c724e5145"> 73</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a865970f2c10810effa579f0c724e5145">notAllowedWithTrap</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & NotAllowedWithTrap; }</div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a101b67766985a4f854f8c0730e3264ee"> 74</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#a101b67766985a4f854f8c0730e3264ee">hasZeroBaseShadow</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">return</span> (<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> & HasZeroBaseShadow) || AsanZeroBaseShadow;</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> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1driver_1_1SanitizerArgs.html#ad57172a4740b38ed4f8a8bb7f7d73758">addArgs</a>(<span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> llvm::opt::ArgStringList &CmdArgs) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">void</span> clear();</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> /// Parse a single value from a -fsanitize= or -fno-sanitize= value list.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> /// Returns OR of members of the \c SanitizeKind enumeration, or \c 0</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> /// if \p Value is not known.</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"></span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> parse(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>);</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"></span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> /// Parse a -fsanitize= or -fno-sanitize= argument's values, diagnosing any</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> /// invalid components.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"></span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> parse(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">bool</span> DiagnoseErrors);</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"></span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> /// Parse a single flag of the form -f[no]sanitize=, or</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> /// -f*-sanitizer. Sets the masks defining required change of Kind value.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> /// Returns true if the flag was parsed successfully.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> parse(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">const</span> llvm::opt::Arg *A, <span class="keywordtype">unsigned</span> &Add, <span class="keywordtype">unsigned</span> &Remove,</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">bool</span> DiagnoseErrors);</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"></span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> /// Produce an argument string from ArgList \p Args, which shows how it</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> /// provides a sanitizer kind in \p Mask. For example, the argument list</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> /// "-fsanitize=thread,vptr -faddress-sanitizer" with mask \c NeedsUbsanRt</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> /// would produce "-fsanitize=vptr".</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"></span> <span class="keyword">static</span> std::string lastArgumentForKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D,</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>);</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"></span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// Produce an argument string from argument \p A, which shows how it provides</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> /// a value in \p Mask. For instance, the argument</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> /// "-fsanitize=address,alignment" with mask \c NeedsUbsanRt would produce</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> /// "-fsanitize=alignment".</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"></span> <span class="keyword">static</span> std::string describeSanitizeArg(<span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">unsigned</span> Mask);</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> getDefaultBlacklistForKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1Driver.html">Driver</a> &D, <span class="keywordtype">unsigned</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>,</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> std::string &BLPath);</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"> /// Return the smallest superset of sanitizer set \p Kinds such that each</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> /// member of each group whose flag is set in \p Kinds has its flag set in the</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> /// result.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"></span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> expandGroups(<span class="keywordtype">unsigned</span> Kinds);</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> /// Return the subset of \p Kinds supported by toolchain \p TC. If</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> /// \p DiagnoseErrors is true, produce an error diagnostic for each sanitizer</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> /// removed from \p Kinds.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"></span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> filterUnsupportedKinds(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> &TC, <span class="keywordtype">unsigned</span> Kinds,</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">bool</span> DiagnoseErrors,</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">unsigned</span> &DiagnosedKinds);</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"></span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"> /// The flags in \p Mask are unsupported by \p TC. If present in \p Kinds,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> /// remove them and produce an error diagnostic referring to \p A if</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> /// \p DiagnoseErrors is true.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"></span> <span class="keyword">static</span> <span class="keywordtype">void</span> filterUnsupportedMask(<span class="keyword">const</span> <a class="code" href="classclang_1_1driver_1_1ToolChain.html" title="ToolChain - Access to tools for a single platform.">ToolChain</a> &TC, <span class="keywordtype">unsigned</span> &Kinds,</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">unsigned</span> Mask,</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">const</span> llvm::opt::ArgList &<a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">const</span> llvm::opt::Arg *A,</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">bool</span> DiagnoseErrors,</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">unsigned</span> &DiagnosedKinds);</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> </div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> } <span class="comment">// namespace driver</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> } <span class="comment">// namespace clang</span></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> <span class="preprocessor">#endif // CLANG_LIB_DRIVER_SANITIZERARGS_H_</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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/ScanfFormatString_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ScanfFormatString_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ScanfFormatString_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ScanfFormatString_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,601 @@
+<!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: ScanfFormatString.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">ScanfFormatString.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="ScanfFormatString_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">//= ScanfFormatString.cpp - Analysis of printf 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">// Handling of format string in scanf and friends. The structure of format</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// strings for fscanf() are described in C99 7.19.6.2.</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="FormatString_8h.html">clang/Analysis/Analyses/FormatString.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="FormatStringParsing_8h.html">FormatStringParsing.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_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="l00022"></a><span class="lineno"> 22</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="l00023"></a><span class="lineno"> 23</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="l00024"></a><span class="lineno"> 24</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">clang::analyze_scanf::ScanfConversionSpecifier</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__scanf_1_1ScanfSpecifier.html">clang::analyze_scanf::ScanfSpecifier</a>;</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">using</span> <a class="code" href="classclang_1_1UpdateOnReturn.html">clang::UpdateOnReturn</a>;</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html">clang::analyze_format_string::SpecifierResult<ScanfSpecifier></a></div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="ScanfFormatString_8cpp.html#ae08b4de52506d51650a102ecfabe15d4"> 30</a></span> <a class="code" href="ScanfFormatString_8cpp.html#ae08b4de52506d51650a102ecfabe15d4">ScanfSpecifierResult</a>;</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="ScanfFormatString_8cpp.html#a17457abe8a90e05ddb57662f14172b98"> 32</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="ScanfFormatString_8cpp.html#a17457abe8a90e05ddb57662f14172b98">ParseScanList</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> &H,</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">ScanfConversionSpecifier</a> &CS,</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</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="l00035"></a><span class="lineno"> 35</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *I = Beg;</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *start = I - 1;</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <a class="code" href="classclang_1_1UpdateOnReturn.html">UpdateOnReturn <const char*></a> UpdateBeg(Beg, I);</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// No more characters?</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a959fb76b8aff05e12290c6742fc07f53">HandleIncompleteScanList</a>(start, I);</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">return</span> <span class="keyword">true</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> </div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// Special case: ']' is the first character.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">if</span> (*I == <span class="charliteral">']'</span>) {</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">if</span> (++I == E) {</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a959fb76b8aff05e12290c6742fc07f53">HandleIncompleteScanList</a>(start, I - 1);</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">return</span> <span class="keyword">true</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> </div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// Look for a ']' character which denotes the end of the scan list.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">while</span> (*I != <span class="charliteral">']'</span>) {</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (++I == E) {</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a959fb76b8aff05e12290c6742fc07f53">HandleIncompleteScanList</a>(start, I - 1);</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">return</span> <span class="keyword">true</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> } </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> CS.<a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html#ab70cd6fbf8283afde86c3cfb17bdb1e7">setEndScanList</a>(I);</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> }</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> <span class="comment">// FIXME: Much of this is copy-paste from ParsePrintfSpecifier.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// We can possibly refactor.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="ScanfFormatString_8cpp.html#a7cd8042fccf86f89775553b58e480b8c"> 67</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html">ScanfSpecifierResult</a> <a class="code" href="ScanfFormatString_8cpp.html#a7cd8042fccf86f89775553b58e480b8c">ParseScanfSpecifier</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> &H,</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *&Beg,</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *E,</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">unsigned</span> &argIndex,</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</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="l00072"></a><span class="lineno"> 72</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="l00073"></a><span class="lineno"> 73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">using namespace </span>clang::analyze_scanf;</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *I = Beg;</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *Start = 0;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <a class="code" href="classclang_1_1UpdateOnReturn.html">UpdateOnReturn <const char*></a> UpdateBeg(Beg, I);</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">// Look for a '%' character that indicates the start of a format specifier.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">for</span> ( ; I != E ; ++I) {</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">char</span> c = *I;</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">if</span> (c == <span class="charliteral">'\0'</span>) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// Detect spurious null characters, which are likely errors.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a9c1f8e30343640d08cac15dae21f76b6">HandleNullChar</a>(I);</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">if</span> (c == <span class="charliteral">'%'</span>) {</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> Start = I++; <span class="comment">// Record the start of the format specifier.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// No format specifier found?</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">if</span> (!Start)</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</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="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html">ScanfSpecifier</a> FS;</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1analyze__format__string.html#ad97cb45df8d6378ec063ee8e16e5ff75">ParseArgPosition</a>(H, FS, Start, I, E))</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span> <span class="keyword">true</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> <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</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="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">return</span> <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> <span class="comment">// Look for '*' flag if it is present.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span> (*I == <span class="charliteral">'*'</span>) {</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> FS.setSuppressAssignment(I);</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (++I == E) {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</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="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">return</span> <span class="keyword">true</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> </div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">// Look for the field width (if any). Unlike printf, this is either</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// a fixed integer or isn't present.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</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">clang::analyze_format_string::ParseAmount</a>(I, E);</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (Amt.getHowSpecified() != OptionalAmount::NotSpecified) {</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> assert(Amt.getHowSpecified() == OptionalAmount::Constant);</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> FS.setFieldWidth(Amt);</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> <span class="keywordflow">if</span> (I == E) {</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</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="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> }</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="comment">// Look for the length modifier.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1analyze__format__string.html#ac7fa3f3d47a0a19a04519dcdaf829343">ParseLengthModifier</a>(FS, I, E, LO, <span class="comment">/*scanf=*/</span><span class="keyword">true</span>) && I == E) {</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">// No more characters left?</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</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="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</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="comment">// Detect spurious null characters, which are likely errors.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (*I == <span class="charliteral">'\0'</span>) {</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#a9c1f8e30343640d08cac15dae21f76b6">HandleNullChar</a>(I);</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">// Finally, look for the conversion specifier.</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *conversionPosition = I++;</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">ScanfConversionSpecifier::Kind</a> k = ScanfConversionSpecifier::InvalidSpecifier;</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">switch</span> (*conversionPosition) {</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">case</span> <span class="charliteral">'%'</span>: k = ConversionSpecifier::PercentArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">case</span> <span class="charliteral">'A'</span>: k = ConversionSpecifier::AArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">case</span> <span class="charliteral">'E'</span>: k = ConversionSpecifier::EArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">case</span> <span class="charliteral">'F'</span>: k = ConversionSpecifier::FArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">case</span> <span class="charliteral">'G'</span>: k = ConversionSpecifier::GArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">case</span> <span class="charliteral">'X'</span>: k = ConversionSpecifier::XArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">case</span> <span class="charliteral">'a'</span>: k = ConversionSpecifier::aArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">case</span> <span class="charliteral">'d'</span>: k = ConversionSpecifier::dArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">case</span> <span class="charliteral">'e'</span>: k = ConversionSpecifier::eArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">case</span> <span class="charliteral">'f'</span>: k = ConversionSpecifier::fArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">case</span> <span class="charliteral">'g'</span>: k = ConversionSpecifier::gArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">case</span> <span class="charliteral">'i'</span>: k = ConversionSpecifier::iArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">case</span> <span class="charliteral">'n'</span>: k = ConversionSpecifier::nArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">case</span> <span class="charliteral">'c'</span>: k = ConversionSpecifier::cArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">case</span> <span class="charliteral">'C'</span>: k = ConversionSpecifier::CArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">case</span> <span class="charliteral">'S'</span>: k = ConversionSpecifier::SArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">case</span> <span class="charliteral">'['</span>: k = ConversionSpecifier::ScanListArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">case</span> <span class="charliteral">'u'</span>: k = ConversionSpecifier::uArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">case</span> <span class="charliteral">'x'</span>: k = ConversionSpecifier::xArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">case</span> <span class="charliteral">'o'</span>: k = ConversionSpecifier::oArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">case</span> <span class="charliteral">'s'</span>: k = ConversionSpecifier::sArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">case</span> <span class="charliteral">'p'</span>: k = ConversionSpecifier::pArg; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">// Apple extensions</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">// Apple-specific</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">case</span> <span class="charliteral">'D'</span>:</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</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="l00181"></a><span class="lineno"> 181</span> k = ConversionSpecifier::DArg;</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">case</span> <span class="charliteral">'O'</span>:</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</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="l00185"></a><span class="lineno"> 185</span> k = ConversionSpecifier::OArg;</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">case</span> <span class="charliteral">'U'</span>:</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</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="l00189"></a><span class="lineno"> 189</span> k = ConversionSpecifier::UArg;</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">break</span>;</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> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">ScanfConversionSpecifier</a> CS(conversionPosition, k);</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span> (k == ScanfConversionSpecifier::ScanListArg) {</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">if</span> (<a class="code" href="ScanfFormatString_8cpp.html#a17457abe8a90e05ddb57662f14172b98">ParseScanList</a>(H, CS, I, E))</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> FS.setConversionSpecifier(CS);</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">if</span> (CS.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0436843bec3bd58a671bb0da0cdc5efa">consumesDataArgument</a>() && !FS.getSuppressAssignment()</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> && !FS.usesPositionalArg())</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> FS.setArgIndex(argIndex++);</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">// FIXME: '%' and '*' doesn't make sense. Issue a warning.</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">// FIXME: 'ConsumedSoFar' and '*' doesn't make sense.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span> (k == ScanfConversionSpecifier::InvalidSpecifier) {</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">// Assume the conversion takes one argument.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">return</span> !H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#afc5ecd927d044433bda337f0171e7809">HandleInvalidScanfConversionSpecifier</a>(FS, Beg, I - Beg);</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> <span class="keywordflow">return</span> <a class="code" href="ScanfFormatString_8cpp.html#ae08b4de52506d51650a102ecfabe15d4">ScanfSpecifierResult</a>(Start, FS);</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#a0a02eecb52cb3f9bc302cc7d5159b058"> 212</a></span> ArgType ScanfSpecifier::getArgType(<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="l00213"></a><span class="lineno"> 213</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__scanf_1_1ScanfConversionSpecifier.html">ScanfConversionSpecifier</a> &CS = getConversionSpecifier();</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span> (!CS.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#a0436843bec3bd58a671bb0da0cdc5efa">consumesDataArgument</a>())</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">return</span> ArgType::Invalid();</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">switch</span>(CS.<a class="code" href="classclang_1_1analyze__format__string_1_1ConversionSpecifier.html#aa3b05ff4b64d8dc3e6f78f633fe21eaf">getKind</a>()) {</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment">// Signed int.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">case</span> ConversionSpecifier::dArg:</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">case</span> ConversionSpecifier::DArg:</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">case</span> ConversionSpecifier::iArg:</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>);</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">case</span> LengthModifier::AsChar:</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType::AnyCharTy);</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">case</span> LengthModifier::AsShort:</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ac369991763a2aa6bf9a8a3ded653afd8">ShortTy</a>);</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a0ba7f01d5d975ce7f18b482b052f10fb">LongTy</a>);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">case</span> LengthModifier::AsLongLong:</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">case</span> LengthModifier::AsQuad:</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>);</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">case</span> LengthModifier::AsInt64:</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>, <span class="stringliteral">"__int64"</span>));</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">case</span> LengthModifier::AsIntMax:</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ac452fb63a245bfca5f8224fdfefbcb6d" title="Return the unique type for "intmax_t" (C99 7.18.1.5), defined in <stdint.h>.">getIntMaxType</a>(), <span class="stringliteral">"intmax_t"</span>));</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">case</span> LengthModifier::AsSizeT:</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">// FIXME: ssize_t.</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">return</span> ArgType();</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">case</span> LengthModifier::AsPtrDiff:</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#abdf7588b14d9fa2a1ee40900a0253885" title="Return the unique type for "ptrdiff_t" (C99 7.17) defined in <stddef.h>. Pointer - pointer requires t...">getPointerDiffType</a>(), <span class="stringliteral">"ptrdiff_t"</span>));</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">case</span> LengthModifier::AsLongDouble:</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">// GNU extension.</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>);</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">case</span> LengthModifier::AsInt32:</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">case</span> LengthModifier::AsInt3264:</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">return</span> ArgType::Invalid();</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">// Unsigned int.</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">case</span> ConversionSpecifier::oArg:</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">case</span> ConversionSpecifier::OArg:</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">case</span> ConversionSpecifier::uArg:</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">case</span> ConversionSpecifier::UArg:</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">case</span> ConversionSpecifier::xArg:</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">case</span> ConversionSpecifier::XArg:</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#aad4fc6bf8d266a4dbc03cd9d3a86aab4">UnsignedIntTy</a>);</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">case</span> LengthModifier::AsChar:</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#aab61651b1e4d7e541343e7155263e861">UnsignedCharTy</a>);</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">case</span> LengthModifier::AsShort:</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ab9a777cc7ccb5b943f68c7d443b3cc86">UnsignedShortTy</a>);</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a76182acff43ec4d01c06751bb8a2f7bc">UnsignedLongTy</a>);</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">case</span> LengthModifier::AsLongLong:</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">case</span> LengthModifier::AsQuad:</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ab61a96bf1fc99d696d00eefe6104ea70">UnsignedLongLongTy</a>);</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">case</span> LengthModifier::AsInt64:</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ab61a96bf1fc99d696d00eefe6104ea70">UnsignedLongLongTy</a>, <span class="stringliteral">"unsigned __int64"</span>));</div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">case</span> LengthModifier::AsIntMax:</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a2f7b854e2f9a0526c01a473bdc9dfe44" title="Return the unique type for "uintmax_t" (C99 7.18.1.5), defined in <stdint.h>.">getUIntMaxType</a>(), <span class="stringliteral">"uintmax_t"</span>));</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">case</span> LengthModifier::AsSizeT:</div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ae3093bf57c46337c9a3f2f42ad8764ee" title="Return the unique type for "size_t" (C99 7.17), defined in <stddef.h>.">getSizeType</a>(), <span class="stringliteral">"size_t"</span>));</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">case</span> LengthModifier::AsPtrDiff:</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment">// FIXME: Unsigned version of ptrdiff_t?</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">return</span> ArgType();</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keywordflow">case</span> LengthModifier::AsLongDouble:</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment">// GNU extension.</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ab61a96bf1fc99d696d00eefe6104ea70">UnsignedLongLongTy</a>);</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">case</span> LengthModifier::AsInt32:</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">case</span> LengthModifier::AsInt3264:</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">return</span> ArgType::Invalid();</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"> 292</span> <span class="comment">// Float.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">case</span> ConversionSpecifier::aArg:</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">case</span> ConversionSpecifier::AArg:</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">case</span> ConversionSpecifier::eArg:</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">case</span> ConversionSpecifier::EArg:</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">case</span> ConversionSpecifier::fArg:</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">case</span> ConversionSpecifier::FArg:</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">case</span> ConversionSpecifier::gArg:</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">case</span> ConversionSpecifier::GArg:</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a30d239b8f8a7995d23cb4349038fa74f">FloatTy</a>);</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a366594144d93311decc086cb980d69c2">DoubleTy</a>);</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">case</span> LengthModifier::AsLongDouble:</div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a3c4917789ce7a56eb126523906975140">LongDoubleTy</a>);</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> ArgType::Invalid();</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment">// Char, string and scanlist.</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">case</span> ConversionSpecifier::cArg:</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">case</span> ConversionSpecifier::sArg:</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">case</span> ConversionSpecifier::ScanListArg:</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType::AnyCharTy);</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<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>(), <span class="stringliteral">"wchar_t"</span>));</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType::CStrTy);</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">return</span> ArgType::Invalid();</div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> }</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">case</span> ConversionSpecifier::CArg:</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">case</span> ConversionSpecifier::SArg:</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment">// FIXME: Mac OS X specific?</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<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>(), <span class="stringliteral">"wchar_t"</span>));</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(ArgType::WCStrTy, <span class="stringliteral">"wchar_t *"</span>));</div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">return</span> ArgType::Invalid();</div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</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"> 340</span> <span class="comment">// Pointer.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">case</span> ConversionSpecifier::pArg:</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType::CPointerTy);</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment">// Write-back.</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">case</span> ConversionSpecifier::nArg:</div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">switch</span> (LM.getKind()) {</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">case</span> LengthModifier::None:</div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>);</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">case</span> LengthModifier::AsChar:</div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a92063d19fd6dd12d2d3c1a016ffc849f">SignedCharTy</a>);</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">case</span> LengthModifier::AsShort:</div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ac369991763a2aa6bf9a8a3ded653afd8">ShortTy</a>);</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">case</span> LengthModifier::AsLong:</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a0ba7f01d5d975ce7f18b482b052f10fb">LongTy</a>);</div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">case</span> LengthModifier::AsLongLong:</div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">case</span> LengthModifier::AsQuad:</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">return</span> ArgType::PtrTo(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>);</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">case</span> LengthModifier::AsInt64:</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>, <span class="stringliteral">"__int64"</span>));</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">case</span> LengthModifier::AsIntMax:</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ac452fb63a245bfca5f8224fdfefbcb6d" title="Return the unique type for "intmax_t" (C99 7.18.1.5), defined in <stdint.h>.">getIntMaxType</a>(), <span class="stringliteral">"intmax_t"</span>));</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">case</span> LengthModifier::AsSizeT:</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">return</span> ArgType(); <span class="comment">// FIXME: ssize_t</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">case</span> LengthModifier::AsPtrDiff:</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">return</span> ArgType::PtrTo(ArgType(Ctx.<a class="code" href="classclang_1_1ASTContext.html#abdf7588b14d9fa2a1ee40900a0253885" title="Return the unique type for "ptrdiff_t" (C99 7.17) defined in <stddef.h>. Pointer - pointer requires t...">getPointerDiffType</a>(), <span class="stringliteral">"ptrdiff_t"</span>));</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">case</span> LengthModifier::AsLongDouble:</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">return</span> ArgType(); <span class="comment">// FIXME: Is this a known extension?</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">case</span> LengthModifier::AsAllocate:</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">case</span> LengthModifier::AsMAllocate:</div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">case</span> LengthModifier::AsInt32:</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">case</span> LengthModifier::AsInt3264:</div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">return</span> ArgType::Invalid();</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> </div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">break</span>;</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">return</span> ArgType();</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> </div>
+<div class="line"><a name="l00382"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#af221b74797cf9f97b898d26bbac08f06"> 382</a></span> <span class="keywordtype">bool</span> ScanfSpecifier::fixType(<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,</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &Ctx) {</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordflow">if</span> (!QT-><a class="code" href="classclang_1_1Type.html#a1c0038a55083ee0a292a020038ee04d8">isPointerType</a>())</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment">// %n is different from other conversion specifiers; don't try to fix it.</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">if</span> (CS.getKind() == ConversionSpecifier::nArg)</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> <a class="code" href="classclang_1_1QualType.html">QualType</a> PT = QT-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment">// If it's an enum, get its underlying type.</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1EnumType.html">EnumType</a> *ETy = QT-><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="l00395"></a><span class="lineno"> 395</span> QT = ETy->getDecl()->getIntegerType();</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="keyword">const</span> <a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a> *BT = PT-><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="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">if</span> (!BT)</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment">// Pointer to a character.</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#a55acffec6117bb5e10343ad3ed839245" title="Determine whether this type is any of the built-in character types.">isAnyCharacterType</a>()) {</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> CS.setKind(ConversionSpecifier::sArg);</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#a3014dfbf688469a7502d73ff2c6b4194">isWideCharType</a>())</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> LM.setKind(LengthModifier::AsWideChar);</div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> LM.setKind(LengthModifier::None);</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordflow">return</span> <span class="keyword">true</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="comment">// Figure out the length modifier.</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">switch</span> (BT-><a class="code" href="classclang_1_1BuiltinType.html#aa4dd813e340ed81bcb67bf090152af2a">getKind</a>()) {</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment">// no modifier</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">case</span> BuiltinType::UInt:</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">case</span> BuiltinType::Int:</div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">case</span> BuiltinType::Float:</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> LM.setKind(LengthModifier::None);</div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">break</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="comment">// hh</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keywordflow">case</span> BuiltinType::Char_U:</div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">case</span> BuiltinType::UChar:</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">case</span> BuiltinType::Char_S:</div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">case</span> BuiltinType::SChar:</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> LM.setKind(LengthModifier::AsChar);</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> </div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="comment">// h</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">case</span> BuiltinType::Short:</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="keywordflow">case</span> BuiltinType::UShort:</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> LM.setKind(LengthModifier::AsShort);</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> <span class="comment">// l</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordflow">case</span> BuiltinType::Long:</div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordflow">case</span> BuiltinType::ULong:</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">case</span> BuiltinType::Double:</div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> LM.setKind(LengthModifier::AsLong);</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment">// ll</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">case</span> BuiltinType::LongLong:</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">case</span> BuiltinType::ULongLong:</div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> LM.setKind(LengthModifier::AsLongLong);</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment">// L</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">case</span> BuiltinType::LongDouble:</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> LM.setKind(LengthModifier::AsLongDouble);</div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keywordflow">break</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">// Don't know.</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</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="comment">// Handle size_t, ptrdiff_t, etc. that have dedicated length modifiers in C99.</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keywordflow">if</span> (isa<TypedefType>(PT) && (LangOpt.C99 || LangOpt.CPlusPlus11))</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> namedTypeToLengthModifier(PT, LM);</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> <span class="comment">// If fixing the length modifier was enough, we are done.</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">if</span> (hasValidLengthModifier(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a1f86013f3f8d32eec61a74c21d26b2a4">getTargetInfo</a>())) {</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keyword">const</span> analyze_scanf::ArgType &AT = getArgType(Ctx);</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">if</span> (AT.isValid() && AT.matchesType(Ctx, QT))</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordflow">return</span> <span class="keyword">true</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> </div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="comment">// Figure out the conversion specifier.</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#a1c534c15a8299e5d31f356edb725c31f" title="Floating point categories.">isRealFloatingType</a>())</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> CS.setKind(ConversionSpecifier::fArg);</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#accbf40bf016c5bc6dd5440b454d697b6">isSignedIntegerType</a>())</div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> CS.setKind(ConversionSpecifier::dArg);</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (PT-><a class="code" href="classclang_1_1Type.html#aa82feef1511943cfa01bba0ffc97d22c">isUnsignedIntegerType</a>())</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> CS.setKind(ConversionSpecifier::uArg);</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> llvm_unreachable(<span class="stringliteral">"Unexpected type"</span>);</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> }</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno"><a class="code" href="classclang_1_1analyze__scanf_1_1ScanfSpecifier.html#ad09401ad2d4c1d88015bd6f511f3ebce"> 481</a></span> <span class="keywordtype">void</span> <a class="code" href="AnalyzerOptions_8cpp.html#aa42b56c0f1a6fd7cfc7003117641f6a5">ScanfSpecifier::toString</a>(raw_ostream &os)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> os << <span class="stringliteral">"%"</span>;</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">if</span> (usesPositionalArg())</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> os << getPositionalArgIndex() << <span class="stringliteral">"$"</span>;</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">if</span> (SuppressAssignment)</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> os << <span class="stringliteral">"*"</span>;</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> FieldWidth.toString(os);</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> os << LM.toString();</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> os << CS.toString();</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> }</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="code" href="namespaceclang_1_1analyze__format__string.html#af090016fd7bafde22c843e925d696b3d"> 494</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1analyze__format__string.html#af090016fd7bafde22c843e925d696b3d">clang::analyze_format_string::ParseScanfString</a>(<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html">FormatStringHandler</a> &H,</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *I,</div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *E,</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</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="l00498"></a><span class="lineno"> 498</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="l00499"></a><span class="lineno"> 499</span> </div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keywordtype">unsigned</span> argIndex = 0;</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment">// Keep looking for a format specifier until we have exhausted the string.</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">while</span> (I != E) {</div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html">ScanfSpecifierResult</a> &FSR = <a class="code" href="ScanfFormatString_8cpp.html#a7cd8042fccf86f89775553b58e480b8c">ParseScanfSpecifier</a>(H, I, E, argIndex,</div>
+<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> LO, Target);</div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">// Did a fail-stop error of any kind occur when parsing the specifier?</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment">// If so, don't do any more processing.</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="keywordflow">if</span> (FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#a79df4ada1477e92835d20373d6f6bd8b">shouldStop</a>())</div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment">// Did we exhaust the string or encounter an error that</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="comment">// we can recover from?</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">if</span> (!FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#a0cbcf9e3550939eb641740eea1ddf42c">hasValue</a>())</div>
+<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="comment">// We have a format specifier. Pass it to the callback.</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">if</span> (!H.<a class="code" href="classclang_1_1analyze__format__string_1_1FormatStringHandler.html#aeac4749d62478cc736cebd4f6fe7c9bc">HandleScanfSpecifier</a>(FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#ad90334e7d6f94ba694c98da0471d6637">getValue</a>(), FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#abf8b43a094dfe310a968a7971ea97fed">getStart</a>(),</div>
+<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> I - FSR.<a class="code" href="classclang_1_1analyze__format__string_1_1SpecifierResult.html#abf8b43a094dfe310a968a7971ea97fed">getStart</a>())) {</div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">return</span> <span class="keyword">true</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> }</div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> assert(I == E && <span class="stringliteral">"Format string not exhausted"</span>);</div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:58 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