Package org.intocps.maestro.interpreter
Interface ITransitionManager
- All Known Implementing Classes:
TransitionManager
public interface ITransitionManager
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA specification provider.static interfaceTransition information. -
Method Summary
Modifier and TypeMethodDescriptionGet a provider that can deliver potential new specifications that the manager can transfer into.getTransferInfo(org.intocps.maestro.ast.node.ATransferStm node, org.intocps.maestro.interpreter.Context question, String transferToName) Check if the manager has a new spec available that is type compatible for transfervoidtransfer(Interpreter interpreter, ITransitionManager.ITTransitionInfo info) Perform the transfer - pausing the current interpretation flow and restarting a new interpreter reusing the context
-
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 locationquestion- the current context which should be used to check if available identifierstransferToName- 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 transferinfo- 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
-