All Superinterfaces:
ICElement
All Known Subinterfaces:
ICAssignment, ICBlock, ICBreak, ICCall, ICCompound, ICConditionalStatement, ICContinue, ICControlBreaker, ICCustomStatement, ICDecl, ICDoWhileStm, ICForStm, ICGenericBreakable, ICGenericLoop, ICGenericWhileLoop, ICGoto, ICIfStm, ICJumpFar, ICLabel, ICReturn, ICSwitchStm, ICTerminalStatement, ICThrow, ICWhileStm

@Ser public interface ICStatement extends ICElement
Base interface for C AST elements that represent statements in a code block.
  • Method Details

    • getIntermediateOffset

      long getIntermediateOffset()
      Returns:
    • setIntermediateOffset

      void setIntermediateOffset(long irOffset)
      Called by the code that converts the IR instructions to AST statements
      Optional for "artificial" AST elements.
      The goal is to maintain a relationship between AST elements and the IR instructions that generated them. Ideally, the same relationship is maintained between IR instructions and machine code. This allows clients to establish correspondence between AST (source) and opcodes (assembly).
      Parameters:
      irOffset - IR code first instruction offset for the statement
    • duplicate

      ICStatement duplicate()
      Description copied from interface: ICElement
      Deep duplication of the element. Sub-elements are duplicated.

      Note: ICClass, ICMethod, ICField, ICIdentifier, ICConstant, ICType and ICLabel are not duplicated.

      Specified by:
      duplicate in interface ICElement