JML

org.multijava.util.backend
Class HandleCreator

java.lang.Object
  extended byorg.multijava.util.backend.HandleCreator
All Implemented Interfaces:
AccessorTransformer

class HandleCreator
extends Object
implements AccessorTransformer

This class replaces all references to instructions by their associated handle. At the same time, it adds line numbers to the handles and checks if they are references by an instruction, handler or local variable info.


Field Summary
private  InstructionHandle[] handles
           
private  ArrayLocator locator
           
 
Constructor Summary
HandleCreator(Instruction[] insns, InstructionHandle[] handles)
          Creates a new HandleCreator object
 
Method Summary
 InstructionAccessor transform(InstructionAccessor accessor, AccessorContainer container)
          Transforms the specified accessor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

locator

private final ArrayLocator locator

handles

private final InstructionHandle[] handles
Constructor Detail

HandleCreator

public HandleCreator(Instruction[] insns,
                     InstructionHandle[] handles)
Creates a new HandleCreator object

Parameters:
insns - the array of instructions
handles - the array of instruction handles
Method Detail

transform

public InstructionAccessor transform(InstructionAccessor accessor,
                                     AccessorContainer container)
                              throws BadAccessorException
Transforms the specified accessor.

Specified by:
transform in interface AccessorTransformer
Parameters:
accessor - the accessor to transform
container - the object which contains the accessor
Returns:
the transformed accessor
Throws:
BadAccessorException

JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.