clang  6.0.0svn
Classes | Namespaces | Functions
ASTDiff.cpp File Reference
#include "clang/Tooling/ASTDiff/ASTDiff.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/Lex/Lexer.h"
#include "llvm/ADT/PriorityQueue.h"
#include <limits>
#include <memory>
#include <unordered_set>
Include dependency graph for ASTDiff.cpp:

Go to the source code of this file.

Classes

class  clang::diff::ASTDiff::Impl
 
class  clang::diff::SyntaxTree::Impl
 Represents the AST of a TranslationUnit. More...
 
struct  clang::diff::SNodeId
 Identifies a node in a subtree by its postorder offset, starting at 1. More...
 
class  clang::diff::Subtree
 
class  clang::diff::ZhangShashaMatcher
 Implementation of Zhang and Shasha's Algorithm for tree edit distance. More...
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::diff
 

Functions

static bool clang::diff::isSpecializedNodeExcluded (const Decl *D)
 
static bool clang::diff::isSpecializedNodeExcluded (const Stmt *S)
 
static bool clang::diff::isSpecializedNodeExcluded (CXXCtorInitializer *I)
 
template<class T >
static bool clang::diff::isNodeExcluded (const SourceManager &SrcMgr, T *N)
 
static std::vector< NodeId > clang::diff::getSubtreePostorder (const SyntaxTree::Impl &Tree, NodeId Root)
 
static std::vector< NodeId > clang::diff::getSubtreeBfs (const SyntaxTree::Impl &Tree, NodeId Root)
 
static const DeclContextclang::diff::getEnclosingDeclContext (ASTContext &AST, const Stmt *S)
 
static std::string clang::diff::getInitializerValue (const CXXCtorInitializer *Init, const PrintingPolicy &TypePP)
 

Variable Documentation

◆ Depth

int Depth = 0

◆ Id

int Id = 0

Definition at line 191 of file ASTDiff.cpp.

Referenced by clang::diff::SyntaxTree::Impl::addNode(), checkConfigMacro(), clang::Sema::CorrectDelayedTyposInExpr(), clang::ObjCInterfaceDecl::CreateDeserialized(), clang::HeaderMapImpl::dump(), clang::FieldDecl::FieldDecl(), clang::PreprocessingRecord::findMacroDefinition(), clang::ObjCImplDecl::FindPropertyImplDecl(), clang::ast_type_traits::ASTNodeKind::getFromNodeKind(), getIDNS(), clang::getLastArgIntValue(), clang::getLastArgUInt64Value(), clang::diff::SyntaxTree::Impl::getMutableNode(), clang::diff::SyntaxTree::Impl::getNode(), clang::UsingDirectiveDecl::getNominatedNamespace(), clang::getParameterABISpelling(), clang::PreprocessingRecord::getSkippedRanges(), clang::diff::getSubtreeBfs(), clang::diff::getSubtreePostorder(), clang::CXXRecordDecl::hasDefinition(), clang::ast_type_traits::ASTNodeKind::hasPointerIdentity(), clang::Sema::Initialize(), clang::NSAPI::isNSNumberLiteralSelector(), clang::TemplateTypeParmDecl::isParameterPack(), clang::driver::types::lookupCXXTypeForCType(), clang::driver::types::lookupHeaderTypeForSourceType(), clang::MacroPPCallbacks::MacroDefined(), clang::MacroPPCallbacks::MacroUndefined(), clang::diff::SNodeId::operator int(), clang::diff::SNodeId::operator++(), clang::diff::SNodeId::operator--(), clang::Parser::ParseMSAsmIdentifier(), clang::Parser::ParseTopLevelDecl(), PrintFloatingLiteral(), clang::TreeTransform< Derived >::RebuildDependentNameType(), clang::UnqualifiedId::setIdentifier(), clang::UnqualifiedId::setLiteralOperatorId(), shouldIgnoreDueToReservedName(), shouldIgnoreMacro(), and clang::ModuleDependencyCollector::~ModuleDependencyCollector().

◆ Parent

NodeId Parent

Definition at line 192 of file ASTDiff.cpp.

Referenced by clang::Sema::ActOnStartNamespaceDef(), clang::vfs::YAMLVFSWriter::addFileMapping(), adjustParent(), clang::DependencyCollector::attachToASTReader(), DiagnoseBaseOrMemInitializerOrder(), clang::Scope::dumpImpl(), clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits ::ArrayBuilder, ConstantInitBuilderTraits >::finishAndAddTo(), clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits ::ArrayBuilder, ConstantInitBuilderTraits >::finishAndCreateFuture(), clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits ::ArrayBuilder, ConstantInitBuilderTraits >::finishAndCreateGlobal(), clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits ::ArrayBuilder, ConstantInitBuilderTraits >::finishAndSetAsInitializer(), clang::HeaderSearch::getCachedModuleFileName(), clang::ASTContext::getDeclAlign(), clang::ast_type_traits::ASTNodeKind::getMostDerivedCommonAncestor(), clang::LocationContext::getParent(), clang::sema::DelayedDiagnosticPool::getParent(), clang::InitializedEntity::getParent(), clang::CFGBlock::getParent(), getTypeInfoVTable(), clang::index::IndexingContext::indexNestedNameSpecifierLoc(), clang::index::IndexingContext::indexTypeSourceInfo(), clang::ModuleMap::inferFrameworkModule(), clang::InitializedEntity::InitializeBase(), clang::InitializedEntity::InitializeMember(), isDesignatorAtObjectEnd(), clang::AnalysisDeclContext::isInStdNamespace(), clang::LocationContext::isParentOf(), clang::CFGBlock::AdjacentBlock::isReachable(), clang::index::IndexingContext::isTemplateImplicitInstantiation(), clang::ODRHash::isWhitelistedDecl(), mayInlineCallKind(), clang::Decl::operator new(), clang::FunctionDecl::setPure(), clang::index::IndexingContext::shouldIndexImplicitTemplateInsts(), shouldReportOccurrenceForSystemDeclOnlyMode(), clang::CoverageSourceInfo::SourceRangeSkipped(), clang::ASTDeclWriter::VisitNamespaceDecl(), and clang::TemplateDeclInstantiator::VisitVarDecl().

◆ Tree

const SyntaxTree::Impl& Tree

Definition at line 193 of file ASTDiff.cpp.

Referenced by clang::diff::Node::getIdentifier().