You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Keep on invoking until nothing gets invoked anymore
285
+
if(didAnythingToTree==='nothing'){
285
286
return;
286
287
}
287
288
}
288
289
289
290
thrownewError('We have detected a possible infinite loop while invoking Aspects. Please check your Aspects and verify there is no configuration that would cause infinite Aspect or Node creation.');
`Cannot invoke Aspect ${aspectApplication.aspect.constructor.name} with priority ${aspectApplication.priority} on node ${node.path}: an Aspect ${lastInvokedAspect.aspect.constructor.name} with a lower priority (${lastInvokedAspect.priority}) was already invoked on this node.`,
314
+
`Cannot invoke Aspect ${aspectApplication.aspect.constructor.name} with priority ${aspectApplication.priority} on node ${node.path}: an Aspect ${lastInvokedAspect.aspect.constructor.name} with a lower priority (added at ${lastInvokedAspect.construct.node.path} with priority ${lastInvokedAspect.priority}) was already invoked on this node.`,
314
315
);
315
316
}
316
317
317
318
aspectApplication.aspect.visit(construct);
318
319
319
-
didSomething=true;
320
+
ret='invoked';
320
321
321
322
// mark as invoked for this node
322
323
invoked.push(aspectApplication);
324
+
325
+
// If this aspect added another aspect, we need to reconsider everything;
326
+
// it might have added an aspect above us and we need to restart the
327
+
// entire tree. This could probably be made more efficient, but restarting
328
+
// the tree from the top currently does it as well.
0 commit comments