All Downloads are FREE. Search and download functionalities are using the official Maven repository.

proguard.analysis.cpa.bam.BamLocationDependent Maven / Gradle / Ivy

Go to download

ProGuardCORE is a free library to read, analyze, modify, and write Java class files.

There is a newer version: 9.1.6
Show newest version
package proguard.analysis.cpa.bam;

import proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet;
import proguard.analysis.cpa.interfaces.AbstractState;
import proguard.analysis.cpa.interfaces.CfaEdge;
import proguard.analysis.cpa.interfaces.CfaNode;
import proguard.analysis.cpa.interfaces.ProgramLocationDependent;
import proguard.classfile.Signature;

/**
 * If the usage of an {@link AbstractState} depends on the specific BAM cache entry it belongs to,
 * it should implement {@link BamLocationDependent} to link it to its source reached set.
 *
 * @param  The type of the abstract states in the BAM cache.
 * @author Carlo Alberto Pozzoli
 */
public interface BamLocationDependent<
    CfaNodeT extends CfaNode,
    CfaEdgeT extends CfaEdge,
    AbstractStateT extends AbstractState & ProgramLocationDependent,
    SignatureT extends Signature> {

  /** Returns the reached set the abstract state belongs to. */
  ProgramLocationDependentReachedSet
      getSourceReachedSet();

  /** Sets the reached set the abstract state belongs to. */
  void setSourceReachedSet(
      ProgramLocationDependentReachedSet
          sourceReachedSet);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy