Skip navigation links
com.ibm.wala.ssa

Interface SSAIndirectionData<T extends SSAIndirectionData.Name>

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface and Description
      static interface  SSAIndirectionData.Name
      A Name is a mock interface introduced just for strong typing.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method and Description
      int getDef(int instructionIndex, T name)
      For the instruction at the given index, and a source-level name, return the SSA value number which represents this instruction's def of that name.
      Collection<T> getNames()
      Returns the set of "source" level names (e.g.
      int getUse(int instructionIndex, T name)
      For the instruction at the given index, and a source-level name, return the SSA value number which represents this instruction's use of that name.
      void setDef(int instructionIndex, T name, int newDef)
      Record the fact that a particular instruction defs a particular SSA value number (newDef), representing the value of a "source" entity "name".
      void setUse(int instructionIndex, T name, int newUse) 
    • Method Detail

      • getNames

        Collection<T> getNames()
        Returns the set of "source" level names (e.g. local variables in bytecode or source code) for which this map holds information.
      • getDef

        int getDef(int instructionIndex,
                   T name)
        For the instruction at the given index, and a source-level name, return the SSA value number which represents this instruction's def of that name. For example, in Example B in header comment above, suppose v2 referred to a "source"-entity called "Local1". Since instruction (1) (call to bar) defs "Local1", we introduce in this table a new SSA value number, say v7, which represents the value of "Local1" immediately after this instruction.
      • setDef

        void setDef(int instructionIndex,
                    T name,
                    int newDef)
        Record the fact that a particular instruction defs a particular SSA value number (newDef), representing the value of a "source" entity "name".
        See Also:
        getDef(int, T)
      • getUse

        int getUse(int instructionIndex,
                   T name)
        For the instruction at the given index, and a source-level name, return the SSA value number which represents this instruction's use of that name. For example, in Example A in header comment above, suppose v1 referred to a "source"-entity called "Local1". Since instruction (1) (LoadIndirect) uses "Local1", we record in this table the SSA value number that represents "Local1" immediately before instruction (1). So if v1 and v7 both refer to "Local1", then (1) uses v7. If v7 does NOT refer to "Local1", then (1) uses v1.
      • setUse

        void setUse(int instructionIndex,
                    T name,
                    int newUse)
        See Also:
        getUse(int, T)