accrue.analysis.pointer

## Class ReferenceVariable

- java.lang.Object
- - accrue.analysis.pointer.ReferenceVariable

-     public class ReferenceVariable
      extends java.lang.Object

  A ReferenceVariable represents the result of an expression. A ReferenceVariableReplica is a ReferenceVariable with a CContext.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static boolean` | `SHOW_POSITION`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReferenceVariable(java.lang.String debugString, boolean isSingleton, polyglot.types.Type expectedType, polyglot.util.Position pos)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object o)`
    `polyglot.types.Type` | `expectedType()`
    `int` | `hashCode()`
    `boolean` | `isSingletonReferenceVariable()` Is this graph base node a singleton? That is, should there be only a single ReferenceVariableReplica for it? This should return true for reference variables that represent e.g., static fields.
    `java.lang.String` | `toString()`

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

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

- - ### Field Detail

    - #### SHOW_POSITION

          public static final boolean SHOW_POSITION

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ReferenceVariable

          public ReferenceVariable(java.lang.String debugString,
                           boolean isSingleton,
                           polyglot.types.Type expectedType,
                           polyglot.util.Position pos)

  - ### Method Detail

    - #### isSingletonReferenceVariable

          public boolean isSingletonReferenceVariable()

      Is this graph base node a singleton? That is, should there be only a single ReferenceVariableReplica for it? This should return true for reference variables that represent e.g., static fields. Because there is only one location represented by the static field, there should not be multiple replicas of the reference variable that represents the static field.

    - #### expectedType

          public polyglot.types.Type expectedType()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### equals

          public final boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public final int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`