AstCreator

class AstCreator(val filename: String, val config: Config, val global: Global, val diffGraph: Builder, 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
protected
def astForFunctionDefinition(funcDef: IASTFunctionDefinition, order: Int): Ast
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
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: Builder
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]