@@ -178,6 +178,11 @@ def definitions(self):
178
178
179
179
def parallel_state_details (self ):
180
180
if isinstance (self .state , ParallelState ):
181
+ if self .state .name not in self .state_machine .states .keys ():
182
+ self .state_machine .add_states (self .state .name )
183
+ if self .is_first_state :
184
+ self .state_machine ._initial = self .state .name
185
+
181
186
state_name = self .state .name
182
187
branches = self .state .branches
183
188
if branches :
@@ -208,8 +213,8 @@ def data_based_switch_state_details(self): ...
208
213
def operation_state_details (self ):
209
214
if self .state .name not in self .state_machine .states .keys ():
210
215
self .state_machine .add_states (self .state .name )
211
- if self .is_first_state :
212
- self .state_machine ._initial = self .state .name
216
+ if self .is_first_state :
217
+ self .state_machine ._initial = self .state .name
213
218
214
219
if isinstance (self .state , OperationState ):
215
220
self .generate_actions_info (
@@ -264,11 +269,11 @@ def get_subflow_state(
264
269
)
265
270
266
271
# Generate the state machine for the subflow
267
- for index , state in enumerate ( sf .states ) :
272
+ for state in sf .states :
268
273
StateMachineGenerator (
269
274
state = state ,
270
275
state_machine = new_machine ,
271
- is_first_state = index == 0 ,
276
+ is_first_state = sf . start == state . name ,
272
277
get_actions = self .get_actions ,
273
278
subflows = self .subflows ,
274
279
).generate ()
0 commit comments