harpoon.Analysis.Quads
Class Virtualize

java.lang.Object
  extended by harpoon.Analysis.Transformation.MethodMutator<Quad>
      extended by harpoon.Analysis.Quads.Virtualize
All Implemented Interfaces:
Serializable

public class Virtualize
extends MethodMutator<Quad>

Virtualize makes any non-virtual invocations of uncallable methods non-virtual, so that they don't lead to link errors later. It works on any sort of quad form.

Version:
$Id: Virtualize.java,v 1.2 2004/02/08 01:53:14 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>
See Also:
Nonvirtualize, QuadClassHierarchy, Serialized Form

Constructor Summary
Virtualize(HCodeFactory hcf, ClassHierarchy ch)
          Creates a Virtualize code factory using the given ClassHierarchy.
 
Method Summary
protected  HCode<Quad> mutateHCode(HCodeAndMaps<Quad> input)
          Override this method to effect transformations on split methods.
 
Methods inherited from class harpoon.Analysis.Transformation.MethodMutator
cloneHCode, codeFactory, mutateCodeName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Virtualize

public Virtualize(HCodeFactory hcf,
                  ClassHierarchy ch)
Creates a Virtualize code factory using the given ClassHierarchy.

Method Detail

mutateHCode

protected HCode<Quad> mutateHCode(HCodeAndMaps<Quad> input)
Description copied from class: MethodMutator
Override this method to effect transformations on split methods.

Overrides:
mutateHCode in class MethodMutator<Quad>