de.uka.ipd.sdq.ByCounter.parsing
Class RangeBlockAnalyser

java.lang.Object
  extended by de.uka.ipd.sdq.ByCounter.parsing.RangeBlockAnalyser
All Implemented Interfaces:
IInstructionAnalyser

public final class RangeBlockAnalyser
extends java.lang.Object
implements IInstructionAnalyser

An implementation of IInstructionAnalyser that analyses instructions in order to find the basicBlocks that comprise range blocks. Therefore this class depends on BasicBlockAnalyser. The results of this IInstructionAnalyser are serialised to the file specified by BasicBlockSerialisation.FILE_RANGE_BLOCK_SERIALISATION.


Constructor Summary
RangeBlockAnalyser(MethodDescriptor currentMethod, InstrumentationState instrumentationState)
          Construct the RangeBlockAnalyser and prepare it for analysing the specified method.
 
Method Summary
 void analyseInstruction(org.objectweb.asm.tree.AbstractInsnNode insn)
          Analyse the given instruction.
 void analyseTryCatchBlock(org.objectweb.asm.tree.TryCatchBlockNode tryCatchNode)
          Analyse the given try catch node.
 void postAnalysisEvent(org.objectweb.asm.tree.InsnList instructions)
          Called after all instructions have been individually analysed.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RangeBlockAnalyser

public RangeBlockAnalyser(MethodDescriptor currentMethod,
                          InstrumentationState instrumentationState)
Construct the RangeBlockAnalyser and prepare it for analysing the specified method.

Parameters:
currentMethod - MethodDescriptor for the method to analyse.
instrumentationState - State information used for the instrumentation.
Method Detail

analyseInstruction

public void analyseInstruction(org.objectweb.asm.tree.AbstractInsnNode insn)
Description copied from interface: IInstructionAnalyser
Analyse the given instruction.

Specified by:
analyseInstruction in interface IInstructionAnalyser
Parameters:
insn - Instruction as encountered in a method.

analyseTryCatchBlock

public void analyseTryCatchBlock(org.objectweb.asm.tree.TryCatchBlockNode tryCatchNode)
Description copied from interface: IInstructionAnalyser
Analyse the given try catch node.

Specified by:
analyseTryCatchBlock in interface IInstructionAnalyser
Parameters:
tryCatchNode - The TryCatchBlockNode to analyse.

postAnalysisEvent

public void postAnalysisEvent(org.objectweb.asm.tree.InsnList instructions)
Called after all instructions have been individually analysed.

Specified by:
postAnalysisEvent in interface IInstructionAnalyser
Parameters:
instructions - Complete list of instructions.