mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-12 21:28:51 +00:00
9 lines
38 KiB
HTML
9 lines
38 KiB
HTML
|
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Abstract Syntax Tree, layered on top of untyped `SyntaxNode`s"><title>syntax::ast - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="syntax" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../../static.files/storage-59e33391.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../syntax/index.html">syntax</a><span class="version">0.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module ast</a></h2><h3><a href="#modules">Module Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate syntax</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">syntax</a></span><h1>Module <span>ast</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/syntax/ast.rs.html#1-439">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Abstract Syntax Tree, layered on top of untyped <code>SyntaxNode</code>s</p>
|
||
|
</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="edit/index.html" title="mod syntax::ast::edit">edit</a></div><div class="desc docblock-short">This module contains functions for editing syntax trees. As the trees are
|
||
|
immutable, all function here return a fresh copy of the tree, instead of
|
||
|
doing an in-place modification.</div></li><li><div class="item-name"><a class="mod" href="edit_in_place/index.html" title="mod syntax::ast::edit_in_place">edit_<wbr>in_<wbr>place</a></div><div class="desc docblock-short">Structural editing for ast.</div></li><li><div class="item-name"><a class="mod" href="make/index.html" title="mod syntax::ast::make">make</a></div><div class="desc docblock-short">This module contains free-standing functions for creating AST fragments out
|
||
|
of smaller pieces.</div></li><li><div class="item-name"><a class="mod" href="prec/index.html" title="mod syntax::ast::prec">prec</a></div><div class="desc docblock-short">Precedence representation.</div></li><li><div class="item-name"><a class="mod" href="syntax_factory/index.html" title="mod syntax::ast::syntax_factory">syntax_<wbr>factory</a></div><div class="desc docblock-short">Builds upon <a href="make/index.html" title="mod syntax::ast::make"><code>crate::ast::make</code></a> constructors to create ast fragments with
|
||
|
optional syntax mappings.</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Abi.html" title="struct syntax::ast::Abi">Abi</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasArgList.html" title="struct syntax::ast::AnyHasArgList">AnyHas<wbr>ArgList</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasAttrs.html" title="struct syntax::ast::AnyHasAttrs">AnyHas<wbr>Attrs</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasDocComments.html" title="struct syntax::ast::AnyHasDocComments">AnyHas<wbr>DocComments</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasGenericArgs.html" title="struct syntax::ast::AnyHasGenericArgs">AnyHas<wbr>Generic<wbr>Args</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasGenericParams.html" title="struct syntax::ast::AnyHasGenericParams">AnyHas<wbr>Generic<wbr>Params</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasLoopBody.html" title="struct syntax::ast::AnyHasLoopBody">AnyHas<wbr>Loop<wbr>Body</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasModuleItem.html" title="struct syntax::ast::AnyHasModuleItem">AnyHas<wbr>Module<wbr>Item</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasName.html" title="struct syntax::ast::AnyHasName">AnyHas<wbr>Name</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasTypeBounds.html" title="struct syntax::ast::AnyHasTypeBounds">AnyHas<wbr>Type<wbr>Bounds</a></div></li><li><div class="item-name"><a class="struct" href="struct.AnyHasVisibility.html" title="struct syntax::ast::AnyHasVisibility">AnyHas<wbr>Visibility</a></div></li><li><div class="item-name"><a class="struct" href="struct.ArgList.html" title="struct syntax::ast::ArgList">ArgList</a></div></li><li><div class="item-name"><a class="struct" href="struct.ArrayExpr.html" title="struct syntax::ast::ArrayExpr">Array<wbr>Expr</a></div></li><li><div class="item-name"><a class="struct" href="struct.ArrayType.html" title="struct syntax::ast::ArrayType">Array<wbr>Type</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmClobberAbi.html" title="struct syntax::ast::AsmClobberAbi">AsmClobber<wbr>Abi</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmConst.html" title="struct syntax::ast::AsmConst">AsmConst</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmDirSpec.html" title="struct syntax::ast::AsmDirSpec">AsmDir<wbr>Spec</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmExpr.html" title="struct syntax::ast::AsmExpr">AsmExpr</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmLabel.html" title="struct syntax::ast::AsmLabel">AsmLabel</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmOperandExpr.html" title="struct syntax::ast::AsmOperandExpr">AsmOperand<wbr>Expr</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmOperandNamed.html" title="struct syntax::ast::AsmOperandNamed">AsmOperand<wbr>Named</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmOption.html" title="struct syntax::ast::AsmOption">AsmOption</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmOptions.html" title="struct syntax::ast::AsmOptions">AsmOptions</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmRegOperand.html" title="struct syntax::ast::AsmRegOperand">AsmReg<wbr>Operand</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmRegSpec.html" title="struct syntax::ast::AsmRegSpec">AsmReg<wbr>Spec</a></div></li><li><div class="item-name"><a class="struct" href="struct.AsmSym.html" title="struct syntax::ast::AsmSym">AsmSym</a></div></li><li><div class="item-name"><a class="struct" href="struct.AssocItemList.html" title="struc
|
||
|
conversion itself has zero runtime cost: ast and syntax nodes have exactly
|
||
|
the same representation: a pointer to the tree root and a pointer to the
|
||
|
node itself.</div></li><li><div class="item-name"><a class="trait" href="trait.AstToken.html" title="trait syntax::ast::AstToken">AstToken</a></div><div class="desc docblock-short">Like <code>AstNode</code>, but wraps tokens rather than interior nodes.</div></li><li><div class="item-name"><a class="trait" href="trait.HasArgList.html" title="trait syntax::ast::HasArgList">HasArg<wbr>List</a></div></li><li><div class="item-name"><a class="trait" href="trait.HasAttrs.html" title="trait syntax::ast::HasAttrs">HasAttrs</a></div></li><li><div class="item-name"><a class="trait" href="trait.HasDocComments.html" title="trait syntax::ast::HasDocComments">HasDoc<wbr>Comments</a></div></li><li><div class="item-name"><a class="trait" href="trait.HasGenericArgs.html" title="trait syntax::ast::HasGenericArgs">HasGeneric<wbr>Args</a></div></li><li><div class="item-name"><a class="trait" href="trait.HasGenericParams.html" title="trait syntax::ast::HasGenericParams">HasGeneric<wbr>Params</a></div></li><li><div class="item-name"><a class="trait" href="trait.HasLoopBody.html" title="trait syntax::ast::HasLoopBody">HasLoop<wbr>Body</a></div></li><li><div class="item-name"><a class="trait" href="trait.HasModuleItem.html" title="trait syntax::ast::HasModuleItem">HasModule<wbr>Item</a></div></li><li><div class="item-name"><a class="trait" href="trait.HasName.html" title="trait syntax::ast::HasName">HasName</a></div></li><li><div class="item-name"><a class="trait" href="trait.HasTypeBounds.html" title="trait syntax::ast::HasTypeBounds">HasType<wbr>Bounds</a></div></li><li><div class="item-name"><a class="trait" href="trait.HasVisibility.html" title="trait syntax::ast::HasVisibility">HasVisibility</a></div></li><li><div class="item-name"><a class="trait" href="trait.IsString.html" title="trait syntax::ast::IsString">IsString</a></div></li><li><div class="item-name"><a class="trait" href="trait.RangeItem.html" title="trait syntax::ast::RangeItem">Range<wbr>Item</a></div><div class="desc docblock-short">Trait to describe operations common to both <code>RangeExpr</code> and <code>RangePat</code>.</div></li></ul></section></div></main></body></html>
|