cpptooling.analyzer.clang.analyze_helper

Members

Classes

ClassVisitor
class ClassVisitor

Reconstruct the semantic clang AST with dextool data structures suitable for code generation.

Functions

analyzeConstructor
auto analyzeConstructor(const(Constructor) v, Container container, uint indent)

Analyze the node for actionable data.

analyzeCxxBaseSpecified
auto analyzeCxxBaseSpecified(const(CxxBaseSpecifier) v, Container container, uint indent)

Analyze the node that represents a inheritance.

analyzeCxxMethod
CxxMethodResult analyzeCxxMethod(const(CxxMethod) v, Container container, uint indent)
Undocumented in source. Be warned that the author may not have intended to support it.
analyzeCxxMethod
CxxMethodResult analyzeCxxMethod(const(Cursor) v, Container container, uint indent)
analyzeDestructor
auto analyzeDestructor(const(Destructor) v, Container container, uint indent)
analyzeFieldDecl
auto analyzeFieldDecl(const(FieldDecl) v, Container container, uint indent)

Analyze the node for actionable data.

analyzeFunctionDecl
FunctionDeclResult analyzeFunctionDecl(FunctionDecl v, Container container, uint indent)
Undocumented in source. Be warned that the author may not have intended to support it.
analyzeFunctionDecl
FunctionDeclResult analyzeFunctionDecl(Cursor c_in, Container container, uint indent)
Undocumented in source.
analyzeRecord
RecordResult analyzeRecord(const(T) decl, Container container, uint indent)
Undocumented in source. Be warned that the author may not have intended to support it.
analyzeRecord
RecordResult analyzeRecord(const(Cursor) cursor, Container container, uint indent)
Undocumented in source. Be warned that the author may not have intended to support it.
analyzeTranslationUnit
auto analyzeTranslationUnit(const(TranslationUnit) tu, Container container, uint indent)
Undocumented in source. Be warned that the author may not have intended to support it.
analyzeVarDecl
VarDeclResult analyzeVarDecl(VarDecl v, Container container, uint indent)
VarDeclResult analyzeVarDecl(Cursor v, Container container, uint indent)

Analyze a variable declaration

toAccessType
AccessType toAccessType(CX_CXXAccessSpecifier accessSpec)

Convert a clang access specifier to dextool representation.

toLanguage
Language toLanguage(Cursor c)

Correctly determine the language of a libclang Cursor.

toStorageClass
StorageClass toStorageClass(CX_StorageClass storageClass)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

ConstructorResult
struct ConstructorResult
Undocumented in source.
CxxBaseSpecifierResult
struct CxxBaseSpecifierResult
Undocumented in source.
CxxMethodResult
struct CxxMethodResult
Undocumented in source.
DestructorResult
struct DestructorResult
Undocumented in source.
FieldDeclResult
struct FieldDeclResult
Undocumented in source.
FunctionDeclResult
struct FunctionDeclResult
Undocumented in source.
RecordResult
struct RecordResult
Undocumented in source.
TranslationUnitResult
struct TranslationUnitResult
VarDeclResult
struct VarDeclResult
Undocumented in source.

Meta

License

MPL-2

Authors

Joakim Brännström (joakim.brannstrom@gmx.com)

This Source Code Form is subject to the terms of the Mozilla Public License, v.2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Design. - Using named tuples as the result from analyze* to allow the tuples to add more data in the future without breaking existing code.