accrue.analysis.pointer

## Class StmtVirtualMethodCall

- java.lang.Object
- - accrue.analysis.pointer.PointsToStmt
  - - accrue.analysis.pointer.StmtProcedureCall
    - - accrue.analysis.pointer.StmtVirtualMethodCall

-     public class StmtVirtualMethodCall
      extends StmtProcedureCall

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class accrue.analysis.pointer.StmtProcedureCall

      `StmtProcedureCall.ExceptionHandlerPointsToGraphNode`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.List<ReferenceVariable>` | `actuals`
    `protected java.util.List<StmtRegistrar.ExceptionHandlerReferenceVariable>` | `exceptionHandlers`
    `protected polyglot.types.MethodInstance` | `pi`
    `protected java.util.Map<polyglot.types.Type,ReferenceVariable>` | `procedureThrows`
    `protected ReferenceVariable` | `receiver`
    `protected ReferenceVariable` | `result`

    - ### Fields inherited from class accrue.analysis.pointer.StmtProcedureCall

      `callSiteNode`

    - ### Fields inherited from class accrue.analysis.pointer.PointsToStmt

      `origin`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StmtVirtualMethodCall(ReferenceVariable result, ReferenceVariable receiver, CallSiteNode callSiteNode, polyglot.types.MethodInstance pi, java.util.List<ReferenceVariable> actuals, java.util.List<StmtRegistrar.ExceptionHandlerReferenceVariable> exceptionHandlers, java.util.Map<polyglot.types.Type,ReferenceVariable> procedureThrows, polyglot.util.Position origin, polyglot.types.CodeInstance code)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `process(CContext context, PointsToGraph g, StmtRegistrar registrar, HeapAbstractionFactory af, PointsToEngine.StmtAndContext sac)` Add appropriate edges to the graph g given the context for the LocalNodes and ThisNode.
    `static boolean` | `process(ReferenceVariableReplica result, ReferenceVariableReplica receiver, CallSiteNode callSiteNode, polyglot.types.MethodInstance pi, java.util.List<ReferenceVariableReplica> args, java.util.List<StmtProcedureCall.ExceptionHandlerPointsToGraphNode> exHandlers, java.util.Map<polyglot.types.Type,ReferenceVariableReplica> procThrows, polyglot.types.CodeInstance containingCode, CContext context, PointsToGraph g, StmtRegistrar registrar, polyglot.util.Position origin, HeapAbstractionFactory af, PointsToEngine.StmtAndContext sac)`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class accrue.analysis.pointer.StmtProcedureCall

      `addEdgesForCall, convert, convert, convert2`

    - ### Methods inherited from class accrue.analysis.pointer.PointsToStmt

      `equals, hashCode`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### result

          protected final ReferenceVariable result

    - #### receiver

          protected final ReferenceVariable receiver

    - #### pi

          protected final polyglot.types.MethodInstance pi

    - #### actuals

          protected final java.util.List<ReferenceVariable> actuals

    - #### exceptionHandlers

          protected final java.util.List<StmtRegistrar.ExceptionHandlerReferenceVariable> exceptionHandlers

    - #### procedureThrows

          protected final java.util.Map<polyglot.types.Type,ReferenceVariable> procedureThrows

  - ### Constructor Detail

    - #### StmtVirtualMethodCall

          public StmtVirtualMethodCall(ReferenceVariable result,
                               ReferenceVariable receiver,
                               CallSiteNode callSiteNode,
                               polyglot.types.MethodInstance pi,
                               java.util.List<ReferenceVariable> actuals,
                               java.util.List<StmtRegistrar.ExceptionHandlerReferenceVariable> exceptionHandlers,
                               java.util.Map<polyglot.types.Type,ReferenceVariable> procedureThrows,
                               polyglot.util.Position origin,
                               polyglot.types.CodeInstance code)

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Specified by:
        `toString` in class `PointsToStmt`

    - #### process

          public boolean process(CContext context,
                        PointsToGraph g,
                        StmtRegistrar registrar,
                        HeapAbstractionFactory af,
                        PointsToEngine.StmtAndContext sac)

      Description copied from class: `PointsToStmt`
      Add appropriate edges to the graph g given the context for the LocalNodes and ThisNode. Return true if and only if changes were made to the graph
      Specified by:
        `process` in class `PointsToStmt`

    - #### process

          public static boolean process(ReferenceVariableReplica result,
                        ReferenceVariableReplica receiver,
                        CallSiteNode callSiteNode,
                        polyglot.types.MethodInstance pi,
                        java.util.List<ReferenceVariableReplica> args,
                        java.util.List<StmtProcedureCall.ExceptionHandlerPointsToGraphNode> exHandlers,
                        java.util.Map<polyglot.types.Type,ReferenceVariableReplica> procThrows,
                        polyglot.types.CodeInstance containingCode,
                        CContext context,
                        PointsToGraph g,
                        StmtRegistrar registrar,
                        polyglot.util.Position origin,
                        HeapAbstractionFactory af,
                        PointsToEngine.StmtAndContext sac)