dk.brics.xact.analysis.dataflow
Interface VariableAnalysisInterface<VariableElementType>

All Known Implementing Classes:
XMLGraphAnalysis

public interface VariableAnalysisInterface<VariableElementType>

Lattice and transfer functions for a VariableAnalysis.


Method Summary
 void assign(VariableElementType value, Statement s)
          Invoked after each assignment transfer function on the resulting value.
 boolean merge(VariableElementType source, VariableElementType dest)
          Computes the least upper bound of two value lattice elements.
 VariableElementType newBottomElement()
          Creates a placeholder for a lattice element for a flow value, having the initial value.
 VariableElementType transferCast(CastStm s, VariableElementType base)
          Transfer function for a CastStm.
 void transferCheck(CheckStm s, VariableElementType base)
          Transfer function for a CheckStm.
 VariableElementType transferConcat(ConcatStm s, VariableElementType xmlsource)
          Transfer function for a ConcatStm.
 VariableElementType transferConst(ConstStm s)
          Transfer function for a ConstStm.
 VariableElementType transferCopy(CopyStm s, VariableElementType base, VariableElementType firstattr, VariableElementType firstchild, VariableElementType nextnode)
          Transfer function for a CopyStm.
 VariableElementType transferEmpty(EmptyStm s)
          Transfer function for an EmptyStm.
 VariableElementType transferGapify(GapifyStm s, VariableElementType base)
          Transfer function for a GapifyStm.
 VariableElementType transferGet(GetStm s, VariableElementType base)
          Transfer function for a GetStm.
 VariableElementType transferInsert(InsertStm s, VariableElementType base, VariableElementType xmlsrc)
          Transfer function for an InsertStm.
 VariableElementType transferNode(NodeStm s, VariableElementType firstattr, VariableElementType firstchild, VariableElementType nextnode)
          Transfer function for a NodeStm.
 VariableElementType transferPlug(PlugStm s, VariableElementType variable, VariableElementType xmlsrc)
          Transfer function for a PlugStm.
 VariableElementType transferRemove(RemoveStm s, VariableElementType base)
          Transfer function for a RemoveStm.
 VariableElementType transferSet(SetStm s, VariableElementType base, VariableElementType xmlsrc)
          Transfer function for a SetStm.
 VariableElementType transferUnknown(UnknownStm s)
          Transfer function for an UnknownStm.
 VariableElementType transferValidate(ValidateStm s, VariableElementType base)
          Transfer function for a ValidateStm.
 

Method Detail

assign

void assign(VariableElementType value,
            Statement s)
Invoked after each assignment transfer function on the resulting value.


merge

boolean merge(VariableElementType source,
              VariableElementType dest)
Computes the least upper bound of two value lattice elements.

Returns:
true if the new value of dest is different from the old, false otherwise.

newBottomElement

VariableElementType newBottomElement()
Creates a placeholder for a lattice element for a flow value, having the initial value.


transferCast

VariableElementType transferCast(CastStm s,
                                 VariableElementType base)
Transfer function for a CastStm.


transferCheck

void transferCheck(CheckStm s,
                   VariableElementType base)
Transfer function for a CheckStm.


transferConcat

VariableElementType transferConcat(ConcatStm s,
                                   VariableElementType xmlsource)
Transfer function for a ConcatStm.


transferConst

VariableElementType transferConst(ConstStm s)
Transfer function for a ConstStm.


transferCopy

VariableElementType transferCopy(CopyStm s,
                                 VariableElementType base,
                                 VariableElementType firstattr,
                                 VariableElementType firstchild,
                                 VariableElementType nextnode)
Transfer function for a CopyStm.


transferEmpty

VariableElementType transferEmpty(EmptyStm s)
Transfer function for an EmptyStm.


transferGapify

VariableElementType transferGapify(GapifyStm s,
                                   VariableElementType base)
Transfer function for a GapifyStm.


transferGet

VariableElementType transferGet(GetStm s,
                                VariableElementType base)
Transfer function for a GetStm.


transferInsert

VariableElementType transferInsert(InsertStm s,
                                   VariableElementType base,
                                   VariableElementType xmlsrc)
Transfer function for an InsertStm.


transferNode

VariableElementType transferNode(NodeStm s,
                                 VariableElementType firstattr,
                                 VariableElementType firstchild,
                                 VariableElementType nextnode)
Transfer function for a NodeStm.


transferPlug

VariableElementType transferPlug(PlugStm s,
                                 VariableElementType variable,
                                 VariableElementType xmlsrc)
Transfer function for a PlugStm.


transferRemove

VariableElementType transferRemove(RemoveStm s,
                                   VariableElementType base)
Transfer function for a RemoveStm.


transferSet

VariableElementType transferSet(SetStm s,
                                VariableElementType base,
                                VariableElementType xmlsrc)
Transfer function for a SetStm.


transferUnknown

VariableElementType transferUnknown(UnknownStm s)
Transfer function for an UnknownStm.


transferValidate

VariableElementType transferValidate(ValidateStm s,
                                     VariableElementType base)
Transfer function for a ValidateStm.



Copyright © 2005-2011 Aarhus University.