浏览代码

Remove WeavingAdaptor.couldWeave()

WeavingAdaptor.couldWeave() tested two things: whether this specific
class (by its name) should be excluded from weaving, and whether the
class has generated classes associated with it (in which case we avoid
weaving to avoid re-creating those generated classes). However, if the
class has generated classes associated, couldWeave() is not called at
all because of the new wovenWithGeneratedClass() test, so we have
only the name test which is now called directly.

Relates to #279.
pull/278/head
Uri Simchoni 4 个月前
父节点
当前提交
ae96aff028
共有 1 个文件被更改,包括 1 次插入9 次删除
  1. 1
    9
      weaver/src/main/java/org/aspectj/weaver/tools/WeavingAdaptor.java

+ 1
- 9
weaver/src/main/java/org/aspectj/weaver/tools/WeavingAdaptor.java 查看文件

@@ -369,7 +369,7 @@ public class WeavingAdaptor implements IMessageContext {

try {
delegateForCurrentClass = null;
if (couldWeave(name, bytes)) {
if (shouldWeaveName(name)) {
if (accept(name, bytes)) {

// Determine if we have the weaved class cached
@@ -448,14 +448,6 @@ public class WeavingAdaptor implements IMessageContext {
}
}

/**
* @param name
* @return true if even valid to weave: either with an accept check or to munge it for @AspectJ aspectof support
*/
private boolean couldWeave(String name, byte[] bytes) {
return !generatedClasses.containsKey(name) && shouldWeaveName(name);
}

/**
* Return the bytes from a (parallel?) weaving process that generated an inner class, e.g. to support Around closures.
* This is done instead of weaving again, as weaving would generate another inner class.

正在加载...
取消
保存