Interface IJavaCompound

All Superinterfaces:
IJavaElement, IJavaExpression, IJavaStatement
All Known Subinterfaces:
IJavaBlock, IJavaDoWhile, IJavaFor, IJavaForEach, IJavaIf, IJavaSwitch, IJavaSynchronizedBlock, IJavaTry, IJavaWhile

@Ser public interface IJavaCompound extends IJavaStatement
Java AST interface to represent compound statements.

Compound statements contain more statements, laid out in blocks. A block is the simplest type of compound. Compounds include if-conditionals, loops, switches, etc.

  • Method Details

    • getBlocks

      List<IJavaBlock> getBlocks()
      Get the list of blocks contained in this compound.

      Caveat: if this compound is a block itself, the returned list is not empty, it contains self.

      Returns:
      the list of blocks
    • insertAt

      boolean insertAt(int target_offset, IJavaStatement insert_stm)
      Insert a statement at a particular offset within the AST. This function recurses down the AST tree, inside the blocks, to find the exact location where the statement should be inserted.
      Parameters:
      target_offset -
      insert_stm -
      Returns:
    • generateFlatList

      List<IJavaStatement> generateFlatList()
      Generate a flat list of AST and pseudo-AST elements that make up this block. This function allows the caller to get a flat representation of the AST, much like a programmer would view a source code. Note that the statements returned can be pseudo statements, ie, they're not real statements. For example, a flat view of a conditional block would return pseudo-statements to represent the "if" line, the "else if" lines, and the "else" line.
      Returns:
      a list of statements and pseudo-statements
    • reset

      void reset()
      Reset the compound. Internal use.
    • getSubElements

      List<IJavaElement> getSubElements(boolean excludeSubBlocks)
      This specialized version of IJavaElement.getSubElements() allows the caller to exclude collecting sub-blocks of this compound.
      Parameters:
      excludeSubBlocks -
      Returns:
    • duplicate

      IJavaCompound duplicate()
      Description copied from interface: IJavaElement
      Duplicate this element.
      Specified by:
      duplicate in interface IJavaElement
      Specified by:
      duplicate in interface IJavaExpression
      Specified by:
      duplicate in interface IJavaStatement
      Returns:
      a (possibly) duplicated object of the same type