soot.toolkits.astmetrics
Class ASTMetric

java.lang.Object
  extended by polyglot.visit.NodeVisitor
      extended by soot.toolkits.astmetrics.ASTMetric
All Implemented Interfaces:
MetricInterface
Direct Known Subclasses:
AbruptEdgesMetric, ConditionComplexityMetric, ConstructNumbersMetric, ExpressionComplexityMetric, IdentifiersMetric, NumLocalsMetric, StmtSumWeightedByDepth

public abstract class ASTMetric
extends polyglot.visit.NodeVisitor
implements MetricInterface


Constructor Summary
ASTMetric(polyglot.ast.Node astNode)
           
 
Method Summary
abstract  void addMetrics(ClassData data)
           
 polyglot.visit.NodeVisitor enter(polyglot.ast.Node n)
           
 void execute()
           
 ClassData getClassData()
           
 polyglot.ast.Node leave(polyglot.ast.Node parent, polyglot.ast.Node old, polyglot.ast.Node n, polyglot.visit.NodeVisitor v)
           
 void printAstMetric(polyglot.ast.Node n, polyglot.util.CodeWriter w)
           
abstract  void reset()
           
 
Methods inherited from class polyglot.visit.NodeVisitor
begin, enter, finish, finish, leave, override, override, toString, visitEdge
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ASTMetric

public ASTMetric(polyglot.ast.Node astNode)
Method Detail

enter

public final polyglot.visit.NodeVisitor enter(polyglot.ast.Node n)
Overrides:
enter in class polyglot.visit.NodeVisitor

leave

public final polyglot.ast.Node leave(polyglot.ast.Node parent,
                                     polyglot.ast.Node old,
                                     polyglot.ast.Node n,
                                     polyglot.visit.NodeVisitor v)
Overrides:
leave in class polyglot.visit.NodeVisitor

reset

public abstract void reset()

addMetrics

public abstract void addMetrics(ClassData data)

execute

public final void execute()
Specified by:
execute in interface MetricInterface

printAstMetric

public void printAstMetric(polyglot.ast.Node n,
                           polyglot.util.CodeWriter w)

getClassData

public final ClassData getClassData()