Interface ITransitionManager

  • All Known Implementing Classes:
    TransitionManager

    public interface ITransitionManager
    • Method Detail

      • 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