scala.tools.nsc.backend.icode.analysis

# DataFlowAnalysis

#### trait DataFlowAnalysis[L <: SemiLattice] extends AnyRef

A generic framework for data flow analysis.

Source
  DataFlowAnalysis.scala

Linear Supertypes
AnyRef, Any
Known Subclasses
CopyAnalysis, LivenessAnalysis, MTFAGrowable, MethodTFA, ReachingDefinitionsAnalysis
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. DataFlowAnalysis
2. AnyRef
3. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Type Members

1. #### abstract type P <: ProgramPoint[P]

   A type for program points.

### Abstract Value Members

1. #### abstract val lattice: L

2. #### abstract def run(): Unit

### Concrete Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from DataFlowAnalysis[L] to any2stringadd[DataFlowAnalysis[L]] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd

4. #### def ->[B](y: B): (DataFlowAnalysis[L], B)

   Implicit information
     This member is added by an implicit conversion from DataFlowAnalysis[L] to ArrowAssoc[DataFlowAnalysis[L]] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()

5. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

6. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

7. #### def backwardAnalysis(f: (P, L.Elem) ⇒ L.Elem): Unit

8. #### def clone(): AnyRef

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )

9. #### def ensuring(cond: (DataFlowAnalysis[L]) ⇒ Boolean, msg: ⇒ Any): DataFlowAnalysis[L]

   Implicit information
     This member is added by an implicit conversion from DataFlowAnalysis[L] to Ensuring[DataFlowAnalysis[L]] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring

10. #### def ensuring(cond: (DataFlowAnalysis[L]) ⇒ Boolean): DataFlowAnalysis[L]

    Implicit information
      This member is added by an implicit conversion from DataFlowAnalysis[L] to Ensuring[DataFlowAnalysis[L]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

11. #### def ensuring(cond: Boolean, msg: ⇒ Any): DataFlowAnalysis[L]

    Implicit information
      This member is added by an implicit conversion from DataFlowAnalysis[L] to Ensuring[DataFlowAnalysis[L]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

12. #### def ensuring(cond: Boolean): DataFlowAnalysis[L]

    Implicit information
      This member is added by an implicit conversion from DataFlowAnalysis[L] to Ensuring[DataFlowAnalysis[L]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

13. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

14. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

15. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

16. #### def formatted(fmtstr: String): String

    Implicit information
      This member is added by an implicit conversion from DataFlowAnalysis[L] to StringFormat[DataFlowAnalysis[L]] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

17. #### def forwardAnalysis(f: (P, L.Elem) ⇒ L.Elem): Unit

    Implements forward dataflow analysis: the transfer function is applied when inputs to a Program point change, to obtain the new output value.

    Implements forward dataflow analysis: the transfer function is applied when inputs to a Program point change, to obtain the new output value.

    f

      the transfer function.

18. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

19. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

20. #### val in: Map[P, L.Elem]

21. #### def init(f: ⇒ Unit): Unit

22. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

23. #### var iterations: Int

    the number of times we iterated before reaching a fixpoint.

24. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

25. #### final def notify(): Unit

    Definition Classes
      AnyRef

26. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

27. #### val out: Map[P, L.Elem]

28. #### var stat: Boolean

    collect statistics?

29. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

30. #### def toString(): String

    Definition Classes
      AnyRef → Any

31. #### val visited: HashSet[P]

32. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

33. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

34. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

35. #### val worklist: Set[P]

36. #### def →[B](y: B): (DataFlowAnalysis[L], B)

    Implicit information
      This member is added by an implicit conversion from DataFlowAnalysis[L] to ArrowAssoc[DataFlowAnalysis[L]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from DataFlowAnalysis[L] to any2stringadd[DataFlowAnalysis[L]]

### Inherited by implicit conversion StringFormat from DataFlowAnalysis[L] to StringFormat[DataFlowAnalysis[L]]

### Inherited by implicit conversion Ensuring from DataFlowAnalysis[L] to Ensuring[DataFlowAnalysis[L]]

### Inherited by implicit conversion ArrowAssoc from DataFlowAnalysis[L] to ArrowAssoc[DataFlowAnalysis[L]]

### Ungrouped