[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: About revision 1407.... Again



>>>>> "vranganath" == Venkatesh Prasad Ranganath <vranganath@cox.net> writes:


    vranganath> I am not instantiating UnitGraph.  I am extending
    vranganath> it.  The extension is independent of the class'
    vranganath> abstractness but is rather dependent on the
    vranganath> published interface of the class.  So, I would
    vranganath> not be concerned if this class was not published
    vranganath> or if the constructor was deprecated in the last
    vranganath> release of Soot.  Instead, the API changed all of
    vranganath> a sudden and I am stuck.  Maybe I will be able to
    vranganath> recast my implementation to use the new
    vranganath> constructors with a sequence follow-up method
    vranganath> calls on the instance, but can we use the
    vranganath> available tools and deprecate parts of the
    vranganath> previously published interface of UnitGraph in
    vranganath> this release and remove them according to the
    vranganath> deprecation process suggested by Java community?

This is a ticklish problem.  I consulted about approaches to
ensure compatibility with CompleteUnitGraph, TrapUnitGraph, and
BriefUnitGraph, but neglected the possibility that people might
derive their own subclasses of UnitGraph.

Since the machinery for pruning exceptions in the new CFG
implementations doesn't easily permit them to coexist with the
old UnitGraph constructor, the only way to preserve backwards
compatibility which occurs to me offhand (but then, I have yet to
think about this for very long) would be to deprecate UnitGraph
as you suggest, and then give a completely new name to the
reimplementation. That might be what we need to do, but I wonder
if we can take a short cut...

The machinery for constructing all the old UnitGraph variants is
still available in the new classes, just reorganized. If you tell
me what parameters you feed to UnitGraph(), I can outline how to
get the same effect from the new classes.