From: aclement Date: Tue, 24 Mar 2009 16:43:38 +0000 (+0000) Subject: 269840: [model] package search fails in binary aspect in same package X-Git-Tag: V1_6_4~26 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7a7d6f0f1e81e6639bdaa4f278b4778b984ad175;p=aspectj.git 269840: [model] package search fails in binary aspect in same package --- diff --git a/asm/src/org/aspectj/asm/internal/AspectJElementHierarchy.java b/asm/src/org/aspectj/asm/internal/AspectJElementHierarchy.java index 8dcdd5bc7..d7892b56d 100644 --- a/asm/src/org/aspectj/asm/internal/AspectJElementHierarchy.java +++ b/asm/src/org/aspectj/asm/internal/AspectJElementHierarchy.java @@ -235,32 +235,31 @@ public class AspectJElementHierarchy implements IHierarchy { result.add(root); return result; } + List result = new ArrayList(); for (Iterator iterator = children.iterator(); iterator.hasNext();) { IProgramElement possiblePackage = (IProgramElement) iterator.next(); - if (possiblePackage.getKind() == IProgramElement.Kind.PACKAGE) { - if (possiblePackage.getName().equals(packagename)) { - List result = new ArrayList(); - result.add(possiblePackage); - return result; - } + if (possiblePackage.getKind() == IProgramElement.Kind.PACKAGE && possiblePackage.getName().equals(packagename)) { + result.add(possiblePackage); } if (possiblePackage.getKind() == IProgramElement.Kind.SOURCE_FOLDER) { // might be 'binaries' if (possiblePackage.getName().equals("binaries")) { for (Iterator iter2 = possiblePackage.getChildren().iterator(); iter2.hasNext();) { IProgramElement possiblePackage2 = (IProgramElement) iter2.next(); - if (possiblePackage2.getKind() == IProgramElement.Kind.PACKAGE) { - if (possiblePackage2.getName().equals(packagename)) { - List result = new ArrayList(); - result.add(possiblePackage2); - return result; - } + if (possiblePackage2.getKind() == IProgramElement.Kind.PACKAGE + && possiblePackage2.getName().equals(packagename)) { + result.add(possiblePackage2); + break; // ok to break here, can't be another entry under binaries } } } } } + if (result.isEmpty()) { + return Collections.EMPTY_LIST; + } else { + return result; + } } - return Collections.EMPTY_LIST; } private IProgramElement findClassInNodes(Collection nodes, String name, String typeName) {