Class DexCFG.BasicBlock

    • Constructor Detail

      • BasicBlock

        public BasicBlock​(int startIndex)
    • Method Detail

      • isCatchBlock

        public boolean isCatchBlock()
        Description copied from interface: IBasicBlock
        Return true if the basic block represents a catch block.
        Specified by:
        isCatchBlock in interface IBasicBlock<Instruction>
        Returns:
        true if the basic block represents a catch block.
      • addExceptionalEdges

        protected void addExceptionalEdges​(Instruction last)
        Add any exceptional edges generated by the last instruction in a basic block.
        Parameters:
        last - the last instruction in a basic block.
      • getImplicitExceptionTypes

        public Collection<TypeReference> getImplicitExceptionTypes​(Instruction pei)
        Parameters:
        pei - a potentially-excepting instruction
        Returns:
        the exception types that pei may throw, independent of the class hierarchy. null if none. Notes
        • this method will NOT return the exception type explicitly thrown by an athrow
        • this method will NOT return the exception types that a called method may throw
        • this method ignores OutOfMemoryError
        • this method ignores linkage errors
        • this method ignores IllegalMonitorState exceptions
        Throws:
        IllegalArgumentException - if pei is null
      • getLastInstructionIndex

        public int getLastInstructionIndex()
        Description copied from interface: IBasicBlock
        Get the index of the last instruction in the basic block. The value is an index into the instruction array that contains all the instructions for the method. If the result is < 0, the block has no instructions
        Specified by:
        getLastInstructionIndex in interface IBasicBlock<Instruction>
        Returns:
        the instruction index for the last instruction in the basic block
      • getFirstInstructionIndex

        public int getFirstInstructionIndex()
        Description copied from interface: IBasicBlock
        Get the index of the first instruction in the basic block. The value is an index into the instruction array that contains all the instructions for the method. If the result is < 0, the block has no instructions
        Specified by:
        getFirstInstructionIndex in interface IBasicBlock<Instruction>
        Returns:
        the instruction index for the first instruction in the basic block.
      • isExitBlock

        public boolean isExitBlock()
        Description copied from interface: IBasicBlock
        Return true if the basic block represents the unique exit block.
        Specified by:
        isExitBlock in interface IBasicBlock<Instruction>
        Returns:
        true if the basic block represents the unique exit block.
      • isEntryBlock

        public boolean isEntryBlock()
        Description copied from interface: IBasicBlock
        Return true if the basic block represents the unique entry block.
        Specified by:
        isEntryBlock in interface IBasicBlock<Instruction>
        Returns:
        true if the basic block represents the unique entry block.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getNumber

        public int getNumber()
        Description copied from interface: IBasicBlock
        Each basic block should have a unique number in its cfg
        Specified by:
        getNumber in interface IBasicBlock<Instruction>
        Returns:
        the basic block's number