Interface ITransitionManager

All Known Implementing Classes:
TransitionManager

public interface ITransitionManager
  • Method Details

    • getTransferInfo

      ITransitionManager.ITTransitionInfo getTransferInfo(org.intocps.maestro.ast.node.ATransferStm node, org.intocps.maestro.interpreter.Context question, String transferToName) throws org.intocps.maestro.ast.analysis.AnalysisException
      Check if the manager has a new spec available that is type compatible for transfer
      Parameters:
      node - the transfer node used for location
      question - the current context which should be used to check if available identifiers
      transferToName - name of the spec to transfer to
      Returns:
      a transfer object or null if no transfer object is found or matches the desired name
      Throws:
      org.intocps.maestro.ast.analysis.AnalysisException
    • transfer

      void transfer(Interpreter interpreter, ITransitionManager.ITTransitionInfo info) throws org.intocps.maestro.ast.analysis.AnalysisException
      Perform the transfer - pausing the current interpretation flow and restarting a new interpreter reusing the context
      Parameters:
      interpreter - to use for the transfer
      info - into to transfer to
      Throws:
      org.intocps.maestro.ast.analysis.AnalysisException
    • getSpecificationProvider

      ITransitionManager.ISpecificationProvider getSpecificationProvider()
      Get a provider that can deliver potential new specifications that the manager can transfer into. The same provider must be returned if called twice
      Returns:
      a specification provider