Interface IBslVariable

  • All Superinterfaces:
    org.eclipse.core.runtime.IAdaptable, org.eclipse.debug.core.model.IDebugElement, IRuntimeDebugElement, org.eclipse.debug.core.model.IValueModification, IValueTypedModification, org.eclipse.debug.core.model.IVariable

    public interface IBslVariable
    extends org.eclipse.debug.core.model.IVariable, IValueTypedModification, IRuntimeDebugElement
    Represents BSL module variable in a 1C:Enterprise Runtime debug process. IBslVariable supports value and type modification.

    Clients may use IBslVariableFactory to create instances of IBslVariable.

    See Also:
    IVariable, IBslValue, IBslVariableFactory
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void evaluate()
      Evaluates this BSL variable through connected 1C:Enterprise Runtime debug server.
      String getName()
      Returns the BSL variable name.
      IBslStackFrame getStackFrame()
      Returns the parent 1C:Enterprise Runtime stack frame, that holds for this variable.
      UUID getUuid()
      Returns root expression evaluation UUID for this variable.
      IBslValue getValue()
      Returns the BSL value of this variable.
      boolean isEvaluated()
      Returns whether the actual value of this BSL variable is already fully evaluated.
      IEvaluationChain reevaluate()
      Computes and returns the evaluation chain to evaluate for this variable update.
      void setValue​(org.eclipse.debug.core.model.IValue value)
      Sets the value of this variable to the given value.
      String toWatchExpression()
      Returns a String watch expression which evaluation result is equal to this BSL variable, that can be evaluated in 1C:Enterprise Runtime debug server.
      • Methods inherited from interface org.eclipse.core.runtime.IAdaptable

        getAdapter
      • Methods inherited from interface org.eclipse.debug.core.model.IDebugElement

        getLaunch, getModelIdentifier
      • Methods inherited from interface org.eclipse.debug.core.model.IValueModification

        setValue, supportsValueModification, verifyValue, verifyValue
      • Methods inherited from interface org.eclipse.debug.core.model.IVariable

        getReferenceTypeName, hasValueChanged
    • Method Detail

      • getValue

        IBslValue getValue()
        Returns the BSL value of this variable.
        Specified by:
        getValue in interface org.eclipse.debug.core.model.IVariable
        Returns:
        the variable BSL value, never null
      • setValue

        void setValue​(org.eclipse.debug.core.model.IValue value)
        Sets the value of this variable to the given value.
        Specified by:
        setValue in interface org.eclipse.debug.core.model.IValueModification
        Parameters:
        value - a new value, cannot be null
      • getName

        String getName()
        Returns the BSL variable name.
        Specified by:
        getName in interface org.eclipse.debug.core.model.IVariable
        Returns:
        the BSL variable name, cannot be null
      • getUuid

        UUID getUuid()
        Returns root expression evaluation UUID for this variable.

        1C:Enterprise Runtime stores entire expression evaluation and client can access to child value nodes by the same UUID.

        Returns:
        the evaluation UUID of this variable, never null
      • getStackFrame

        IBslStackFrame getStackFrame()
        Returns the parent 1C:Enterprise Runtime stack frame, that holds for this variable.
        Returns:
        the parent stack frame for this variable, never null
      • toWatchExpression

        String toWatchExpression()
        Returns a String watch expression which evaluation result is equal to this BSL variable, that can be evaluated in 1C:Enterprise Runtime debug server.

        Can return null if this variable cannot be evaluated as string expression.

        Returns:
        watch expression, equals to this BSL variable, that can be evaluated in 1C:Enterprise Runtime debug server or null if this variable cannot be evaluated as string expression
      • isEvaluated

        boolean isEvaluated()
        Returns whether the actual value of this BSL variable is already fully evaluated.
        Returns:
        whether the actual value of this BSL value is already fully evaluated
      • evaluate

        void evaluate()
               throws org.eclipse.debug.core.DebugException
        Evaluates this BSL variable through connected 1C:Enterprise Runtime debug server. The IBslVariable fires a debug change event when the evaluation is complete.

        Note that implementation is intended to be asynchronous to avoid blocking the calling thread.

        Throws:
        org.eclipse.debug.core.DebugException - if evaluation fails
      • reevaluate

        IEvaluationChain reevaluate()
        Computes and returns the evaluation chain to evaluate for this variable update. Evaluation chain includes already evaluated children evaluation requests.

        Note, that an evaluation chain is a description of evaluation requests, and it needs to be exetuted by the IEvaluationEngine for actual value update.

        Returns:
        the evaluation chain to evaluate for this variable update, never null
        See Also:
        IEvaluationChain