Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

MethodDescription

def ArrayList<Statement> getBasicBlock(Statement)

def ArrayList<Statement> getBasicBlock(Statement, List<Statement>)

Retrieves all statements of the basic block in which the given statement is located.

def Statement getBasicBlockRoot(Statement)

def Statement getBasicBlockRoot(List<Statement>)

Returns the root statement of a basic block.

def boolean isInBasicBlock(Statement, Statement)

def boolean isInBasicBlock(Statement, List<Statement>)

Returns true, if the caller statement is contained in the given basic block.

def String getBasicBlockID(Statement)

def String getBasicBlockID(List<Statement>)

Returns an unique ID for the given basic block. To create this ID, the hash code of the root statement is used.
def ArrayList<Statement> getBasicBlockRoots(Statement)Returns a list of all basic block root statements in the contorl flow of the calling statement.
def ArrayList<Statement> getAllBasicBlockRoots(Statement)Returns a list of all basic block root statements in the program that contains the calling statement.
def int getBasicBlockIndex(Statement)Returns the index of the given basic block.
def ArrayList<Statement> getBasicBlockPredecessorRootsgetBasicBlockPredecessorsRoots(Statement)Returns a list of basic block root statements, that identify the predecessor basic blocks of the basic block identified by the given statement.
Code Block
languagejava
titleSCL Basic Block Extensions Code Examples
for (predecessor : basicBlockData.BasicBlockRootStatement.getBasicBlockPredecessorRootsgetBasicBlockPredecessorsRoots) {
	goLabelText = goLabelText + 'P' + predecessor.getBasicBlockIndex + "\n"
}