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
    AstCreator → AstCreatorBase
  5. 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
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def astForASMDeclaration(asm: IASTASMDeclaration): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  8. def astForAliasDeclaration(aliasDeclaration: ICPPASTAliasDeclaration): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  9. def astForArrayModifier(arrMod: IASTArrayModifier): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  10. def astForBlockStatement(blockStmt: IASTCompoundStatement, order: Int = -1): Ast
    Attributes
    protected
    Definition Classes
    AstForStatementsCreator
  11. def astForComment(comment: IASTComment): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  12. def astForDeclarator(declaration: IASTSimpleDeclaration, declarator: IASTDeclarator, index: Int): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  13. def astForExpression(expression: IASTExpression): Ast
    Attributes
    protected
    Definition Classes
    AstForExpressionsCreator
  14. def astForFieldReference(fieldRef: IASTFieldReference): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  15. def astForFunctionDeclarator(funcDecl: IASTFunctionDeclarator): Ast
    Attributes
    protected
    Definition Classes
    AstForFunctionsCreator
  16. def astForFunctionDefinition(funcDef: IASTFunctionDefinition): Ast
    Attributes
    protected
    Definition Classes
    AstForFunctionsCreator
  17. def astForIdentifier(ident: IASTNode): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  18. def astForInitializer(declarator: IASTDeclarator, init: IASTInitializer): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  19. def astForInitializerList(l: IASTInitializerList): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  20. def astForLiteral(lit: IASTLiteralExpression): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  21. def astForMethodRefForLambda(lambdaExpression: ICPPASTLambdaExpression): Ast
    Attributes
    protected
    Definition Classes
    AstForFunctionsCreator
  22. def astForNamespaceAlias(namespaceAlias: ICPPASTNamespaceAlias): Ast
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  23. def astForNode(node: IASTNode): Ast
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  24. def astForQualifiedName(qualId: CPPASTQualifiedName): Ast
    Attributes
    protected
    Definition Classes
    AstForPrimitivesCreator
  25. def astForStaticAssert(a: ICPPASTStaticAssertDeclaration): Ast
    Attributes
    protected
    Definition Classes
    AstForExpressionsCreator
  26. def astsForDeclaration(decl: IASTDeclaration): Seq[Ast]
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  27. def astsForStatement(statement: IASTStatement, argIndex: Int = -1): Seq[Ast]
    Attributes
    protected
    Definition Classes
    AstForStatementsCreator
  28. def blockAst(blockNode: NewBlock, statements: List[Ast]): Ast
    Definition Classes
    AstCreatorBase
  29. def callAst(callNode: NewCall, arguments: Seq[Ast], base: Option[Ast], receiver: Option[Ast]): Ast
    Definition Classes
    AstCreatorBase
  30. val cdtAst: IASTTranslationUnit
  31. def cleanType(rawType: String, stripKeywords: Boolean = true): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  32. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  33. def column(node: IASTNode): Option[Int]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  34. def columnEnd(node: IASTNode): Option[Int]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  35. val config: Config
  36. def controlStructureAst(controlStructureNode: NewControlStructure, condition: Option[Ast], children: Seq[Ast], placeConditionLast: Boolean): Ast
    Definition Classes
    AstCreatorBase
  37. def createAst(): DiffGraphBuilder
    Definition Classes
    AstCreator → AstCreatorBase
  38. val diffGraph: DiffGraphBuilder
    Definition Classes
    AstCreatorBase
  39. def doWhileAst(condition: Option[Ast], body: Seq[Ast], code: Option[String], lineNumber: Option[Integer], columnNumber: Option[Integer]): Ast
    Definition Classes
    AstCreatorBase
  40. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  41. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  42. val file2OffsetTable: ConcurrentHashMap[String, Array[Int]]
  43. def fileName(node: IASTNode): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  44. val filename: String
  45. def fixQualifiedName(name: String): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  46. def forAst(forNode: NewControlStructure, locals: Seq[Ast], initAsts: Seq[Ast], conditionAsts: Seq[Ast], updateAsts: Seq[Ast], bodyAst: Ast): Ast
    Definition Classes
    AstCreatorBase
  47. def fullName(node: IASTNode): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  48. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  49. def globalNamespaceBlock(): NewNamespaceBlock
    Definition Classes
    AstCreatorBase
  50. def handleUsingDeclaration(usingDecl: ICPPASTUsingDeclaration): Seq[Ast]
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  51. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  52. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  53. def isQualifiedName(name: String): Boolean
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  54. def lastNameOfQualifiedName(name: String): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  55. def line(node: IASTNode): Option[Int]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  56. def lineEnd(node: IASTNode): Option[Int]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  57. val logger: Logger
    Attributes
    protected
  58. def methodAst(method: NewMethod, parameters: Seq[NewMethodParameterIn], body: Ast, methodReturn: NewMethodReturn, modifiers: Seq[NewModifier]): Ast
    Definition Classes
    AstCreatorBase
  59. val methodAstParentStack: Stack[NewNode]
    Attributes
    protected
  60. def methodAstWithAnnotations(method: NewMethod, parameters: Seq[Ast], body: Ast, methodReturn: NewMethodReturn, modifiers: Seq[NewModifier], annotations: Seq[Ast]): Ast
    Definition Classes
    AstCreatorBase
  61. def methodStubAst(method: NewMethod, parameters: Seq[NewMethodParameterIn], methodReturn: NewMethodReturn, modifiers: Seq[NewModifier]): Ast
    Definition Classes
    AstCreatorBase
  62. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  63. def newBlockNode(node: IASTNode, typeFullName: String): NewBlock
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  64. def newCallNode(node: IASTNode, name: String, fullname: String, dispatchType: String, argIndex: Int = -1): NewCall
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  65. def newCommentNode(node: IASTNode, code: String, filename: String): NewComment
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  66. def newControlStructureNode(node: IASTNode, controlStructureType: String, code: String): NewControlStructure
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  67. def newFieldIdentifierNode(node: IASTNode, name: String, code: String): NewFieldIdentifier
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  68. def newIdentifierNode(node: IASTNode, name: String, code: String, typeFullName: String): NewIdentifier
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  69. def newJumpTargetNode(node: IASTNode): NewJumpTarget
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  70. def newLiteralNode(node: IASTNode, code: String, typeFullName: String): NewLiteral
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  71. def newLocalNode(node: IASTNode, name: String, code: String, typeFullName: String): NewLocal
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  72. def newMemberNode(node: IASTNode, name: String, code: String, typeFullName: String): NewMember
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  73. 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
  74. def newMethodRefNode(code: String, methodFullName: String, typeFullName: String, node: IASTNode): NewMethodRef
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  75. def newMethodReturnNode(node: IASTNode, typeFullName: String): NewMethodReturn
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  76. def newNamespaceBlockNode(node: IASTNode, name: String, fullname: String, code: String, filename: String): NewNamespaceBlock
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  77. def newParameterInNode(node: IASTNode, name: String, code: String, typeFullName: String, index: Int, evaluationStrategy: String, isVariadic: Boolean): NewMethodParameterIn
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  78. def newReturnNode(node: IASTNode, code: String): NewReturn
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  79. 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
  80. def newUnknownNode(node: IASTNode): NewUnknown
    Attributes
    protected
    Definition Classes
    AstNodeBuilder
  81. 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()
  82. def notHandledYet(node: IASTNode): Ast
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  83. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  84. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  85. def nullSafeAst(node: IASTStatement, argIndex: Int = -1): Seq[Ast]
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  86. def nullSafeAst(node: IASTExpression): Ast
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  87. def nullSafeAst(node: IASTExpression, argIndex: Int): Ast
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  88. def nullSafeCode(node: IASTNode): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  89. def registerType(typeName: String): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  90. def returnAst(returnNode: NewReturn, arguments: Seq[Ast]): Ast
    Definition Classes
    AstCreatorBase
  91. val scope: Scope[String, (NewNode, String), NewNode]
    Attributes
    protected
  92. def setArgumentIndices(arguments: Seq[Ast]): Unit
    Definition Classes
    AstCreatorBase
  93. def shortName(node: IASTNode): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  94. def staticInitMethodAst(initAsts: List[Ast], fullName: String, signature: Option[String], returnType: String): Ast
    Definition Classes
    AstCreatorBase
  95. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  96. def templateParameters(e: IASTNode): Option[String]
    Attributes
    protected
    Definition Classes
    AstForTypesCreator
  97. def toString(): String
    Definition Classes
    AnyRef → Any
  98. def tryCatchAst(tryNode: NewControlStructure, tryBodyAst: Ast, catchAsts: Seq[Ast], finallyAst: Option[Ast]): Ast
    Definition Classes
    AstCreatorBase
  99. def typeFor(node: IASTNode, stripKeywords: Boolean = true): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
    Annotations
    @nowarn()
  100. def typeForDeclSpecifier(spec: IASTNode, stripKeywords: Boolean = true, index: Int = 0): String
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  101. def uniqueName(target: String, name: String, fullName: String): (String, String)
    Attributes
    protected
    Definition Classes
    AstCreatorHelper
  102. val usingDeclarationMappings: Map[String, String]
    Attributes
    protected
  103. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  104. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  105. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  106. def whileAst(condition: Option[Ast], body: Seq[Ast], code: Option[String], lineNumber: Option[Integer], columnNumber: Option[Integer]): Ast
    Definition Classes
    AstCreatorBase
  107. def withArgumentIndex[T <: ExpressionNew](node: T, argIdxOpt: Option[Int]): T
    Definition Classes
    AstCreatorBase
  108. def withArgumentName[T <: ExpressionNew](node: T, argNameOpt: Option[String]): T
    Definition Classes
    AstCreatorBase
  109. def withIndex[T, X](nodes: Array[T])(f: (T, Int) => X): Seq[X]
    Definition Classes
    AstCreatorBase
  110. def withIndex[T, X](nodes: Seq[T])(f: (T, Int) => X): Seq[X]
    Definition Classes
    AstCreatorBase
  111. 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