Interface IJavaElementFactory

All Known Subinterfaces:
IJavaGlobalContext

@Ser public interface IJavaElementFactory
A collection of Java AST element factories.
  • Method Details

    • createMethodReference

      IJavaMethod createMethodReference(String msig)
      Create a method reference.
      Parameters:
      msig - method signature
      Returns:
      method reference
    • createMethodReference

      IJavaMethod createMethodReference(String msig, Boolean hintStaticMethod)
      Create a method reference.
      Parameters:
      msig - method signature
      hintStaticMethod - optional static-method hint
      Returns:
      method reference
    • createFieldReference

      IJavaField createFieldReference(String fsig)
      Create a field reference.
      Parameters:
      fsig - field signature
      Returns:
      field reference
    • createFieldReference

      IJavaField createFieldReference(String fsig, Boolean hintStaticField)
      Create a field reference.
      Parameters:
      fsig - field signature
      hintStaticField - optional static-field hint
      Returns:
      field reference
    • createArrayElt

      IJavaArrayElt createArrayElt(IJavaExpression array, IJavaExpression index)
      Create an array element expression.
      Parameters:
      array - array expression
      index - index expression
      Returns:
      array element expression
    • createAssignment

      IJavaAssignment createAssignment(IJavaLeftExpression left, IJavaExpression right)
      Create an assignment statement.
      Parameters:
      left - left-side expression
      right - right-side expression
      Returns:
      assignment statement
    • createBlock

      IJavaBlock createBlock()
      Create an empty block.
      Returns:
      block
    • createBlock

      IJavaBlock createBlock(IJavaStatement firstStatement)
      Create a block containing an initial statement.
      Parameters:
      firstStatement - first statement
      Returns:
      block
    • createBreak

      IJavaBreak createBreak(IJavaLabel label)
      Create a break statement.
      Parameters:
      label - optional target label
      Returns:
      break statement
    • createTypeReference

      IJavaTypeReference createTypeReference(IJavaType type)
      Create a type-reference expression.
      Parameters:
      type - referenced type
      Returns:
      type-reference expression
    • createConditionalExpression

      IJavaConditionalExpression createConditionalExpression(IJavaExpression left, IJavaExpression right0, IJavaExpression right1)
      Create a conditional expression.
      Parameters:
      left - predicate expression
      right0 - expression used when the predicate is true
      right1 - expression used when the predicate is false
      Returns:
      conditional expression
    • createContinue

      IJavaContinue createContinue(IJavaLabel label)
      Create a continue statement.
      Parameters:
      label - optional target label
      Returns:
      continue statement
    • createDoWhile

      IJavaDoWhile createDoWhile(IJavaBlock b, IJavaPredicate p)
      Create a do-while statement.
      Parameters:
      b - loop body
      p - loop predicate
      Returns:
      do-while statement
    • createOperation

      IJavaOperation createOperation(IJavaExpression left, JavaOperatorType operator, IJavaExpression right)
      Create an operation expression.
      Parameters:
      left - left operand
      operator - operator type
      right - right operand
      Returns:
      operation expression
    • createOperation

      IJavaOperation createOperation(IJavaExpression left, IJavaOperator operator, IJavaExpression right)
      Create an operation expression.
      Parameters:
      left - left operand
      operator - operator
      right - right operand
      Returns:
      operation expression
    • createCastOperation

      IJavaOperation createCastOperation(IJavaType castType, IJavaExpression exp)
      Create a cast operation.
      Parameters:
      castType - target type
      exp - expression to cast
      Returns:
      cast operation
    • createFor

      Create a for statement.
      Parameters:
      pre - initializer statement
      p - loop predicate
      post - post-iteration statement
      b - loop body
      Returns:
      for statement
    • createForEach

      IJavaForEach createForEach(IJavaDefinition var, IJavaExpression iterable, IJavaBlock b)
      Create a for-each statement.
      Parameters:
      var - iteration variable definition
      iterable - iterable expression
      b - loop body
      Returns:
      for-each statement
    • createGoto

      IJavaGoto createGoto(IJavaLabel label)
      Create a goto statement.
      Parameters:
      label - target label
      Returns:
      goto statement
    • createIf

      Create an if statement.
      Parameters:
      p - predicate
      b - true branch block
      Returns:
      if statement
    • createInstanceField

      IJavaInstanceField createInstanceField(IJavaExpression instance, String fsig)
      Create an instance-field expression.
      Parameters:
      instance - instance expression
      fsig - field signature
      Returns:
      instance-field expression
    • createInstanceField

      IJavaInstanceField createInstanceField(IJavaExpression instance, IJavaField field)
      Create an instance-field expression.
      Parameters:
      instance - instance expression
      field - field reference
      Returns:
      instance-field expression
    • createCall

      IJavaCall createCall(IJavaMethod m, int calltype)
      Create a call expression.
      Parameters:
      m - method reference
      calltype - call type
      Returns:
      call expression
    • createCall

      IJavaCall createCall(String msig, int calltype)
      Create a call expression.
      Parameters:
      msig - method signature
      calltype - call type
      Returns:
      call expression
    • createCall

      IJavaCall createCall(IJavaMethod m, int calltype, List<IJavaExpression> argument)
      Create a call expression.
      Parameters:
      m - method reference
      calltype - call type
      argument - arguments
      Returns:
      call expression
    • createCall

      IJavaCall createCall(String msig, int calltype, List<IJavaExpression> argument)
      Create a call expression.
      Parameters:
      msig - method signature
      calltype - call type
      argument - arguments
      Returns:
      call expression
    • createNew

      IJavaNew createNew(IJavaType type, IJavaMethod method)
      Create a new-instance expression.
      Parameters:
      type - instantiated type
      method - constructor method
      Returns:
      new-instance expression
    • createNew

      IJavaNew createNew(IJavaType type, IJavaMethod method, List<IJavaExpression> arguments)
      Create a new-instance expression.
      Parameters:
      type - instantiated type
      method - constructor method
      arguments - constructor arguments
      Returns:
      new-instance expression
    • createNew

      IJavaNew createNew(IJavaType type, String msig, List<IJavaExpression> arguments)
      Create a new-instance expression.
      Parameters:
      type - instantiated type
      msig - constructor method signature
      arguments - constructor arguments
      Returns:
      new-instance expression
    • createNewArray

      IJavaNewArray createNewArray(IJavaType type, IJavaExpression size)
      Create a new-array expression with one size expression.
      Parameters:
      type - array type
      size - array size expression
      Returns:
      new-array expression
    • createNewArray

      IJavaNewArray createNewArray(IJavaType type, boolean areSizes, List<IJavaExpression> sizesOrInits)
      Create a new-array expression.
      Parameters:
      type - array type
      areSizes - true if the list contains size expressions; false if it contains initializers
      sizesOrInits - size expressions or initializer expressions
      Returns:
      new-array expression
    • createPredicate

      IJavaPredicate createPredicate(IJavaExpression exp)
      Create a predicate wrapper.
      Parameters:
      exp - predicate expression
      Returns:
      predicate
    • createReturn

      IJavaReturn createReturn()
      Create a return statement without expression.
      Returns:
      return statement
    • createReturn

      IJavaReturn createReturn(IJavaExpression e)
      Create a return statement with an expression.
      Parameters:
      e - returned expression
      Returns:
      return statement
    • createStaticField

      IJavaStaticField createStaticField(IJavaType classType, String fsig)
      Create a static-field expression.
      Parameters:
      classType - owner class type
      fsig - field signature
      Returns:
      static-field expression
    • createStaticField

      IJavaStaticField createStaticField(IJavaType classType, IJavaField field)
      Create a static-field expression.
      Parameters:
      classType - owner class type
      field - field reference
      Returns:
      static-field expression
    • createSwitch

      IJavaSwitch createSwitch(IJavaExpression e)
      Create a switch statement.
      Parameters:
      e - switched expression
      Returns:
      switch statement
    • createSwitch

      IJavaSwitch createSwitch(IJavaExpression e, int switchType)
      Create a switch statement.
      Parameters:
      e - switched expression
      switchType - switch type
      Returns:
      switch statement
    • createTry

      IJavaTry createTry(IJavaBlock b)
      Create a try statement.
      Parameters:
      b - try body
      Returns:
      try statement
    • createMonitor

      IJavaMonitor createMonitor(boolean enter, IJavaExpression lock)
      Create a monitor statement.
      Parameters:
      enter - true for monitor-enter, false for monitor-exit
      lock - lock expression
      Returns:
      monitor statement
    • createSynchronizedBlock

      IJavaSynchronizedBlock createSynchronizedBlock(IJavaExpression lock, IJavaBlock b)
      Create a synchronized block.
      Parameters:
      lock - lock expression
      b - block body
      Returns:
      synchronized block
    • createThrow

      IJavaThrow createThrow(IJavaExpression throwable)
      Create a throw statement.
      Parameters:
      throwable - thrown expression
      Returns:
      throw statement
    • createWhile

      IJavaWhile createWhile(IJavaPredicate p, IJavaBlock b)
      Create a while statement.
      Parameters:
      p - loop predicate
      b - loop body
      Returns:
      while statement
    • createAnnotation

      IJavaAnnotation createAnnotation(IJavaType type, List<IJavaAnnotationElement> elts)
      Create an annotation.
      Parameters:
      type - annotation type
      elts - annotation elements
      Returns:
      annotation
    • createAnnotationElement

      IJavaAnnotationElement createAnnotationElement(IJavaConstant name, IJavaExpression value)
      Create an annotation element.
      Parameters:
      name - element name
      value - element value
      Returns:
      annotation element