accrue.analysis.pointer

## Class PointsToLibrarySigs.Singleton

- java.lang.Object
- - accrue.analysis.pointer.LibraryPointsToSignature
  - - accrue.analysis.pointer.PointsToLibrarySigs.Singleton

- Enclosing class:
    PointsToLibrarySigs

      public static class PointsToLibrarySigs.Singleton
      extends LibraryPointsToSignature

  Returns a singleton.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `id` The identifier for the singleton.
    `protected boolean` | `isPreciseType`
    `protected static java.util.Map<java.lang.String,AllocSiteNode>` | `singletons`
    `protected polyglot.types.Type` | `type`
    `protected java.lang.String` | `typeName` The type of the abstract object.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PointsToLibrarySigs.Singleton(java.lang.String id, java.lang.String typeName, boolean isPreciseType)`
    `PointsToLibrarySigs.Singleton(java.lang.String id, polyglot.types.Type type, boolean isPreciseType)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `process(polyglot.types.CodeInstance caller, CContext callerContext, CallSiteNode callSiteNode, polyglot.types.ProcedureInstance mi, java.util.List<ReferenceVariableReplica> args, HContext receiver, ReferenceVariableReplica result, java.util.List<StmtProcedureCall.ExceptionHandlerPointsToGraphNode> handlers, java.util.Map<polyglot.types.Type,ReferenceVariableReplica> procThrows, StmtRegistrar stmtRegistrar, PointsToGraph g, polyglot.util.Position origin, HeapAbstractionFactory af, PointsToEngine.StmtAndContext sac)`

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

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

- - ### Field Detail

    - #### singletons

          protected static java.util.Map<java.lang.String,AllocSiteNode> singletons

    - #### id

          protected final java.lang.String id

      The identifier for the singleton. There is one abstract object (i.e., AllocSiteNode) for a given identifier.

    - #### typeName

          protected java.lang.String typeName

      The type of the abstract object.

    - #### type

          protected polyglot.types.Type type

    - #### isPreciseType

          protected boolean isPreciseType

  - ### Constructor Detail

    - #### PointsToLibrarySigs.Singleton

          public PointsToLibrarySigs.Singleton(java.lang.String id,
                                       polyglot.types.Type type,
                                       boolean isPreciseType)

    - #### PointsToLibrarySigs.Singleton

          public PointsToLibrarySigs.Singleton(java.lang.String id,
                                       java.lang.String typeName,
                                       boolean isPreciseType)

  - ### Method Detail

    - #### process

          public boolean process(polyglot.types.CodeInstance caller,
                        CContext callerContext,
                        CallSiteNode callSiteNode,
                        polyglot.types.ProcedureInstance mi,
                        java.util.List<ReferenceVariableReplica> args,
                        HContext receiver,
                        ReferenceVariableReplica result,
                        java.util.List<StmtProcedureCall.ExceptionHandlerPointsToGraphNode> handlers,
                        java.util.Map<polyglot.types.Type,ReferenceVariableReplica> procThrows,
                        StmtRegistrar stmtRegistrar,
                        PointsToGraph g,
                        polyglot.util.Position origin,
                        HeapAbstractionFactory af,
                        PointsToEngine.StmtAndContext sac)
                          throws polyglot.types.SemanticException

      Specified by:
        `process` in class `LibraryPointsToSignature`
      Throws:
        `polyglot.types.SemanticException`