AstCreator

class AstCreator(val filename: String, val config: Config, val global: Global, val diffGraph: DiffGraphBuilder, val parserResult: IASTTranslationUnit) extends AstForTypesCreator with AstForFunctionsCreator with AstForPrimitivesCreator with AstForStatementsCreator with AstForExpressionsCreator with AstNodeBuilder with AstCreatorHelper with MacroHandler

Value members

Concrete methods

def createAst(): Unit

Inherited methods

def asChildOfMacroCall(node: IASTNode, ast: Ast, order: Int): Ast

For the given node, determine if it is expanded from a macro, and if so, create a Call node to represent the macro invocation and attach ast as its child.

For the given node, determine if it is expanded from a macro, and if so, create a Call node to represent the macro invocation and attach ast as its child.

Inherited from:
MacroHandler
protected def astForASMDeclaration(asm: IASTASMDeclaration, order: Int): Ast
Inherited from:
AstForTypesCreator
protected def astForAliasDeclaration(aliasDeclaration: ICPPASTAliasDeclaration, order: Int): Ast
Inherited from:
AstForTypesCreator
protected def astForBlockStatement(blockStmt: IASTCompoundStatement, order: Int): Ast
protected def astForComment(comment: IASTComment): Ast
protected def astForDeclarator(declaration: IASTSimpleDeclaration, declarator: IASTDeclarator, order: Int): Ast
Inherited from:
AstForTypesCreator
protected def astForExpression(expression: IASTExpression, order: Int): Ast
protected def astForFieldReference(fieldRef: IASTFieldReference, order: Int): Ast
protected def astForFunctionDeclarator(funcDecl: IASTFunctionDeclarator, order: Int): Ast
Inherited from:
AstForFunctionsCreator
protected def astForFunctionDefinition(funcDef: IASTFunctionDefinition, order: Int): Ast
Inherited from:
AstForFunctionsCreator
protected def astForIdentifier(ident: IASTNode, order: Int): Ast
protected def astForInitializer(declarator: IASTDeclarator, init: IASTInitializer, order: Int): Ast
Inherited from:
AstForTypesCreator
protected def astForInitializerList(l: IASTInitializerList, order: Int): Ast
protected def astForLiteral(lit: IASTLiteralExpression, order: Int): Ast
protected def astForMethodRefForLambda(lambdaExpression: ICPPASTLambdaExpression): Ast
Inherited from:
AstForFunctionsCreator
protected def astForNamespaceAlias(namespaceAlias: ICPPASTNamespaceAlias, order: Int): Ast
Inherited from:
AstForTypesCreator
protected def astForQualifiedName(qualId: CPPASTQualifiedName, order: Int): Ast
protected def astForStaticAssert(a: ICPPASTStaticAssertDeclaration, order: Int): Ast
protected def astsForDeclaration(decl: IASTDeclaration, order: Int): Seq[Ast]
Inherited from:
AstForTypesCreator
protected def astsForStatement(statement: IASTStatement, order: Int): Seq[Ast]
def expandedFromMacro(node: IASTNode): Option[IASTMacroExpansionLocation]
Inherited from:
MacroHandler
protected def handleUsingDeclaration(usingDecl: ICPPASTUsingDeclaration): Seq[Ast]
Inherited from:
AstForTypesCreator
def isExpandedFromMacro(node: IASTNode): Boolean
Inherited from:
MacroHandler
protected def newCallNode(astNode: IASTNode, name: String, fullname: String, dispatchType: String, order: Int): NewCall
Inherited from:
AstNodeBuilder
protected def newControlStructureNode(node: IASTNode, controlStructureType: String, code: String, order: Int): NewControlStructure
Inherited from:
AstNodeBuilder
protected def newJumpTarget(node: IASTNode, order: Int): NewJumpTarget
Inherited from:
AstNodeBuilder
protected def newMethodRefNode(code: String, methodFullName: String, typeFullName: String, node: IASTNode): NewMethodRef
Inherited from:
AstNodeBuilder
protected def newTypeDecl(name: String, fullname: String, filename: String, code: String, astParentType: String, astParentFullName: String, order: Int, inherits: Seq[String], alias: Option[String], line: Option[Integer], column: Option[Integer]): NewTypeDecl
Inherited from:
AstNodeBuilder
protected def newUnknown(node: IASTNode, order: Int): NewUnknown
Inherited from:
AstNodeBuilder
@nowarn
def nodeSignature(node: IASTNode): String

The CDT utility method is unfortunately in a class that is marked as deprecated, however, this is because the CDT team would like to discourage its use but at the same time does not plan to remove this code.

The CDT utility method is unfortunately in a class that is marked as deprecated, however, this is because the CDT team would like to discourage its use but at the same time does not plan to remove this code.

Inherited from:
MacroHandler
protected def templateParameters(e: IASTNode): Option[String]
Inherited from:
AstForTypesCreator

Concrete fields

val diffGraph: DiffGraphBuilder
val filename: String
protected val logger: Logger
protected val methodAstParentStack: ListBuffer[NewNode]
val parserResult: IASTTranslationUnit
protected val scope: Scope[String, (NewNode, String), NewNode]
protected val usingDeclarationMappings: Map[String, String]