clang API Documentation
#include "clang/Sema/SemaInternal.h"#include "clang/Sema/Lookup.h"#include "clang/Sema/ParsedTemplate.h"#include "clang/Sema/SemaDiagnostic.h"#include "clang/Sema/ScopeInfo.h"#include "clang/AST/Decl.h"#include "clang/AST/DeclObjC.h"#include "clang/AST/DeclTemplate.h"#include "clang/AST/Expr.h"#include "clang/AST/ExprCXX.h"#include "clang/AST/ExprObjC.h"#include "clang/AST/Stmt.h"#include "clang/AST/StmtCXX.h"#include "clang/AST/StmtObjC.h"#include "clang/Sema/Ownership.h"#include "clang/Sema/Designator.h"#include "clang/Lex/Preprocessor.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/Support/ErrorHandling.h"#include "TypeLocBuilder.h"#include <algorithm>#include "clang/AST/TypeLocNodes.def"#include "clang/AST/StmtNodes.inc"#include "clang/Basic/OperatorKinds.def"

Go to the source code of this file.
Classes | |
| class | clang::TreeTransform< Derived > |
| A semantic tree transformation that allows one to transform one abstract syntax tree into another. More... | |
| class | clang::TreeTransform< Derived >::ForgetPartiallySubstitutedPackRAII |
| Private RAII object that helps us forget and then re-remember the template argument corresponding to a partially-substituted parameter pack. | |
| class | clang::TreeTransform< Derived >::TemporaryBase |
| RAII object that temporarily sets the base location and entity used for reporting diagnostics in types. More... | |
| class | clang::TemplateArgumentLocInventIterator< Derived, InputIterator > |
| Iterator adaptor that invents template argument location information for each of the template arguments in its underlying iterator. More... | |
| class | clang::TemplateArgumentLocInventIterator< Derived, InputIterator >::pointer |
Namespaces | |
| namespace | clang |
Defines | |
| #define | ABSTRACT_TYPELOC(CLASS, PARENT) |
| #define | TYPELOC(CLASS, PARENT) QualType Transform##CLASS##Type(TypeLocBuilder &TLB, CLASS##TypeLoc T); |
| #define | STMT(Node, Parent) StmtResult Transform##Node(Node *S); |
| #define | EXPR(Node, Parent) ExprResult Transform##Node(Node *E); |
| #define | ABSTRACT_STMT(Stmt) |
| #define | STMT(Node, Parent) case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(S)); |
| #define | ABSTRACT_STMT(Node) |
| #define | EXPR(Node, Parent) |
| #define | STMT(Node, Parent) |
| #define | ABSTRACT_STMT(Stmt) |
| #define | EXPR(Node, Parent) case Stmt::Node##Class: |
| #define | STMT(Node, Parent) case Stmt::Node##Class: break; |
| #define | ABSTRACT_STMT(Stmt) |
| #define | EXPR(Node, Parent) case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(E)); |
| #define | ABSTRACT_TYPELOC(CLASS, PARENT) |
| #define | TYPELOC(CLASS, PARENT) |
| #define | OVERLOADED_OPERATOR(Name, Spelling, Token, Unary, Binary, MemberOnly) case OO_##Name: |
| #define | OVERLOADED_OPERATOR_MULTI(Name, Spelling, Unary, Binary, MemberOnly) |
Functions | |
| template<class TyLoc > | |
| static QualType | clang::TransformTypeSpecType (TypeLocBuilder &TLB, TyLoc T) |
| #define ABSTRACT_STMT | ( | Stmt | ) |
Definition at line 545 of file TreeTransform.h.
| #define ABSTRACT_STMT | ( | Node | ) |
Definition at line 545 of file TreeTransform.h.
| #define ABSTRACT_STMT | ( | Stmt | ) |
Definition at line 545 of file TreeTransform.h.
| #define ABSTRACT_STMT | ( | Stmt | ) |
Definition at line 545 of file TreeTransform.h.
| #define ABSTRACT_TYPELOC | ( | CLASS, | |
| PARENT | |||
| ) |
Definition at line 489 of file TreeTransform.h.
| #define ABSTRACT_TYPELOC | ( | CLASS, | |
| PARENT | |||
| ) |
Definition at line 489 of file TreeTransform.h.
| #define EXPR | ( | Node, | |
| Parent | |||
| ) | ExprResult Transform##Node(Node *E); |
Definition at line 543 of file TreeTransform.h.
| #define EXPR | ( | Node, | |
| Parent | |||
| ) |
Definition at line 543 of file TreeTransform.h.
| #define EXPR | ( | Node, | |
| Parent | |||
| ) | case Stmt::Node##Class: |
Definition at line 543 of file TreeTransform.h.
| #define EXPR | ( | Node, | |
| Parent | |||
| ) | case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(E)); |
Definition at line 543 of file TreeTransform.h.
| #define OVERLOADED_OPERATOR | ( | Name, | |
| Spelling, | |||
| Token, | |||
| Unary, | |||
| Binary, | |||
| MemberOnly | |||
| ) | case OO_##Name: |
| #define OVERLOADED_OPERATOR_MULTI | ( | Name, | |
| Spelling, | |||
| Unary, | |||
| Binary, | |||
| MemberOnly | |||
| ) |
| #define STMT | ( | Node, | |
| Parent | |||
| ) | StmtResult Transform##Node(Node *S); |
Definition at line 541 of file TreeTransform.h.
| #define STMT | ( | Node, | |
| Parent | |||
| ) | case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(S)); |
Definition at line 541 of file TreeTransform.h.
| #define STMT | ( | Node, | |
| Parent | |||
| ) |
Definition at line 541 of file TreeTransform.h.
| #define STMT | ( | Node, | |
| Parent | |||
| ) | case Stmt::Node##Class: break; |
Definition at line 541 of file TreeTransform.h.
| #define TYPELOC | ( | CLASS, | |
| PARENT | |||
| ) | QualType Transform##CLASS##Type(TypeLocBuilder &TLB, CLASS##TypeLoc T); |
Definition at line 490 of file TreeTransform.h.
| #define TYPELOC | ( | CLASS, | |
| PARENT | |||
| ) |
case TypeLoc::CLASS: \
return getDerived().Transform##CLASS##Type(TLB, cast<CLASS##TypeLoc>(T));
Definition at line 490 of file TreeTransform.h.
| TemplateArgumentLoc Arg |
Definition at line 4514 of file TreeTransform.h.
Referenced by clang::driver::FlagOption::accept(), clang::driver::JoinedOption::accept(), clang::driver::SeparateOption::accept(), clang::driver::CommaJoinedOption::accept(), clang::driver::MultiArgOption::accept(), clang::driver::JoinedOrSeparateOption::accept(), clang::driver::JoinedAndSeparateOption::accept(), clang::Sema::ActOnCXXDelete(), addAssociatedClassesAndNamespaces(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildMemberInitializer(), clang::Sema::BuildResolvedCallExpr(), CheckBuiltinAnnotationString(), clang::Sema::CheckCallingConvAttr(), clang::Sema::CheckMessageArgumentTypes(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), clang::Sema::CheckTemplateArgumentList(), clang::Sema::CheckTemplateTypeArgument(), ConvertForConditional(), clang::CodeCompletionResult::CreateCodeCompletionString(), DeduceTemplateArguments(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), describeCall(), clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitCheck(), clang::CodeGen::CodeGenFunction::EmitCXXDeleteExpr(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtorCall(), EvalPluralExpr(), clang::Sema::FindAssociatedClassesAndNamespaces(), clang::Sema::GatherArgumentsForCall(), GenerateInjectedTemplateArgs(), clang::AttributeList::getArg(), clang::ObjCMessageExpr::getArg(), clang::CXXConstructExpr::getArg(), clang::ASTContext::getCanonicalTemplateArgument(), clang::ParmVarDecl::getDefaultArg(), clang::CXXDeleteExpr::getDestroyedType(), clang::MacroArgs::getPreExpArgument(), clang::CXXConstructExpr::getSourceRange(), clang::MacroArgs::getUnexpArgument(), handleAliasAttr(), handleCallConvAttr(), handleGuardedByAttr(), handleLockReturnedAttr(), handleUuidAttr(), handleVisibilityAttr(), handleWeakRefAttr(), hasPackExpansionBeforeEnd(), hasTemplateArgumentForDeduction(), isMultiArgSelector(), clang::driver::DerivedArgList::MakeFlagArg(), clang::driver::DerivedArgList::MakeJoinedArg(), clang::driver::DerivedArgList::MakePositionalArg(), clang::driver::DerivedArgList::MakeSeparateArg(), clang::TemplateArgumentLocInventIterator< Derived, InputIterator >::pointer::operator->(), clang::ASTTemplateArgsPtr::operator[](), clang::analyze_format_string::ParseNonPositionAmount(), clang::driver::OptTable::ParseOneArg(), clang::analyze_format_string::ParsePositionAmount(), clang::InitializationSequence::Perform(), clang::TemplateSpecializationType::PrintTemplateArgumentList(), clang::FunctionTemplateSpecializationInfo::Profile(), clang::ClassTemplateSpecializationDecl::Profile(), clang::ASTReader::ReadTemplateArgumentLoc(), clang::TreeTransform< Derived >::RebuildCXXNoexceptExpr(), clang::ObjCMessageExpr::setArg(), clang::CXXConstructExpr::setArg(), clang::Sema::SubstDefaultTemplateArgumentIfAvailable(), clang::Sema::SubstituteExplicitTemplateArguments(), clang::TreeTransform< Derived >::TransformTemplateArgument(), clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc(), TryListInitialization(), and clang::ASTDeclReader::VisitTemplateTemplateParmDecl().
ArgLocContainer* Container [static] |
Definition at line 4504 of file TreeTransform.h.
Referenced by AddObjCMethods(), clang::Sema::CodeCompleteObjCPropertyDefinition(), clang::Sema::CodeCompleteObjCPropertySynthesizeIvar(), clang::ASTContext::getObjCEncodingForPropertyDecl(), and LookupFieldBitOffset().
| unsigned Index |
Definition at line 4505 of file TreeTransform.h.
Referenced by clang::driver::Driver::BuildInputs(), clang::Sema::CheckParameterPacksForExpansion(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::ASTReader::DecodeIdentifierInfo(), DeduceTemplateArguments(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), clang::DesignatedInitExpr::Designator::Designator(), clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::EmitX86BuiltinExpr(), ExtractSubobject(), clang::ASTWriter::FlushCXXBaseSpecifiers(), clang::driver::InputArgList::getArgString(), clang::Designator::getArray(), clang::ento::MemRegion::getAsOffset(), getBaseIndex(), clang::CodeGen::CGBitFieldInfo::getComponent(), clang::ASTReader::GetDecl(), clang::ExtVectorElementExpr::getEncodedElementAccess(), clang::ShuffleVectorExpr::getExpr(), clang::FieldDecl::getFieldIndex(), clang::StackFrameContext::getIndex(), clang::ento::ElementRegion::getIndex(), clang::SourceManager::getLoadedSLocEntry(), clang::SourceManager::getLocalSLocEntry(), clang::Sema::getNumArgumentsInExpansion(), clang::ObjCMethodDecl::getSelectorLoc(), clang::ObjCMessageExpr::getSelectorLoc(), clang::ASTReader::GetType(), HandleClassZeroInitialization(), HandleLValueToRValueConversion(), clang::MultiLevelTemplateArgumentList::hasTemplateArgument(), LookupFieldBitOffset(), clang::driver::InputArgList::MakeIndex(), clang::driver::DerivedArgList::MakeJoinedArg(), clang::driver::DerivedArgList::MakePositionalArg(), clang::driver::DerivedArgList::MakeSeparateArg(), clang::MultiLevelTemplateArgumentList::operator()(), clang::serialization::ModuleManager::operator[](), clang::driver::OptTable::ParseArgs(), clang::driver::OptTable::ParseOneArg(), clang::CodeGen::CGRecordLayout::print(), clang::StackFrameContext::Profile(), clang::ASTReader::ReadTemplateArgumentLoc(), clang::TargetInfo::resolveSymbolicName(), clang::MultiLevelTemplateArgumentList::setArgument(), SimplifyConstraint(), clang::Sema::SubstituteExplicitTemplateArguments(), clang::driver::toolchains::Darwin::TranslateArgs(), and clang::TargetInfo::validateInputConstraint().