edu.cmu.cs.crystal.simple
Class SimpleTACFlowAnalysis<LE>

java.lang.Object
  extended by edu.cmu.cs.crystal.flow.MotherFlowAnalysis<LE>
      extended by edu.cmu.cs.crystal.tac.TACFlowAnalysis<LE>
          extended by edu.cmu.cs.crystal.simple.SimpleTACFlowAnalysis<LE>
All Implemented Interfaces:
IFlowAnalysis<LE>, ITACFlowAnalysis<LE>

public class SimpleTACFlowAnalysis<LE>
extends TACFlowAnalysis<LE>
implements ITACFlowAnalysis<LE>

Simple flow analysis driver for a transfer function based on three-address code. ITACFlowAnalysis defines methods to be used to query results based on Eclipse AST nodes or TAC instructions.

Since:
Crystal 3.4.1
Author:
Kevin Bierhoff

Field Summary
 
Fields inherited from class edu.cmu.cs.crystal.flow.MotherFlowAnalysis
log
 
Constructor Summary
SimpleTACFlowAnalysis(ITACTransferFunction<LE> transferFunction, IAnalysisInput analysisInput)
          Creates a simple flow analysis with the given transfer function.
 
Method Summary
 
Methods inherited from class edu.cmu.cs.crystal.tac.TACFlowAnalysis
getImplicitThisVariable, getLabeledResultsAfter, getLabeledResultsBefore, getNode, getResultsAfter, getResultsBefore, getSourceVariable, getThisVariable, getVariable
 
Methods inherited from class edu.cmu.cs.crystal.flow.MotherFlowAnalysis
getEndResults, getLabeledEndResult, getLabeledResultsAfter, getLabeledResultsBefore, getLabeledStartResult, getResultsAfter, getResultsAfterAST, getResultsAfterCFG, getResultsBefore, getResultsBeforeAST, getResultsBeforeCFG, getStartResults, setMonitor
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.cmu.cs.crystal.tac.ITACFlowAnalysis
getImplicitThisVariable, getLabeledResultsAfter, getLabeledResultsBefore, getNode, getResultsAfter, getResultsBefore, getSourceVariable, getThisVariable, getVariable
 
Methods inherited from interface edu.cmu.cs.crystal.flow.IFlowAnalysis
getEndResults, getLabeledEndResult, getLabeledResultsAfter, getLabeledResultsBefore, getLabeledStartResult, getResultsAfter, getResultsAfterAST, getResultsAfterCFG, getResultsBefore, getResultsBeforeAST, getResultsBeforeCFG, getStartResults
 

Constructor Detail

SimpleTACFlowAnalysis

public SimpleTACFlowAnalysis(ITACTransferFunction<LE> transferFunction,
                             IAnalysisInput analysisInput)
Creates a simple flow analysis with the given transfer function.

Parameters:
transferFunction - Transfer function to be used to compute results.
analysisInput - Analysis input passed into ICrystalAnalysis.runAnalysis(edu.cmu.cs.crystal.IAnalysisReporter, edu.cmu.cs.crystal.IAnalysisInput, org.eclipse.jdt.core.ITypeRoot, org.eclipse.jdt.core.dom.CompilationUnit)