Author: d0k Date: Fri Nov 20 01:57:46 2015 New Revision: 253654 URL: http://llvm.org/viewvc/llvm-project?rev=253654&view=rev Log: Regenerate ASTMatchersReference without CRLF.
Modified: cfe/trunk/docs/LibASTMatchersReference.html Modified: cfe/trunk/docs/LibASTMatchersReference.html URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/LibASTMatchersReference.html?rev=253654&r1=253653&r2=253654&view=diff ============================================================================== --- cfe/trunk/docs/LibASTMatchersReference.html (original) +++ cfe/trunk/docs/LibASTMatchersReference.html Fri Nov 20 01:57:46 2015 @@ -1,103 +1,103 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" - "http://www.w3.org/TR/html4/strict.dtd"> -<html> -<head> -<title>AST Matcher Reference</title> -<link type="text/css" rel="stylesheet" href="../menu.css" /> -<link type="text/css" rel="stylesheet" href="../content.css" /> -<style type="text/css"> -td { - padding: .33em; -} -td.doc { - display: none; - border-bottom: 1px solid black; -} -td.name:hover { - color: blue; - cursor: pointer; -} -</style> -<script type="text/javascript"> -function toggle(id) { - if (!id) return; - row = document.getElementById(id); - if (row.style.display != 'table-cell') - row.style.display = 'table-cell'; - else - row.style.display = 'none'; -} -</script> -</head> -<body onLoad="toggle(location.hash.substring(1, location.hash.length - 6))"> - -<!--#include virtual="../menu.html.incl"--> - -<div id="content"> - -<h1>AST Matcher Reference</h1> - -<p>This document shows all currently implemented matchers. The matchers are grouped -by category and node type they match. You can click on matcher names to show the -matcher's source documentation.</p> - -<p>There are three different basic categories of matchers: -<ul> -<li><a href="#decl-matchers">Node Matchers:</a> Matchers that match a specific type of AST node.</li> -<li><a href="#narrowing-matchers">Narrowing Matchers:</a> Matchers that match attributes on AST nodes.</li> -<li><a href="#traversal-matchers">Traversal Matchers:</a> Matchers that allow traversal between AST nodes.</li> -</ul> -</p> - -<p>Within each category the matchers are ordered by node type they match on. -Note that if a matcher can match multiple node types, it will it will appear -multiple times. This means that by searching for Matcher<Stmt> you can -find all matchers that can be used to match on Stmt nodes.</p> - -<p>The exception to that rule are matchers that can match on any node. Those -are marked with a * and are listed in the beginning of each category.</p> - -<p>Note that the categorization of matchers is a great help when you combine -them into matcher expressions. You will usually want to form matcher expressions -that read like english sentences by alternating between node matchers and -narrowing or traversal matchers, like this: -<pre> -recordDecl(hasDescendant( - ifStmt(hasTrueExpression( - expr(hasDescendant( - ifStmt())))))) -</pre> -</p> - -<!-- ======================================================================= --> -<h2 id="decl-matchers">Node Matchers</h2> -<!-- ======================================================================= --> - -<p>Node matchers are at the core of matcher expressions - they specify the type -of node that is expected. Every match expression starts with a node matcher, -which can then be further refined with a narrowing or traversal matcher. All -traversal matchers take node matchers as their arguments.</p> - -<p>For convenience, all node matchers take an arbitrary number of arguments -and implicitly act as allOf matchers.</p> - -<p>Node matchers are the only matchers that support the bind("id") call to -bind the matched node to the given string, to be later retrieved from the -match callback.</p> - -<p>It is important to remember that the arguments to node matchers are -predicates on the same node, just with additional information about the type. -This is often useful to make matcher expression more readable by inlining bind -calls into redundant node matchers inside another node matcher: -<pre> -// This binds the CXXRecordDecl to "id", as the decl() matcher will stay on -// the same node. -recordDecl(decl().bind("id"), hasName("::MyClass")) -</pre> -</p> - -<table> -<tr style="text-align:left"><th>Return type</th><th>Name</th><th>Parameters</th></tr> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>AST Matcher Reference</title> +<link type="text/css" rel="stylesheet" href="../menu.css" /> +<link type="text/css" rel="stylesheet" href="../content.css" /> +<style type="text/css"> +td { + padding: .33em; +} +td.doc { + display: none; + border-bottom: 1px solid black; +} +td.name:hover { + color: blue; + cursor: pointer; +} +</style> +<script type="text/javascript"> +function toggle(id) { + if (!id) return; + row = document.getElementById(id); + if (row.style.display != 'table-cell') + row.style.display = 'table-cell'; + else + row.style.display = 'none'; +} +</script> +</head> +<body onLoad="toggle(location.hash.substring(1, location.hash.length - 6))"> + +<!--#include virtual="../menu.html.incl"--> + +<div id="content"> + +<h1>AST Matcher Reference</h1> + +<p>This document shows all currently implemented matchers. The matchers are grouped +by category and node type they match. You can click on matcher names to show the +matcher's source documentation.</p> + +<p>There are three different basic categories of matchers: +<ul> +<li><a href="#decl-matchers">Node Matchers:</a> Matchers that match a specific type of AST node.</li> +<li><a href="#narrowing-matchers">Narrowing Matchers:</a> Matchers that match attributes on AST nodes.</li> +<li><a href="#traversal-matchers">Traversal Matchers:</a> Matchers that allow traversal between AST nodes.</li> +</ul> +</p> + +<p>Within each category the matchers are ordered by node type they match on. +Note that if a matcher can match multiple node types, it will it will appear +multiple times. This means that by searching for Matcher<Stmt> you can +find all matchers that can be used to match on Stmt nodes.</p> + +<p>The exception to that rule are matchers that can match on any node. Those +are marked with a * and are listed in the beginning of each category.</p> + +<p>Note that the categorization of matchers is a great help when you combine +them into matcher expressions. You will usually want to form matcher expressions +that read like english sentences by alternating between node matchers and +narrowing or traversal matchers, like this: +<pre> +recordDecl(hasDescendant( + ifStmt(hasTrueExpression( + expr(hasDescendant( + ifStmt())))))) +</pre> +</p> + +<!-- ======================================================================= --> +<h2 id="decl-matchers">Node Matchers</h2> +<!-- ======================================================================= --> + +<p>Node matchers are at the core of matcher expressions - they specify the type +of node that is expected. Every match expression starts with a node matcher, +which can then be further refined with a narrowing or traversal matcher. All +traversal matchers take node matchers as their arguments.</p> + +<p>For convenience, all node matchers take an arbitrary number of arguments +and implicitly act as allOf matchers.</p> + +<p>Node matchers are the only matchers that support the bind("id") call to +bind the matched node to the given string, to be later retrieved from the +match callback.</p> + +<p>It is important to remember that the arguments to node matchers are +predicates on the same node, just with additional information about the type. +This is often useful to make matcher expression more readable by inlining bind +calls into redundant node matchers inside another node matcher: +<pre> +// This binds the CXXRecordDecl to "id", as the decl() matcher will stay on +// the same node. +recordDecl(decl().bind("id"), hasName("::MyClass")) +</pre> +</p> + +<table> +<tr style="text-align:left"><th>Return type</th><th>Name</th><th>Parameters</th></tr> <!-- START_DECL_MATCHERS --> <tr><td>Matcher<<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXCtorInitializer.html">CXXCtorInitializer</a>></td><td class="name" onclick="toggle('cxxCtorInitializer0')"><a name="cxxCtorInitializer0Anchor">cxxCtorInitializer</a></td><td>Matcher<<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXCtorInitializer.html">CXXCtorInitializer</a>>...</td></tr> @@ -1530,21 +1530,21 @@ variableArrayType() matches "int c[a[0]]" </pre></td></tr> -<!--END_DECL_MATCHERS --> -</table> - -<!-- ======================================================================= --> -<h2 id="narrowing-matchers">Narrowing Matchers</h2> -<!-- ======================================================================= --> - -<p>Narrowing matchers match certain attributes on the current node, thus -narrowing down the set of nodes of the current type to match on.</p> - -<p>There are special logical narrowing matchers (allOf, anyOf, anything and unless) -which allow users to create more powerful match expressions.</p> - -<table> -<tr style="text-align:left"><th>Return type</th><th>Name</th><th>Parameters</th></tr> +<!--END_DECL_MATCHERS --> +</table> + +<!-- ======================================================================= --> +<h2 id="narrowing-matchers">Narrowing Matchers</h2> +<!-- ======================================================================= --> + +<p>Narrowing matchers match certain attributes on the current node, thus +narrowing down the set of nodes of the current type to match on.</p> + +<p>There are special logical narrowing matchers (allOf, anyOf, anything and unless) +which allow users to create more powerful match expressions.</p> + +<table> +<tr style="text-align:left"><th>Return type</th><th>Name</th><th>Parameters</th></tr> <!-- START_NARROWING_MATCHERS --> <tr><td>Matcher<*></td><td class="name" onclick="toggle('allOf0')"><a name="allOf0Anchor">allOf</a></td><td>Matcher<*>, ..., Matcher<*></td></tr> @@ -2935,22 +2935,22 @@ unless(stmt(isInTemplateInstantiation()) instantiation. </pre></td></tr> -<!--END_NARROWING_MATCHERS --> -</table> - -<!-- ======================================================================= --> -<h2 id="traversal-matchers">AST Traversal Matchers</h2> -<!-- ======================================================================= --> - -<p>Traversal matchers specify the relationship to other nodes that are -reachable from the current node.</p> - -<p>Note that there are special traversal matchers (has, hasDescendant, forEach and -forEachDescendant) which work on all nodes and allow users to write more generic -match expressions.</p> - -<table> -<tr style="text-align:left"><th>Return type</th><th>Name</th><th>Parameters</th></tr> +<!--END_NARROWING_MATCHERS --> +</table> + +<!-- ======================================================================= --> +<h2 id="traversal-matchers">AST Traversal Matchers</h2> +<!-- ======================================================================= --> + +<p>Traversal matchers specify the relationship to other nodes that are +reachable from the current node.</p> + +<p>Note that there are special traversal matchers (has, hasDescendant, forEach and +forEachDescendant) which work on all nodes and allow users to write more generic +match expressions.</p> + +<table> +<tr style="text-align:left"><th>Return type</th><th>Name</th><th>Parameters</th></tr> <!-- START_TRAVERSAL_MATCHERS --> <tr><td>Matcher<*></td><td class="name" onclick="toggle('eachOf0')"><a name="eachOf0Anchor">eachOf</a></td><td>Matcher<*>, ..., Matcher<*></td></tr> @@ -4817,11 +4817,11 @@ NestedNameSpecifier-matcher matches. QualType-matcher matches. </pre></td></tr> -<!--END_TRAVERSAL_MATCHERS --> -</table> - -</div> -</body> -</html> - - +<!--END_TRAVERSAL_MATCHERS --> +</table> + +</div> +</body> +</html> + + _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits