Packages

c

io.joern.fuzzyc2cpg.parser.functions.builder

FunctionContentBuilder

class FunctionContentBuilder extends AstNodeBuilder[AstNode]

The FunctionContentBuilder is invoked while walking the parse tree to create ASTs for the contents of functions, i.e., the first-level compound statements of functions.

Since the fuzzy parser avoids using nested grammar rules as these rules often require reading all tokens of a file only to realize that the default rule must be taken, the most difficult task this code fulfills is to produce a correctly nested AST.

Linear Supertypes
AstNodeBuilder[AstNode], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FunctionContentBuilder
  2. AstNodeBuilder
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new FunctionContentBuilder()

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 addLocalDecl(decl: IdentifierDecl): Unit
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. def createNew(ctx: ParserRuleContext): Unit
    Definition Classes
    FunctionContentBuilderAstNodeBuilder
    Annotations
    @Override()
  8. def enterAdditiveExpression(ctx: Additive_expressionContext): Unit
  9. def enterAndExpression(ctx: And_expressionContext): Unit
  10. def enterArgument(ctx: Function_argumentContext): Unit
  11. def enterArgumentList(ctx: Function_argument_listContext): Unit
  12. def enterArrayIndexing(ctx: ArrayIndexingContext): Unit
  13. def enterAssignment(ctx: Assign_exprContext): Unit
  14. def enterBitAndExpression(ctx: Bit_and_expressionContext): Unit
  15. def enterBlockStarter(ctx: Block_starterContext): Unit
  16. def enterBreakStatement(ctx: BreakStatementContext): Unit
  17. def enterCastExpression(ctx: Cast_expressionContext): Unit
  18. def enterCast_target(ctx: Cast_targetContext): Unit
  19. def enterCatchStatement(ctx: Catch_statementContext): Unit
  20. def enterClosingCurly(ctx: Closing_curlyContext): Unit
  21. def enterCondition(ctx: ConditionContext): Unit
  22. def enterConditionalExpr(ctx: Conditional_expressionContext): Unit
  23. def enterConstant(ctx: ConstantContext): Unit
  24. def enterContinueStatement(ctx: ContinueStatementContext): Unit
  25. def enterDeclByClass(ctx: DeclByClassContext): Unit
  26. def enterDeclByType(ctx: ParserRuleContext, type_nameContext: Type_nameContext): Unit
  27. def enterDeleteExpr(ctx: Delete_expressionContext): Unit
  28. def enterDo(ctx: Do_statementContext): Unit
  29. def enterElse(ctx: Else_statementContext): Unit
  30. def enterEqualityExpression(ctx: Equality_expressionContext): Unit
  31. def enterExclusiveOrExpression(ctx: Exclusive_or_expressionContext): Unit
  32. def enterExprStatement(ctx: Expr_statementContext): Unit
  33. def enterExpression(ctx: ExprContext): Unit
  34. def enterFor(ctx: For_statementContext): Unit
  35. def enterFuncCall(ctx: FuncCallContext): Unit
  36. def enterGotoStatement(ctx: GotoStatementContext): Unit
  37. def enterIdentifier(ctx: IdentifierContext): Unit
  38. def enterIf(ctx: If_statementContext): Unit
  39. def enterIncDec(ctx: Inc_decContext): Unit
  40. def enterIncDecOp(ctx: IncDecOpContext): Unit
  41. def enterInclusiveOrExpression(ctx: Inclusive_or_expressionContext): Unit
  42. def enterInitDeclSimple(ctx: InitDeclSimpleContext): Unit
  43. def enterInitDeclWithAssign(ctx: InitDeclWithAssignContext): Unit
  44. def enterInitDeclWithCall(ctx: InitDeclWithCallContext): Unit
  45. def enterInitFor(ctx: For_init_statementContext): Unit
  46. def enterInitializerList(ctx: Initializer_listContext): Unit
  47. def enterLabel(ctx: LabelContext): Unit
  48. def enterMemberAccess(ctx: MemberAccessContext): Unit
  49. def enterMultiplicativeExpression(ctx: Multiplicative_expressionContext): Unit
  50. def enterNewExpr(ctx: New_expressionContext): Unit
  51. def enterOpeningCurly(ctx: Opening_curlyContext): Unit
  52. def enterOrExpression(ctx: Or_expressionContext): Unit
  53. def enterPrimary(ctx: Primary_expressionContext): Unit
  54. def enterPtrMemberAccess(ctx: PtrMemberAccessContext): Unit
  55. def enterRelationalExpression(ctx: Relational_expressionContext): Unit
  56. def enterReturnStatement(ctx: ReturnStatementContext): Unit
  57. def enterShiftExpression(ctx: Shift_expressionContext): Unit
  58. def enterSizeof(ctx: SizeofContext): Unit
  59. def enterSizeofExpr(ctx: Sizeof_expressionContext): Unit
  60. def enterSizeofOperand(ctx: Sizeof_operandContext): Unit
  61. def enterSizeofOperand2(ctx: Sizeof_operand2Context): Unit
  62. def enterStatement(ctx: StatementContext): Unit
  63. def enterSwitchStatement(ctx: Switch_statementContext): Unit
  64. def enterThrowStatement(ctx: ThrowStatementContext): Unit
  65. def enterTryStatement(ctx: Try_statementContext): Unit
  66. def enterUnaryExpression(ctx: Unary_expressionContext): Unit
  67. def enterUnaryOpAndCastExpr(ctx: Unary_op_and_cast_exprContext): Unit
  68. def enterUnaryOperator(ctx: Unary_operatorContext): Unit
  69. def enterWhile(ctx: While_statementContext): Unit
  70. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  71. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  72. def exitAdditiveExpression(ctx: Additive_expressionContext): Unit
  73. def exitAndExpression(ctx: And_expressionContext): Unit
  74. def exitArgument(ctx: Function_argumentContext): Unit
  75. def exitArgumentList(ctx: Function_argument_listContext): Unit
  76. def exitArrayIndexing(ctx: ArrayIndexingContext): Unit
  77. def exitAssignment(ctx: Assign_exprContext): Unit
  78. def exitBitAndExpression(ctx: Bit_and_expressionContext): Unit
  79. def exitCastExpression(ctx: Cast_expressionContext): Unit
  80. def exitCast_target(ctx: Cast_targetContext): Unit
  81. def exitCondition(ctx: ConditionContext): Unit
  82. def exitConditionalExpr(ctx: Conditional_expressionContext): Unit
  83. def exitConstant(ctx: ConstantContext): Unit
  84. def exitDeclByClass(): Unit
  85. def exitDeclByType(): Unit
  86. def exitDeleteExpr(ctx: Delete_expressionContext): Unit
  87. def exitEqualityExpression(ctx: Equality_expressionContext): Unit
  88. def exitExclusiveOrExpression(ctx: Exclusive_or_expressionContext): Unit
  89. def exitExpression(ctx: ExprContext): Unit
  90. def exitFuncCall(ctx: FuncCallContext): Unit
  91. def exitIdentifier(ctx: IdentifierContext): Unit
  92. def exitIncDec(ctx: Inc_decContext): Unit
  93. def exitIncDecOp(ctx: IncDecOpContext): Unit
  94. def exitInclusiveOrExpression(ctx: Inclusive_or_expressionContext): Unit
  95. def exitInitDeclSimple(): Unit
  96. def exitInitDeclWithAssign(ctx: InitDeclWithAssignContext): Unit
  97. def exitInitDeclWithCall(): Unit
  98. def exitInitFor(ctx: For_init_statementContext): Unit
  99. def exitInitializerList(ctx: Initializer_listContext): Unit
  100. def exitMemberAccess(ctx: MemberAccessContext): Unit
  101. def exitMultiplicativeExpression(ctx: Multiplicative_expressionContext): Unit
  102. def exitNewExpr(ctx: New_expressionContext): Unit
  103. def exitPrimary(ctx: Primary_expressionContext): Unit
  104. def exitPtrMemberAccess(ctx: PtrMemberAccessContext): Unit
  105. def exitRelationalExpression(ctx: Relational_expressionContext): Unit
  106. def exitShiftExpression(ctx: Shift_expressionContext): Unit
  107. def exitSizeof(ctx: SizeofContext): Unit
  108. def exitSizeofExpr(ctx: Sizeof_expressionContext): Unit
  109. def exitSizeofOperand(ctx: Sizeof_operandContext): Unit
  110. def exitSizeofOperand2(ctx: Sizeof_operand2Context): Unit
  111. def exitStatement(ctx: StatementContext): Unit
  112. def exitStatements(ctx: StatementsContext): Unit
  113. def exitUnaryExpression(ctx: Unary_expressionContext): Unit
  114. def exitUnaryOpAndCastExpr(ctx: Unary_op_and_cast_exprContext): Unit
  115. def exitUnaryOperator(ctx: Unary_operatorContext): Unit
  116. def exitrOrExpression(ctx: Or_expressionContext): Unit
  117. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  118. def getItem(): AstNode
    Definition Classes
    AstNodeBuilder
  119. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  120. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  121. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  122. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  123. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  124. def replaceTopOfStack(item: AstNode, ctx: ParserRuleContext): Unit
    Attributes
    protected[builder]
  125. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  126. def toString(): String
    Definition Classes
    AnyRef → Any
  127. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  128. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  129. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

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

Inherited from AstNodeBuilder[AstNode]

Inherited from AnyRef

Inherited from Any

Ungrouped