@@ -168,8 +168,9 @@ namespace Langulus::Flow
168168
169169 // We can attempt an implicit Verbs::Create to make
170170 // the data at compile-time. Allowed only if no producer
171- // was specified.
172- if (not construct.GetType ()->mProducerRetriever ) {
171+ // was specified and if construct is not flow-dependent.
172+ if (not construct.GetType ()->mProducerRetriever
173+ /* and not construct.GetCharge().IsFlowDependent()*/ ) {
173174 Verbs::Create creator {&solved};
174175 if (Verb::GenericExecuteStateless (creator)) {
175176 output.SmartPush (IndexBack, Abandon (creator.GetOutput ()));
@@ -187,7 +188,7 @@ namespace Langulus::Flow
187188 // missing, but generally they will be substituted with
188189 // the corresponding results
189190 VERBOSE (" Executing neat: " , neat);
190- Neat local = neat;
191+ /* Neat local = neat;
191192 local.template RemoveData<A::Verb>();
192193 VERBOSE("Executing neat (verbs stripped): ", local);
193194
@@ -213,15 +214,16 @@ namespace Langulus::Flow
213214 if (silent)
214215 LANGULUS_THROW(Flow, "Construct AND failure");
215216 else
216- LANGULUS_OOPS (Flow, " Construct AND failure: " /* , flow */ );
217+ LANGULUS_OOPS(Flow, "Construct AND failure: ");
217218 }
218219 else if (verb.GetOutput())
219220 local << Abandon(verb.GetOutput());
220221 }
221222 );
222223
223224 VERBOSE("Executing neat (verbs executed): ", local);
224- output.SmartPush (IndexBack, Abandon (local));
225+ output.SmartPush(IndexBack, Abandon(local));*/
226+ TODO ();
225227 },
226228 [&](const A::Verb& constVerb) {
227229 // Execute verbs
@@ -244,6 +246,14 @@ namespace Langulus::Flow
244246 );
245247 verb.SetSource (constVerb.GetSource ());
246248
249+ if (verb.IsMissing ()) {
250+ if (integrate) {
251+ output.SmartPush (IndexBack, verb);
252+ return Loop::Continue;
253+ }
254+ else FLOW_ERRORS (" Trying to execute a missing verb: " , verb);
255+ }
256+
247257 // Execute the verb
248258 if (not ExecuteVerb (context, verb, silent)) {
249259 if (silent)
@@ -329,7 +339,8 @@ namespace Langulus::Flow
329339 // We can attempt an implicit Verbs::Create to make
330340 // the data at compile-time. Allowed only if no
331341 // producer was specified.
332- if (not construct.GetType ()->mProducerRetriever ) {
342+ if (not construct.GetType ()->mProducerRetriever
343+ /* and not construct.GetCharge().IsFlowDependent()*/ ) {
333344 Verbs::Create creator {&solved};
334345 if (Verb::GenericExecuteStateless (creator)) {
335346 output.SmartPush (IndexBack, Abandon (creator.GetOutput ()));
@@ -346,7 +357,7 @@ namespace Langulus::Flow
346357 // verbs from it. Some of them might get reinserted, if
347358 // missing, but generally they will be substituted with
348359 // the corresponding results
349- Neat local = neat;
360+ /* Neat local = neat;
350361 local.template RemoveData<A::Verb>();
351362
352363 local.ForEach(
@@ -372,7 +383,8 @@ namespace Langulus::Flow
372383 }
373384 );
374385
375- output.SmartPush (IndexBack, Abandon (local));
386+ output.SmartPush(IndexBack, Abandon(local));*/
387+ TODO ();
376388 },
377389 [&](const Verb& constVerb) {
378390 // Execute verbs
@@ -388,6 +400,14 @@ namespace Langulus::Flow
388400 constVerb.GetVerbState ()
389401 );
390402
403+ if (verb.IsMissing ()) {
404+ if (integrate) {
405+ output.SmartPush (IndexBack, verb);
406+ return Loop::Continue;
407+ }
408+ else FLOW_ERRORS (" Trying to execute a missing verb: " , verb);
409+ }
410+
391411 if (not ExecuteVerb (context, verb, silent))
392412 return Loop::Continue;
393413
@@ -419,12 +439,12 @@ namespace Langulus::Flow
419439 // / executing at compile-time, for example
420440 // / @return true of no errors occured
421441 bool IntegrateVerb (Many& context, Verb& verb, const bool silent) {
422- if (verb.IsMonocast ()) {
442+ /* if (verb.IsMonocast()) {
423443 // We're executing on whole argument/source, so be lazy
424444 if (verb.GetSource().IsInvalid())
425445 verb.SetSource(context);
426446 return true;
427- }
447+ }*/
428448
429449 // Integrate the verb source to environment
430450 Many localSource;
0 commit comments