Packages

class AstCreator extends AstCreatorBase with AstForTypesCreator with AstForFunctionsCreator with AstForPrimitivesCreator with AstForStatementsCreator with AstForExpressionsCreator with AstNodeBuilder with AstCreatorHelper with MacroHandler

Translates the Eclipse CDT AST into a CPG AST.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AstCreator
  2. MacroHandler
  3. AstCreatorHelper
  4. AstNodeBuilder
  5. AstForExpressionsCreator
  6. AstForStatementsCreator
  7. AstForPrimitivesCreator
  8. AstForFunctionsCreator
  9. AstForTypesCreator
  10. AstCreatorBase
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new AstCreator(filename: String, config: Config, cdtAst: IASTTranslationUnit, file2OffsetTable: ConcurrentHashMap[String, Array[Int]])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def absolutePath(filename: String): String
    Definition Classes
    AstCreatorBase
  5. def annotationAssignmentAst(assignmentValueName: String, code: String, assignmentAst: Ast): Ast
    Definition Classes
    AstCreatorBase
  6. def annotationAst(annotation: NewAnnotation, children: Seq[Ast]): Ast
    Definition Classes
    AstCreatorBase
  7. def asChildOfMacroCall(node: IASTNode, ast: Ast): 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.

    Definition Classes
    MacroHandler
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def astForASMDeclaration(asm: IASTASMDeclaration): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  10. def astForAliasDeclaration(aliasDeclaration: ICPPASTAliasDeclaration): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  11. def astForArrayModifier(arrMod: IASTArrayModifier): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  12. def astForBlockStatement(blockStmt: IASTCompoundStatement, order: Int = -1): Ast
    Attributes
    protected
    Definition Classes
    AstForStatementsCreator
  13. def astForComment(comment: IASTComment): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  14. def astForDeclarator(declaration: IASTSimpleDeclaration, declarator: IASTDeclarator, index: Int): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  15. def astForExpression(expression: IASTExpression): Ast
    Attributes
    protected
    Definition Classes
    AstForExpressionsCreator
  16. def astForFieldReference(fieldRef: IASTFieldReference): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  17. def astForFunctionDeclarator(funcDecl: IASTFunctionDeclarator): Ast
    Attributes
    protected
    Definition Classes
    AstForFunctionsCreator
  18. def astForFunctionDefinition(funcDef: IASTFunctionDefinition): Ast
    Attributes
    protected
    Definition Classes
    AstForFunctionsCreator
  19. def astForIdentifier(ident: IASTNode): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  20. def astForInitializer(declarator: IASTDeclarator, init: IASTInitializer): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  21. def astForInitializerList(l: IASTInitializerList): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  22. def astForLiteral(lit: IASTLiteralExpression): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  23. def astForMethodRefForLambda(lambdaExpression: ICPPASTLambdaExpression): Ast
    Attributes
    protected
    Definition Classes
    AstForFunctionsCreator
  24. def astForNamespaceAlias(namespaceAlias: ICPPASTNamespaceAlias): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  25. def astForNode(node: IASTNode): Ast
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  26. def astForQualifiedName(qualId: CPPASTQualifiedName): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  27. def astForStaticAssert(a: ICPPASTStaticAssertDeclaration): Ast
    Attributes
    protected
    Definition Classes
    AstForExpressionsCreator
  28. def astsForComments(iASTTranslationUnit: IASTTranslationUnit): Seq[Ast]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  29. def astsForDeclaration(decl: IASTDeclaration): Seq[Ast]
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  30. def astsForStatement(statement: IASTStatement, argIndex: Int = -1): Seq[Ast]
    Attributes
    protected
    Definition Classes
    AstForStatementsCreator
  31. def attachDependenciesAndImports(iASTTranslationUnit: IASTTranslationUnit): Unit
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  32. def blockAst(blockNode: NewBlock, statements: List[Ast]): Ast
    Definition Classes
    AstCreatorBase
  33. def callAst(callNode: NewCall, arguments: Seq[Ast], base: Option[Ast], receiver: Option[Ast]): Ast
    Definition Classes
    AstCreatorBase
  34. val cdtAst: IASTTranslationUnit
  35. def cleanType(rawType: String, stripKeywords: Boolean = true): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  36. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  37. def column(node: IASTNode): Option[Int]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  38. def columnEnd(node: IASTNode): Option[Int]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  39. val config: Config
  40. def controlStructureAst(controlStructureNode: NewControlStructure, condition: Option[Ast], children: Seq[Ast], placeConditionLast: Boolean): Ast
    Definition Classes
    AstCreatorBase
  41. def createAst(): DiffGraphBuilder
    Definition Classes
    AstCreator → AstCreatorBase
  42. val diffGraph: DiffGraphBuilder
    Definition Classes
    AstCreatorBase
  43. def doWhileAst(condition: Option[Ast], body: Seq[Ast], code: Option[String], lineNumber: Option[Integer], columnNumber: Option[Integer]): Ast
    Definition Classes
    AstCreatorBase
  44. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  45. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  46. val file2OffsetTable: ConcurrentHashMap[String, Array[Int]]
  47. def fileName(node: IASTNode): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  48. val filename: String
  49. def fixQualifiedName(name: String): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  50. def forAst(forNode: NewControlStructure, locals: Seq[Ast], initAsts: Seq[Ast], conditionAsts: Seq[Ast], updateAsts: Seq[Ast], bodyAsts: Seq[Ast]): Ast
    Definition Classes
    AstCreatorBase
  51. def forAst(forNode: NewControlStructure, locals: Seq[Ast], initAsts: Seq[Ast], conditionAsts: Seq[Ast], updateAsts: Seq[Ast], bodyAst: Ast): Ast
    Definition Classes
    AstCreatorBase
  52. def fullName(node: IASTNode): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  53. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  54. def globalNamespaceBlock(): NewNamespaceBlock
    Definition Classes
    AstCreatorBase
  55. def handleUsingDeclaration(usingDecl: ICPPASTUsingDeclaration): Seq[Ast]
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  56. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  57. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  58. def isQualifiedName(name: String): Boolean
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  59. def lastNameOfQualifiedName(name: String): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  60. def line(node: IASTNode): Option[Int]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  61. def lineEnd(node: IASTNode): Option[Int]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  62. val logger: Logger
    Attributes
    protected
  63. def methodAst(method: NewMethod, parameters: Seq[Ast], body: Ast, methodReturn: NewMethodReturn, modifiers: Seq[NewModifier]): Ast
    Definition Classes
    AstCreatorBase
  64. val methodAstParentStack: Stack[NewNode]
    Attributes
    protected
  65. def methodAstWithAnnotations(method: NewMethod, parameters: Seq[Ast], body: Ast, methodReturn: NewMethodReturn, modifiers: Seq[NewModifier], annotations: Seq[Ast]): Ast
    Definition Classes
    AstCreatorBase
  66. def methodStubAst(method: NewMethod, parameters: Seq[NewMethodParameterIn], methodReturn: NewMethodReturn, modifiers: Seq[NewModifier]): Ast
    Definition Classes
    AstCreatorBase
  67. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  68. def newBlockNode(node: IASTNode, typeFullName: String): NewBlock
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  69. def newCallNode(node: IASTNode, name: String, fullname: String, dispatchType: String, argIndex: Int = -1): NewCall
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  70. def newCommentNode(node: IASTNode, code: String, filename: String): NewComment
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  71. def newControlStructureNode(node: IASTNode, controlStructureType: String, code: String): NewControlStructure
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  72. def newFieldIdentifierNode(node: IASTNode, name: String, code: String): NewFieldIdentifier
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  73. def newIdentifierNode(node: IASTNode, name: String, code: String, typeFullName: String): NewIdentifier
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  74. def newImportNode(code: String, importedEntity: String, include: IASTPreprocessorIncludeStatement): NewImport
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  75. def newJumpTargetNode(node: IASTNode): NewJumpTarget
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  76. def newLiteralNode(node: IASTNode, code: String, typeFullName: String): NewLiteral
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  77. def newLocalNode(node: IASTNode, name: String, code: String, typeFullName: String): NewLocal
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  78. def newMemberNode(node: IASTNode, name: String, code: String, typeFullName: String): NewMember
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  79. def newMethodNode(node: IASTNode, name: String, code: String, fullName: String, fileName: String, astParentType: Option[String] = None, astParentFullName: Option[String] = None): NewMethod
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  80. def newMethodRefNode(code: String, methodFullName: String, typeFullName: String, node: IASTNode): NewMethodRef
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  81. def newMethodReturnNode(node: IASTNode, typeFullName: String): NewMethodReturn
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  82. def newNamespaceBlockNode(node: IASTNode, name: String, fullname: String, code: String, filename: String): NewNamespaceBlock
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  83. def newParameterInNode(node: IASTNode, name: String, code: String, typeFullName: String, index: Int, evaluationStrategy: String, isVariadic: Boolean): NewMethodParameterIn
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  84. def newReturnNode(node: IASTNode, code: String): NewReturn
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  85. def newTypeDeclNode(node: IASTNode, name: String, fullName: String, filename: String, code: String, astParentType: String = "", astParentFullName: String = "", inherits: Seq[String] = Seq.empty, alias: Option[String] = None): NewTypeDecl
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  86. def newUnknownNode(node: IASTNode): NewUnknown
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  87. 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.

    Definition Classes
    MacroHandler
    Annotations
    @nowarn()
  88. def notHandledYet(node: IASTNode): Ast
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  89. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  90. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  91. def nullSafeAst(node: IASTStatement, argIndex: Int = -1): Seq[Ast]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  92. def nullSafeAst(node: IASTExpression): Ast
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  93. def nullSafeAst(node: IASTExpression, argIndex: Int): Ast
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  94. def nullSafeCode(node: IASTNode): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  95. def registerType(typeName: String): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  96. def returnAst(returnNode: NewReturn, arguments: Seq[Ast]): Ast
    Definition Classes
    AstCreatorBase
  97. val scope: Scope[String, (NewNode, String), NewNode]
    Attributes
    protected
  98. def setArgumentIndices(arguments: Seq[Ast]): Unit
    Definition Classes
    AstCreatorBase
  99. def shortName(node: IASTNode): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  100. def staticInitMethodAst(initAsts: List[Ast], fullName: String, signature: Option[String], returnType: String): Ast
    Definition Classes
    AstCreatorBase
  101. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  102. def templateParameters(e: IASTNode): Option[String]
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  103. def toString(): String
    Definition Classes
    AnyRef → Any
  104. def tryCatchAst(tryNode: NewControlStructure, tryBodyAst: Ast, catchAsts: Seq[Ast], finallyAst: Option[Ast]): Ast
    Definition Classes
    AstCreatorBase
  105. def typeFor(node: IASTNode, stripKeywords: Boolean = true): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
    Annotations
    @nowarn()
  106. def typeForDeclSpecifier(spec: IASTNode, stripKeywords: Boolean = true, index: Int = 0): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  107. def uniqueName(target: String, name: String, fullName: String): (String, String)
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  108. val usingDeclarationMappings: Map[String, String]
    Attributes
    protected
  109. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  110. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  111. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  112. def whileAst(condition: Option[Ast], body: Seq[Ast], code: Option[String], lineNumber: Option[Integer], columnNumber: Option[Integer]): Ast
    Definition Classes
    AstCreatorBase
  113. def withArgumentIndex[T <: ExpressionNew](node: T, argIdxOpt: Option[Int]): T
    Definition Classes
    AstCreatorBase
  114. def withArgumentName[T <: ExpressionNew](node: T, argNameOpt: Option[String]): T
    Definition Classes
    AstCreatorBase
  115. def withIndex[T, X](nodes: Array[T])(f: (T, Int) => X): Seq[X]
    Definition Classes
    AstCreatorBase
  116. def withIndex[T, X](nodes: Seq[T])(f: (T, Int) => X): Seq[X]
    Definition Classes
    AstCreatorBase
  117. def wrapMultipleInBlock(asts: Seq[Ast], lineNumber: Option[Integer]): Ast
    Definition Classes
    AstCreatorBase

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from MacroHandler

Inherited from AstCreatorHelper

Inherited from AstNodeBuilder

Inherited from AstForFunctionsCreator

Inherited from AstForTypesCreator

Inherited from AstCreatorBase

Inherited from AnyRef

Inherited from Any

Ungrouped