public class FunctionAndBlockManager
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
FunctionAndBlockManager.SessionKey
Session key object.
|
Constructor and Description |
---|
FunctionAndBlockManager()
Constructs a new function/block manager.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
add(BasicBlock... bs)
Registers the given blocks.
|
(package private) void |
add(Function function)
Registers the given function.
|
(package private) void |
add(java.util.List<BasicBlock> bs)
Registers the given blocks.
|
(package private) Pair<java.util.List<Function>,java.util.List<BasicBlock>> |
close()
Closes this collection of functions and blocks.
|
(package private) void |
endSession(FunctionAndBlockManager.SessionKey key)
Ends a session.
|
(package private) java.util.Collection<BasicBlock> |
getSessionBlocks(FunctionAndBlockManager.SessionKey key)
Returns the blocks produced between a call to
startSession() and
endSession(SessionKey) |
BasicBlock |
getUnreachableSyntacticSuccessorPredecessor(BasicBlock unreachable) |
java.util.Set<BasicBlock> |
getUnreachableSyntacticSuccessors(BasicBlock predecessor) |
boolean |
isUnreachable(BasicBlock block) |
void |
registerUnreachableSyntacticSuccessor(BasicBlock predecessor,
BasicBlock unreachableBlock) |
(package private) FunctionAndBlockManager.SessionKey |
startSession()
Marks the start of a session.
|
FunctionAndBlockManager()
void add(BasicBlock... bs)
void add(Function function)
void add(java.util.List<BasicBlock> bs)
Pair<java.util.List<Function>,java.util.List<BasicBlock>> close()
void endSession(FunctionAndBlockManager.SessionKey key)
java.util.Collection<BasicBlock> getSessionBlocks(FunctionAndBlockManager.SessionKey key)
startSession()
and
endSession(SessionKey)
public BasicBlock getUnreachableSyntacticSuccessorPredecessor(BasicBlock unreachable)
public java.util.Set<BasicBlock> getUnreachableSyntacticSuccessors(BasicBlock predecessor)
public boolean isUnreachable(BasicBlock block)
public void registerUnreachableSyntacticSuccessor(BasicBlock predecessor, BasicBlock unreachableBlock)
FunctionAndBlockManager.SessionKey startSession()
getSessionBlocks(SessionKey)
.
Sessions do not have to nest properly.Copyright © 2009-2019 Aarhus University