diff --git a/main/coreplugins/io.sarl.lang/src/io/sarl/lang/jvmmodel/SARLJvmModelInferrer.java b/main/coreplugins/io.sarl.lang/src/io/sarl/lang/jvmmodel/SARLJvmModelInferrer.java index ffe292fd3a..72f5eb36a6 100644 --- a/main/coreplugins/io.sarl.lang/src/io/sarl/lang/jvmmodel/SARLJvmModelInferrer.java +++ b/main/coreplugins/io.sarl.lang/src/io/sarl/lang/jvmmodel/SARLJvmModelInferrer.java @@ -2196,20 +2196,21 @@ protected void appendAOPMembers( null, this.sarlSignatureProvider); + final List delayedMembers = new LinkedList<>(); + for (final XtendMember feature : container.getMembers()) { - if (context.isSupportedMember(feature) - && (!(feature instanceof SarlCapacityUses)) - && (!(feature instanceof SarlRequiredCapacity))) { - transform(feature, featureContainerType, true); + if (context.isSupportedMember(feature)) { + if ((feature instanceof SarlCapacityUses) + || (feature instanceof SarlRequiredCapacity)) { + delayedMembers.add(feature); + } else { + transform(feature, featureContainerType, true); + } } } - for (final XtendMember feature : container.getMembers()) { - if (context.isSupportedMember(feature) - && ((feature instanceof SarlCapacityUses) - || (feature instanceof SarlRequiredCapacity))) { - transform(feature, featureContainerType, false); - } + for (final XtendMember feature : delayedMembers) { + transform(feature, featureContainerType, false); } // Add event handlers