diff options
author | aclement <aclement> | 2005-12-12 15:42:19 +0000 |
---|---|---|
committer | aclement <aclement> | 2005-12-12 15:42:19 +0000 |
commit | 9edb4b6f9e8ca59b309ac382e6049321832d0700 (patch) | |
tree | 04a0552d85873d498fd00f9b9135e63cbfa3a14f /loadtime/src | |
parent | 354653d5afebb6dfdb631cadeb2f4474d5371107 (diff) | |
download | aspectj-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.java | 21 |
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 |