Class ClassInitializer

java.lang.Object
pascal.taie.analysis.pta.plugin.ClassInitializer
All Implemented Interfaces:
Plugin

public class ClassInitializer extends Object implements Plugin
Triggers the analysis of class initializers. Well, the description of "when initialization occurs" of JLS (11 Ed., 12.4.1) and JVM Spec. (11 Ed., 5.5) looks not very consistent. TODO: handles class initialization triggered by MethodHandle, and superinterfaces (that declare default methods).
  • Constructor Details

    • ClassInitializer

      public ClassInitializer()
  • Method Details

    • setSolver

      public void setSolver(Solver solver)
      Description copied from interface: Plugin
      Sets pointer analysis solver which will be used later by the plugin.
      Specified by:
      setSolver in interface Plugin
    • onNewMethod

      public void onNewMethod(JMethod method)
      Description copied from interface: Plugin
      Invoked when a new reachable method is discovered.
      Specified by:
      onNewMethod in interface Plugin
      Parameters:
      method - new reachable method
    • onNewStmt

      public void onNewStmt(Stmt stmt, JMethod container)
      Description copied from interface: Plugin
      Invoked when a new reachable stmt is discovered.
      Specified by:
      onNewStmt in interface Plugin
      Parameters:
      stmt - new reachable stmt
      container - container method of stmt