summaryrefslogtreecommitdiffstats
path: root/loadtime/src
diff options
context:
space:
mode:
authoraclement <aclement>2005-12-12 15:42:19 +0000
committeraclement <aclement>2005-12-12 15:42:19 +0000
commit9edb4b6f9e8ca59b309ac382e6049321832d0700 (patch)
tree04a0552d85873d498fd00f9b9135e63cbfa3a14f /loadtime/src
parent354653d5afebb6dfdb631cadeb2f4474d5371107 (diff)
downloadaspectj-9edb4b6f9e8ca59b309ac382e6049321832d0700.tar.gz
aspectj-9edb4b6f9e8ca59b309ac382e6049321832d0700.zip
fixes for 120363 : from matthew (include/exclude problems for LTW)
Diffstat (limited to 'loadtime/src')
-rw-r--r--loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java21
1 files changed, 13 insertions, 8 deletions
diff --git a/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java b/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java
index f2c628a35..35a568858 100644
--- a/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java
+++ b/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java
@@ -465,16 +465,21 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor {
return false;
}
}
- boolean fastAccept = false;//defaults to false if no fast include
- for (int i = 0; i < m_includeStartsWith.size(); i++) {
- fastAccept = fastClassName.startsWith((String)m_includeStartsWith.get(i));
- if (fastAccept) {
- break;
+
+ /*
+ * Bug 120363
+ * If we have an exclude pattern that cannot be matched using "starts with"
+ * then we cannot fast accept
+ */
+ if (m_excludeTypePattern.isEmpty()) {
+ boolean fastAccept = false;//defaults to false if no fast include
+ for (int i = 0; i < m_includeStartsWith.size(); i++) {
+ fastAccept = fastClassName.startsWith((String)m_includeStartsWith.get(i));
+ if (fastAccept) {
+ break;
+ }
}
}
- if (fastAccept) {
- return true;
- }
// needs further analysis
// TODO AV - needs refactoring