]> source.dussan.org Git - aspectj.git/commitdiff
Rephrase docs for WeavingXmlConfig::excludesType
authorAlexander Kriegisch <Alexander@Kriegisch.name>
Fri, 23 Feb 2024 10:43:47 +0000 (17:43 +0700)
committerAlexander Kriegisch <Alexander@Kriegisch.name>
Fri, 23 Feb 2024 10:43:47 +0000 (17:43 +0700)
and turn into javadoc.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
docs/devguide/ltw.adoc
weaver/src/main/java/org/aspectj/weaver/bcel/BcelWorld.java

index 1d1831c92b9dadfe1adc9d6befc33df2a678caf4..922ac8a0793d86bcf122e49ece493c399f5405ca 100644 (file)
@@ -233,7 +233,7 @@ matched by any exclude statements. If there are no include statements
 then all non-excluded aspects are included.
 * The set of types to be woven are those types matched by at least one
 weaver `include` element and not matched by any weaver `exclude`
-element. If there are no weaver include statements then all non-excluded
+element. If there are no weaver include statements, then all non-excluded
 types are included.
 * The weaver options are derived by taking the union of the options
 specified in each of the weaver options attribute specifications. Where
index f498c37c5bd6a0bf20bb25baec8b2e1164b1ea4e..745bd02b222959b3f885037b3ad35e3842445a43 100644 (file)
@@ -1171,7 +1171,7 @@ public class BcelWorld extends World implements Repository {
                                if (!world.getMessageHandler().isIgnoring(IMessage.INFO)) {
                                        world.getMessageHandler().handleMessage(
                                                        MessageUtil.info("Aspect '" + aspectName + "' is scoped to apply against types matching pattern '"
-                                                                       + scopePattern.toString() + "'"));
+                                                                       + scopePattern + "'"));
                                }
                        } catch (Exception e) {
                                world.getMessageHandler().handleMessage(
@@ -1267,12 +1267,22 @@ public class BcelWorld extends World implements Repository {
                        return scopes.get(name);
                }
 
-               // Can't quite follow the same rules for exclusion as used for loadtime weaving:
-               // "The set of types to be woven are those types matched by at least one weaver include element and not matched by any
-               // weaver
-               // exclude element. If there are no weaver include statements then all non-excluded types are included."
-               // Since if the weaver is seeing it during this kind of build, the type is implicitly included. So all we should check
-               // for is exclusion
+               /**
+                * Checks if a given type is to be excluded from weaving.
+                * <p>
+                * For LTW, the development guide (<i>docs/devguide/ltw.adoc</i>) says:
+                * <p>
+                * <i>"The set of types to be woven are those types matched by at least one weaver {@code include} element and not
+                * matched by any weaver {@code exclude} element. If there are no weaver include statements, then all non-excluded
+                * types are included."</i>
+                * <p>
+                * In CTW mode, we cannot quite follow the same rules for exclusion as used for LTW: If the weaver is seeing it
+                * during this kind of build, the type is implicitly included. So all we should check for is exclusion.
+                *
+                * @param type resolved type to be checked
+                *
+                * @return Always false in LTW mode. In CTW mode true for excluded types, false otherwise.
+                */
                public boolean excludesType(ResolvedType type) {
                        if (mode == MODE_LTW) {
                                return false;