package jetbrains.mps.lang.dataFlow.framework;

/*Generated by MPS */

import jetbrains.mps.annotations.GeneratedClass;
import java.util.List;

@GeneratedClass(node = "r:3dddb2c7-b2ba-4381-896a-2e702ca1fb6e(jetbrains.mps.lang.dataFlow.framework)/4074113095384031884", model = "r:3dddb2c7-b2ba-4381-896a-2e702ca1fb6e(jetbrains.mps.lang.dataFlow.framework)")
public interface DataFlowAnalyzer<E> {
  E initial(Program p);
  E merge(Program p, List<E> input);
  /**
   * input parameter can be changed
   */
  E fun(E input, ProgramState s);
  AnalysisDirection getDirection();
}
