accrue.analysis.interprocvarcontext

## Class LibrarySignature<A extends Ordered<A>,T extends AbstractValue<T>>

- java.lang.Object
- - accrue.analysis.interprocvarcontext.LibrarySignature<A,T>

- Direct Known Subclasses:
    DefUseLibrarySignature

      public abstract class LibrarySignature<A extends Ordered<A>,T extends AbstractValue<T>>
      extends java.lang.Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LibrarySignature()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected FinalVarContext<T>` | `makeFinalVarContext(java.util.Set<ExitMap.Key> expectedExits, VarContext<T> normal, VarContext<T> exceptional, AnalysisUtilVarContext<A,T> autil)`
    `FinalVarContext<T>` | `process(polyglot.types.ProcedureInstance pi, AnalysisContext calleeContext, HContext receiver, VarContext<T> input, T receiverAbsVal, java.util.List<T> argAbsVals, AnalysisUtilVarContext<A,T> autil, java.util.Set<ExitMap.Key> expectedExits, polyglot.ast.Node node)` Takes in the caller's context input just before the call (the argument AbsVals are no longer on the stack, and neither is the receiver AbsVal) and should return the _caller's_ context after the call to the procedure instance That is, if pi is meant to return a value, process should push that value onto the stack.
    `FinalVarContext<T>` | `process(polyglot.types.ProcedureInstance pi, AnalysisContext calleeContext, HContext receiver, VarContext<T> input, T receiverAbsVal, java.util.List<T> argAbsVals, AnalysisUtilVarContextDataFlow<A,T> autil, java.util.Set<ExitMap.Key> expectedExits, DataFlowNodeIdentifier callSite)` Takes in the caller's context input just before the call (the argument AbsVals are no longer on the stack, and neither is the receiver AbsVal) and should return the _caller's_ context after the call to the procedure instance That is, if pi is meant to return a value, process should push that value onto the stack.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LibrarySignature

          public LibrarySignature()

  - ### Method Detail

    - #### process

          public FinalVarContext<T> process(polyglot.types.ProcedureInstance pi,
                                   AnalysisContext calleeContext,
                                   HContext receiver,
                                   VarContext<T> input,
                                   T receiverAbsVal,
                                   java.util.List<T> argAbsVals,
                                   AnalysisUtilVarContext<A,T> autil,
                                   java.util.Set<ExitMap.Key> expectedExits,
                                   polyglot.ast.Node node)

      Takes in the caller's context input just before the call (the argument AbsVals are no longer on the stack, and neither is the receiver AbsVal) and should return the _caller's_ context after the call to the procedure instance That is, if pi is meant to return a value, process should push that value onto the stack.

    - #### process

          public FinalVarContext<T> process(polyglot.types.ProcedureInstance pi,
                                   AnalysisContext calleeContext,
                                   HContext receiver,
                                   VarContext<T> input,
                                   T receiverAbsVal,
                                   java.util.List<T> argAbsVals,
                                   AnalysisUtilVarContextDataFlow<A,T> autil,
                                   java.util.Set<ExitMap.Key> expectedExits,
                                   DataFlowNodeIdentifier callSite)

      Takes in the caller's context input just before the call (the argument AbsVals are no longer on the stack, and neither is the receiver AbsVal) and should return the _caller's_ context after the call to the procedure instance That is, if pi is meant to return a value, process should push that value onto the stack.

    - #### makeFinalVarContext

          protected FinalVarContext<T> makeFinalVarContext(java.util.Set<ExitMap.Key> expectedExits,
                                               VarContext<T> normal,
                                               VarContext<T> exceptional,
                                               AnalysisUtilVarContext<A,T> autil)