Class Variable

java.lang.Object
com.oracle.truffle.tools.dap.types.JSONBase
com.oracle.truffle.tools.dap.types.Variable

public class Variable extends JSONBase
A Variable is a name/value pair. Optionally a variable can have a 'type' that is shown if space permits or when hovering over the variable's name. An optional 'kind' is used to render additional properties of the variable, e.g. different icons can be used to indicate that a variable is public or private. If the value is structured (has children), a handle is provided to retrieve the children with the VariablesRequest. If the number of named or indexed children is large, the numbers should be returned via the optional 'namedVariables' and 'indexedVariables' attributes. The client can use this optional information to present the children in a paged UI and fetch them in chunks.
  • Method Details

    • getName

      public String getName()
      The variable's name.
    • setName

      public Variable setName(String name)
    • getValue

      public String getValue()
      The variable's value. This can be a multi-line text, e.g. for a function the body of a function.
    • setValue

      public Variable setValue(String value)
    • getType

      public String getType()
      The type of the variable's value. Typically shown in the UI when hovering over the value. This attribute should only be returned by a debug adapter if the client has passed the value true for the 'supportsVariableType' capability of the 'initialize' request.
    • setType

      public Variable setType(String type)
    • getPresentationHint

      public VariablePresentationHint getPresentationHint()
      Properties of a variable that can be used to determine how to render the variable in the UI.
    • setPresentationHint

      public Variable setPresentationHint(VariablePresentationHint presentationHint)
    • getEvaluateName

      public String getEvaluateName()
      Optional evaluatable name of this variable which can be passed to the 'EvaluateRequest' to fetch the variable's value.
    • setEvaluateName

      public Variable setEvaluateName(String evaluateName)
    • getVariablesReference

      public int getVariablesReference()
      If variablesReference is > 0, the variable is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.
    • setVariablesReference

      public Variable setVariablesReference(int variablesReference)
    • getNamedVariables

      public Integer getNamedVariables()
      The number of named child variables. The client can use this optional information to present the children in a paged UI and fetch them in chunks.
    • setNamedVariables

      public Variable setNamedVariables(Integer namedVariables)
    • getIndexedVariables

      public Integer getIndexedVariables()
      The number of indexed child variables. The client can use this optional information to present the children in a paged UI and fetch them in chunks.
    • setIndexedVariables

      public Variable setIndexedVariables(Integer indexedVariables)
    • getMemoryReference

      public String getMemoryReference()
      Optional memory reference for the variable if the variable represents executable code, such as a function pointer. This attribute is only required if the client has passed the value true for the 'supportsMemoryReferences' capability of the 'initialize' request.
    • setMemoryReference

      public Variable setMemoryReference(String memoryReference)
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • create

      public static Variable create(String name, String value, Integer variablesReference)