jist.runtime
Class RewriterTraversalVerifyEntity

java.lang.Object
  extended by jist.runtime.ClassTraversal.Empty
      extended by jist.runtime.RewriterTraversalVerifyEntity
All Implemented Interfaces:
ClassTraversal.Visitor

 class RewriterTraversalVerifyEntity
extends ClassTraversal.Empty

Traversal object that ensures that a given entity obeys the specific coding norms of JIST applications. Specifically, JIST applications may not have entity objects that have static, abstract or native methods. All entity state should be declared private. All non-private methods should return void.

Since:
JIST1.0
Author:
Rimon Barr <barr+jist@cs.cornell.edu>
See Also:
JistAPI.Entity

Field Summary
private  org.apache.bcel.generic.ConstantPoolGen cpg
          class constant pool.
private  java.util.Vector errors
          accumulated errors.
private  Rewriter rewriter
          primary rewriter.
 
Constructor Summary
RewriterTraversalVerifyEntity(Rewriter rewriter)
          Create rewriter object to perform entity verification.
 
Method Summary
 org.apache.bcel.generic.ClassGen doClass(org.apache.bcel.generic.ClassGen cg)
          Upcall to process class before field and method processing.
 org.apache.bcel.generic.ClassGen doClassPost(org.apache.bcel.generic.ClassGen cg)
          Upcall to process class after field and method processing.
 org.apache.bcel.generic.FieldGen doField(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.FieldGen fg)
          Upcall to process field.
 org.apache.bcel.generic.MethodGen doMethod(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.MethodGen mg)
          Upcall to process method before instruction processing.
 java.lang.String[] getErrors()
          Return accumulated entity verification errors.
 
Methods inherited from class jist.runtime.ClassTraversal.Empty
doInstruction, doMethodPost
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rewriter

private Rewriter rewriter
primary rewriter.


errors

private java.util.Vector errors
accumulated errors.


cpg

private org.apache.bcel.generic.ConstantPoolGen cpg
class constant pool.

Constructor Detail

RewriterTraversalVerifyEntity

public RewriterTraversalVerifyEntity(Rewriter rewriter)
Create rewriter object to perform entity verification.

Parameters:
rewriter - reference to primary rewriter
Method Detail

getErrors

public java.lang.String[] getErrors()
Return accumulated entity verification errors.

Returns:
array of accumulated entity verification errors

doClass

public org.apache.bcel.generic.ClassGen doClass(org.apache.bcel.generic.ClassGen cg)
Upcall to process class before field and method processing.

Specified by:
doClass in interface ClassTraversal.Visitor
Overrides:
doClass in class ClassTraversal.Empty
Parameters:
cg - BCEL class generator object to process
Returns:
processed BCEL class generator object

doClassPost

public org.apache.bcel.generic.ClassGen doClassPost(org.apache.bcel.generic.ClassGen cg)
                                             throws java.lang.ClassNotFoundException
Upcall to process class after field and method processing.

Specified by:
doClassPost in interface ClassTraversal.Visitor
Overrides:
doClassPost in class ClassTraversal.Empty
Parameters:
cg - BCEL class generator object to process
Returns:
processed BCEL class generator object
Throws:
java.lang.ClassNotFoundException

doField

public org.apache.bcel.generic.FieldGen doField(org.apache.bcel.generic.ClassGen cg,
                                                org.apache.bcel.generic.FieldGen fg)
Upcall to process field.

Specified by:
doField in interface ClassTraversal.Visitor
Overrides:
doField in class ClassTraversal.Empty
Parameters:
cg - BCEL class generator object
fg - BCEL field generator object to process
Returns:
processed BCEL field generator object

doMethod

public org.apache.bcel.generic.MethodGen doMethod(org.apache.bcel.generic.ClassGen cg,
                                                  org.apache.bcel.generic.MethodGen mg)
                                           throws java.lang.ClassNotFoundException
Upcall to process method before instruction processing.

Specified by:
doMethod in interface ClassTraversal.Visitor
Overrides:
doMethod in class ClassTraversal.Empty
Parameters:
cg - BCEL class generator object
mg - BCEL method generator object to process
Returns:
processed BCEL method generator object
Throws:
java.lang.ClassNotFoundException