summaryrefslogtreecommitdiff
path: root/docs/IntroductionToTheClangAST.rst
diff options
context:
space:
mode:
authorSylvestre Ledru <sylvestre@debian.org>2018-11-04 17:02:00 +0000
committerSylvestre Ledru <sylvestre@debian.org>2018-11-04 17:02:00 +0000
commitd976861c7d645923d5cdd9db325be5c9860ebac7 (patch)
tree54e9838b6046a0ede4e79db08fbc7a8e6c7fb778 /docs/IntroductionToTheClangAST.rst
parent1e205ca27750811dc4bbfaa9f11ab8bad36c0b48 (diff)
downloadclang-d976861c7d645923d5cdd9db325be5c9860ebac7.tar.gz
Update our URLs in clang doc to use https
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@346101 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/IntroductionToTheClangAST.rst')
-rw-r--r--docs/IntroductionToTheClangAST.rst46
1 files changed, 23 insertions, 23 deletions
diff --git a/docs/IntroductionToTheClangAST.rst b/docs/IntroductionToTheClangAST.rst
index 600a6c884c..f357c03507 100644
--- a/docs/IntroductionToTheClangAST.rst
+++ b/docs/IntroductionToTheClangAST.rst
@@ -11,7 +11,7 @@ matchers.
<center><iframe width="560" height="315" src="http://www.youtube.com/embed/VqCkCDFLSsc?vq=hd720" frameborder="0" allowfullscreen></iframe></center>
-`Slides <http://llvm.org/devmtg/2013-04/klimek-slides.pdf>`_
+`Slides <https://llvm.org/devmtg/2013-04/klimek-slides.pdf>`_
Introduction
============
@@ -23,7 +23,7 @@ constants are available in an unreduced form in the AST. This makes
Clang's AST a good fit for refactoring tools.
Documentation for all Clang AST nodes is available via the generated
-`Doxygen <http://clang.llvm.org/doxygen>`_. The doxygen online
+`Doxygen <https://clang.llvm.org/doxygen>`_. The doxygen online
documentation is also indexed by your favorite search engine, which will
make a search for clang and the AST node's class name usually turn up
the doxygen of the class you're looking for (for example, search for:
@@ -67,26 +67,26 @@ Let's look at a simple example AST:
The toplevel declaration in
a translation unit is always the `translation unit
-declaration <http://clang.llvm.org/doxygen/classclang_1_1TranslationUnitDecl.html>`_.
+declaration <https://clang.llvm.org/doxygen/classclang_1_1TranslationUnitDecl.html>`_.
In this example, our first user written declaration is the `function
-declaration <http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html>`_
+declaration <https://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html>`_
of "``f``". The body of "``f``" is a `compound
-statement <http://clang.llvm.org/doxygen/classclang_1_1CompoundStmt.html>`_,
+statement <https://clang.llvm.org/doxygen/classclang_1_1CompoundStmt.html>`_,
whose child nodes are a `declaration
-statement <http://clang.llvm.org/doxygen/classclang_1_1DeclStmt.html>`_
+statement <https://clang.llvm.org/doxygen/classclang_1_1DeclStmt.html>`_
that declares our result variable, and the `return
-statement <http://clang.llvm.org/doxygen/classclang_1_1ReturnStmt.html>`_.
+statement <https://clang.llvm.org/doxygen/classclang_1_1ReturnStmt.html>`_.
AST Context
===========
All information about the AST for a translation unit is bundled up in
the class
-`ASTContext <http://clang.llvm.org/doxygen/classclang_1_1ASTContext.html>`_.
+`ASTContext <https://clang.llvm.org/doxygen/classclang_1_1ASTContext.html>`_.
It allows traversal of the whole translation unit starting from
-`getTranslationUnitDecl <http://clang.llvm.org/doxygen/classclang_1_1ASTContext.html#abd909fb01ef10cfd0244832a67b1dd64>`_,
+`getTranslationUnitDecl <https://clang.llvm.org/doxygen/classclang_1_1ASTContext.html#abd909fb01ef10cfd0244832a67b1dd64>`_,
or to access Clang's `table of
-identifiers <http://clang.llvm.org/doxygen/classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4>`_
+identifiers <https://clang.llvm.org/doxygen/classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4>`_
for the parsed translation unit.
AST Nodes
@@ -95,32 +95,32 @@ AST Nodes
Clang's AST nodes are modeled on a class hierarchy that does not have a
common ancestor. Instead, there are multiple larger hierarchies for
basic node types like
-`Decl <http://clang.llvm.org/doxygen/classclang_1_1Decl.html>`_ and
-`Stmt <http://clang.llvm.org/doxygen/classclang_1_1Stmt.html>`_. Many
+`Decl <https://clang.llvm.org/doxygen/classclang_1_1Decl.html>`_ and
+`Stmt <https://clang.llvm.org/doxygen/classclang_1_1Stmt.html>`_. Many
important AST nodes derive from
-`Type <http://clang.llvm.org/doxygen/classclang_1_1Type.html>`_,
-`Decl <http://clang.llvm.org/doxygen/classclang_1_1Decl.html>`_,
-`DeclContext <http://clang.llvm.org/doxygen/classclang_1_1DeclContext.html>`_
-or `Stmt <http://clang.llvm.org/doxygen/classclang_1_1Stmt.html>`_, with
+`Type <https://clang.llvm.org/doxygen/classclang_1_1Type.html>`_,
+`Decl <https://clang.llvm.org/doxygen/classclang_1_1Decl.html>`_,
+`DeclContext <https://clang.llvm.org/doxygen/classclang_1_1DeclContext.html>`_
+or `Stmt <https://clang.llvm.org/doxygen/classclang_1_1Stmt.html>`_, with
some classes deriving from both Decl and DeclContext.
There are also a multitude of nodes in the AST that are not part of a
larger hierarchy, and are only reachable from specific other nodes, like
-`CXXBaseSpecifier <http://clang.llvm.org/doxygen/classclang_1_1CXXBaseSpecifier.html>`_.
+`CXXBaseSpecifier <https://clang.llvm.org/doxygen/classclang_1_1CXXBaseSpecifier.html>`_.
Thus, to traverse the full AST, one starts from the
-`TranslationUnitDecl <http://clang.llvm.org/doxygen/classclang_1_1TranslationUnitDecl.html>`_
+`TranslationUnitDecl <https://clang.llvm.org/doxygen/classclang_1_1TranslationUnitDecl.html>`_
and then recursively traverses everything that can be reached from that
node - this information has to be encoded for each specific node type.
This algorithm is encoded in the
-`RecursiveASTVisitor <http://clang.llvm.org/doxygen/classclang_1_1RecursiveASTVisitor.html>`_.
+`RecursiveASTVisitor <https://clang.llvm.org/doxygen/classclang_1_1RecursiveASTVisitor.html>`_.
See the `RecursiveASTVisitor
-tutorial <http://clang.llvm.org/docs/RAVFrontendAction.html>`_.
+tutorial <https://clang.llvm.org/docs/RAVFrontendAction.html>`_.
The two most basic nodes in the Clang AST are statements
-(`Stmt <http://clang.llvm.org/doxygen/classclang_1_1Stmt.html>`_) and
+(`Stmt <https://clang.llvm.org/doxygen/classclang_1_1Stmt.html>`_) and
declarations
-(`Decl <http://clang.llvm.org/doxygen/classclang_1_1Decl.html>`_). Note
+(`Decl <https://clang.llvm.org/doxygen/classclang_1_1Decl.html>`_). Note
that expressions
-(`Expr <http://clang.llvm.org/doxygen/classclang_1_1Expr.html>`_) are
+(`Expr <https://clang.llvm.org/doxygen/classclang_1_1Expr.html>`_) are
also statements in Clang's AST.