Versions Compared

Key

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

...

SCL Basic Block Extensions

coming soon..The Basic Block Extensions retrieve information about basic blocks in the SCL model. A basic block can be identified by any statement in the block. Usually the first statement (called basic block root statement) in the block is used.

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> getBasicBlockPredecessorRoots(Statement)Returns a list of basic block root statements, that identify the predecessor basic blocks of the basic block identified by the given statement.