clang  10.0.0svn
Namespaces
SourceCodeBuilders.h File Reference

This file collects facilities for generating source code strings. More...

#include "clang/AST/ASTContext.h"
#include "clang/AST/Expr.h"
#include <string>
Include dependency graph for SourceCodeBuilders.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::tooling
 

Functions

Code analysis utilities.

Ignores implicit object-construction expressions in addition to the normal implicit expressions that are ignored.

const Exprclang::tooling::reallyIgnoreImplicit (const Expr &E)
 
bool clang::tooling::mayEverNeedParens (const Expr &E)
 Determines whether printing this expression in any expression requires parentheses to preserve its meaning. More...
 
bool clang::tooling::needParensBeforeDotOrArrow (const Expr &E)
 Determines whether printing this expression to the left of a dot or arrow operator requires a parentheses to preserve its meaning. More...
 
bool clang::tooling::needParensAfterUnaryOperator (const Expr &E)
 Determines whether printing this expression to the right of a unary operator requires a parentheses to preserve its meaning. More...
 
Basic code-string generation utilities.
llvm::Optional< std::string > clang::tooling::buildParens (const Expr &E, const ASTContext &Context)
 Builds source for an expression, adding parens if needed for unambiguous parsing. More...
 
llvm::Optional< std::string > clang::tooling::buildDereference (const Expr &E, const ASTContext &Context)
 Builds idiomatic source for the dereferencing of E: prefix with * but simplify when it already begins with &. More...
 
llvm::Optional< std::string > clang::tooling::buildAddressOf (const Expr &E, const ASTContext &Context)
 Builds idiomatic source for taking the address of E: prefix with & but simplify when it already begins with *. More...
 
llvm::Optional< std::string > clang::tooling::buildDot (const Expr &E, const ASTContext &Context)
 Adds a dot to the end of the given expression, but adds parentheses when needed by the syntax, and simplifies to -> when possible, e.g. More...
 
llvm::Optional< std::string > clang::tooling::buildArrow (const Expr &E, const ASTContext &Context)
 Adds an arrow to the end of the given expression, but adds parentheses when needed by the syntax, and simplifies to `. More...
 

Detailed Description

This file collects facilities for generating source code strings.

Definition in file SourceCodeBuilders.h.