]> source.dussan.org Git - aspectj.git/commitdiff
jdt like handle fixes: anonymous inner classes
authoraclement <aclement>
Wed, 17 Sep 2008 18:36:11 +0000 (18:36 +0000)
committeraclement <aclement>
Wed, 17 Sep 2008 18:36:11 +0000 (18:36 +0000)
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java

index 6fae24ac39e95709300ae48ea7927169454728f4..19327ed8065ddc18635863d1a3400e3b6c74712f 100644 (file)
@@ -72,16 +72,13 @@ import org.aspectj.weaver.patterns.Pointcut;
 import org.aspectj.weaver.patterns.ReferencePointcut;
 
 /**
- * At each iteration of <CODE>processCompilationUnit</CODE> the declarations for
- * a particular compilation unit are added to the hierarchy passed as a a
- * parameter.
+ * At each iteration of <CODE>processCompilationUnit</CODE> the declarations for a particular compilation unit are added to the
+ * hierarchy passed as a a parameter.
  * <p>
- * Clients who extend this class need to ensure that they do not override any of
- * the existing behavior. If they do, the structure model will not be built
- * properly and tools such as IDE structure views and ajdoc will fail.
+ * Clients who extend this class need to ensure that they do not override any of the existing behavior. If they do, the structure
+ * model will not be built properly and tools such as IDE structure views and ajdoc will fail.
  * <p>
- * <b>Note:</b> this class is not considered public API and the overridable
- * methods are subject to change.
+ * <b>Note:</b> this class is not considered public API and the overridable methods are subject to change.
  * 
  * @author Mik Kersten
  */
@@ -112,12 +109,10 @@ public class AsmHierarchyBuilder extends ASTVisitor {
         * 
         * @param cuDeclaration
         * @param buildConfig
-        * @param structureModel
-        *            hiearchy to add this unit's declarations to
+        * @param structureModel hiearchy to add this unit's declarations to
         */
-       public void buildStructureForCompilationUnit(
-                       CompilationUnitDeclaration cuDeclaration,
-                       IHierarchy structureModel, AjBuildConfig buildConfig) {
+       public void buildStructureForCompilationUnit(CompilationUnitDeclaration cuDeclaration, IHierarchy structureModel,
+                       AjBuildConfig buildConfig) {
                currCompilationResult = cuDeclaration.compilationResult();
                filename = new String(currCompilationResult.fileName);
                lineseps = currCompilationResult.lineSeparatorPositions;
@@ -132,8 +127,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                // throw new RuntimeException("not implemented");
        }
 
-       private void internalBuild(CompilationUnitDeclaration unit,
-                       IHierarchy structureModel) {
+       private void internalBuild(CompilationUnitDeclaration unit, IHierarchy structureModel) {
                LangUtil.throwIaxIfNull(structureModel, "structureModel");
                // if (!currCompilationResult.equals(unit.compilationResult())) {
                // throw new IllegalArgumentException("invalid unit: " + unit);
@@ -152,24 +146,18 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                        // AMC - use the source start and end from the compilation unit decl
                        int startLine = getStartLine(unit);
                        int endLine = getEndLine(unit);
-                       SourceLocation sourceLocation = new SourceLocation(file, startLine,
-                                       endLine);
+                       SourceLocation sourceLocation = new SourceLocation(file, startLine, endLine);
                        sourceLocation.setOffset(unit.sourceStart);
-                       cuNode = new ProgramElement(new String(file.getName()),
-                                       IProgramElement.Kind.FILE_JAVA, sourceLocation, 0, null,
-                                       null);
+                       cuNode = new ProgramElement(new String(file.getName()), IProgramElement.Kind.FILE_JAVA, sourceLocation, 0, null, null);
                }
 
-               cuNode.addChild(new ProgramElement("import declarations",
-                               IProgramElement.Kind.IMPORT_REFERENCE, null, 0, null, null));
+               cuNode.addChild(new ProgramElement("import declarations", IProgramElement.Kind.IMPORT_REFERENCE, null, 0, null, null));
 
-               final IProgramElement addToNode = genAddToNode(file, unit,
-                               structureModel);
+               final IProgramElement addToNode = genAddToNode(file, unit, structureModel);
 
                // -- remove duplicates before adding (XXX use them instead?)
                if (addToNode != null && addToNode.getChildren() != null) {
-                       for (ListIterator itt = addToNode.getChildren().listIterator(); itt
-                                       .hasNext();) {
+                       for (ListIterator itt = addToNode.getChildren().listIterator(); itt.hasNext();) {
                                IProgramElement child = (IProgramElement) itt.next();
                                ISourceLocation childLoc = child.getSourceLocation();
                                if (null == childLoc) {
@@ -189,30 +177,26 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                try {
                        structureModel.addToFileMap(file.getCanonicalPath(), cuNode);
                } catch (IOException e) {
-                       System.err.println("IOException " + e.getMessage()
-                                       + " creating path for " + file);
+                       System.err.println("IOException " + e.getMessage() + " creating path for " + file);
                        // XXX signal IOException when canonicalizing file path
                }
 
        }
 
-       private IProgramElement findOrCreateChildSourceFolder(String sourceFolder,
-                       IHierarchy structureModel) {
+       private IProgramElement findOrCreateChildSourceFolder(String sourceFolder, IHierarchy structureModel) {
                IProgramElement root = structureModel.getRoot();
                // Check if already there
                IProgramElement sourceFolderNode = null;
                List kids = root.getChildren();
                for (Iterator iterator = kids.iterator(); iterator.hasNext();) {
                        IProgramElement child = (IProgramElement) iterator.next();
-                       if (child.getKind() == IProgramElement.Kind.SOURCE_FOLDER
-                                       && child.getName().equals(sourceFolder)) {
+                       if (child.getKind() == IProgramElement.Kind.SOURCE_FOLDER && child.getName().equals(sourceFolder)) {
                                sourceFolderNode = child;
                                break;
                        }
                }
                if (sourceFolderNode == null) {
-                       sourceFolderNode = new ProgramElement(sourceFolder,
-                                       IProgramElement.Kind.SOURCE_FOLDER, new ArrayList());
+                       sourceFolderNode = new ProgramElement(sourceFolder, IProgramElement.Kind.SOURCE_FOLDER, new ArrayList());
                        root.addChild(sourceFolderNode);
                }
                return sourceFolderNode;
@@ -221,15 +205,12 @@ public class AsmHierarchyBuilder extends ASTVisitor {
        /**
         * Get/create the node (package or root) to add to.
         */
-       private IProgramElement genAddToNode(File sourceFile,
-                       CompilationUnitDeclaration unit, IHierarchy structureModel) {
+       private IProgramElement genAddToNode(File sourceFile, CompilationUnitDeclaration unit, IHierarchy structureModel) {
                final IProgramElement addToNode;
                {
 
-                       CompilationResultDestinationManager manager = buildConfig
-                                       .getCompilationResultDestinationManager();
-                       String sourceFolder = (manager == null ? null : manager
-                                       .getSourceFolderForFile(sourceFile));
+                       CompilationResultDestinationManager manager = buildConfig.getCompilationResultDestinationManager();
+                       String sourceFolder = (manager == null ? null : manager.getSourceFolderForFile(sourceFile));
 
                        ImportReference unitPackage = unit.currentPackage;
 
@@ -238,15 +219,13 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                                if (sourceFolder == null) {
                                        addToNode = structureModel.getRoot();
                                } else {
-                                       addToNode = findOrCreateChildSourceFolder(sourceFolder,
-                                                       structureModel);
+                                       addToNode = findOrCreateChildSourceFolder(sourceFolder, structureModel);
                                }
                        } else {
 
                                IProgramElement rootForSource = structureModel.getRoot();
                                if (sourceFolder != null) {
-                                       rootForSource = findOrCreateChildSourceFolder(sourceFolder,
-                                                       structureModel);
+                                       rootForSource = findOrCreateChildSourceFolder(sourceFolder, structureModel);
                                }
                                String pkgName;
                                {
@@ -263,10 +242,8 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                                }
 
                                IProgramElement pkgNode = null;
-                               if (structureModel != null && structureModel.getRoot() != null
-                                               && rootForSource.getChildren() != null) {
-                                       for (Iterator it = rootForSource.getChildren().iterator(); it
-                                                       .hasNext();) {
+                               if (structureModel != null && structureModel.getRoot() != null && rootForSource.getChildren() != null) {
+                                       for (Iterator it = rootForSource.getChildren().iterator(); it.hasNext();) {
                                                IProgramElement currNode = (IProgramElement) it.next();
                                                if (pkgName.equals(currNode.getName())) {
                                                        pkgNode = currNode;
@@ -276,8 +253,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                                }
                                if (pkgNode == null) {
                                        // note packages themselves have no source location
-                                       pkgNode = new ProgramElement(pkgName,
-                                                       IProgramElement.Kind.PACKAGE, new ArrayList());
+                                       pkgNode = new ProgramElement(pkgName, IProgramElement.Kind.PACKAGE, new ArrayList());
                                        rootForSource.addChild(pkgNode);
                                }
                                addToNode = pkgNode;
@@ -286,8 +262,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                return addToNode;
        }
 
-       public boolean visit(TypeDeclaration typeDeclaration,
-                       CompilationUnitScope scope) {
+       public boolean visit(TypeDeclaration typeDeclaration, CompilationUnitScope scope) {
                String name = new String(typeDeclaration.name);
                IProgramElement.Kind kind = IProgramElement.Kind.CLASS;
                if (typeDeclaration instanceof AspectDeclaration)
@@ -303,14 +278,12 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                if (typeDeclaration.annotations != null) {
                        for (int i = 0; i < typeDeclaration.annotations.length; i++) {
                                Annotation annotation = typeDeclaration.annotations[i];
-                               if (Arrays.equals(annotation.type.getTypeBindingPublic(scope)
-                                               .signature(), "Lorg/aspectj/lang/annotation/Aspect;"
+                               if (Arrays.equals(annotation.type.getTypeBindingPublic(scope).signature(), "Lorg/aspectj/lang/annotation/Aspect;"
                                                .toCharArray())) {
                                        kind = IProgramElement.Kind.ASPECT;
                                } else {
                                        // Creating the char[][] needed for ImportReference
-                                       String[] temp = (new String(annotation.resolvedType
-                                                       .constantPoolName())).split("/");
+                                       String[] temp = (new String(annotation.resolvedType.constantPoolName())).split("/");
                                        if (temp.length > 1) {
                                                char[][] path = new char[temp.length][];
                                                for (int k = 0; k < temp.length; k++) {
@@ -319,17 +292,12 @@ public class AsmHierarchyBuilder extends ASTVisitor {
 
                                                // Create the ImportReference needed to add a
                                                // ProgramElement
-                                               ImportReference importRef = new ImportReference(path,
-                                                               new long[] { 0 }, false, 0);
-                                               ProgramElement ceNode = new ProgramElement(importRef
-                                                               .toString(),
-                                                               IProgramElement.Kind.IMPORT_REFERENCE,
+                                               ImportReference importRef = new ImportReference(path, new long[] { 0 }, false, 0);
+                                               ProgramElement ceNode = new ProgramElement(importRef.toString(), IProgramElement.Kind.IMPORT_REFERENCE,
                                                                makeLocation(importRef), 0, null, null);
-                                               ceNode
-                                                               .setSourceSignature(genSourceSignature(importRef));
+                                               ceNode.setSourceSignature(genSourceSignature(importRef));
                                                // Add Element to Imports of Current Class
-                                               ProgramElement imports = (ProgramElement) ((ProgramElement) stack
-                                                               .peek()).getChildren().get(0);
+                                               ProgramElement imports = (ProgramElement) ((ProgramElement) stack.peek()).getChildren().get(0);
                                                imports.addChild(0, ceNode);
                                        }
                                }
@@ -338,12 +306,10 @@ public class AsmHierarchyBuilder extends ASTVisitor {
 
                int typeModifiers = typeDeclaration.modifiers;
                if (typeDeclaration instanceof AspectDeclaration) {
-                       typeModifiers = ((AspectDeclaration) typeDeclaration)
-                                       .getDeclaredModifiers();
+                       typeModifiers = ((AspectDeclaration) typeDeclaration).getDeclaredModifiers();
                }
 
-               IProgramElement peNode = new ProgramElement(name, kind,
-                               makeLocation(typeDeclaration), typeModifiers, null, null);
+               IProgramElement peNode = new ProgramElement(name, kind, makeLocation(typeDeclaration), typeModifiers, null, null);
                peNode.setSourceSignature(genSourceSignature(typeDeclaration));
                peNode.setFormalComment(generateJavadocComment(typeDeclaration));
 
@@ -352,8 +318,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                return true;
        }
 
-       public void endVisit(TypeDeclaration typeDeclaration,
-                       CompilationUnitScope scope) {
+       public void endVisit(TypeDeclaration typeDeclaration, CompilationUnitScope scope) {
                stack.pop();
        }
 
@@ -362,8 +327,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                String name = new String(memberTypeDeclaration.name);
 
                IProgramElement.Kind kind = IProgramElement.Kind.CLASS;
-               int typeDeclarationKind = TypeDeclaration
-                               .kind(memberTypeDeclaration.modifiers);
+               int typeDeclarationKind = TypeDeclaration.kind(memberTypeDeclaration.modifiers);
                if (memberTypeDeclaration instanceof AspectDeclaration)
                        kind = IProgramElement.Kind.ASPECT;
                else if (typeDeclarationKind == TypeDeclaration.INTERFACE_DECL)
@@ -377,8 +341,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                if (memberTypeDeclaration.annotations != null) {
                        for (int i = 0; i < memberTypeDeclaration.annotations.length; i++) {
                                Annotation annotation = memberTypeDeclaration.annotations[i];
-                               if (Arrays.equals(annotation.type.getTypeBindingPublic(scope)
-                                               .signature(), "Lorg/aspectj/lang/annotation/Aspect;"
+                               if (Arrays.equals(annotation.type.getTypeBindingPublic(scope).signature(), "Lorg/aspectj/lang/annotation/Aspect;"
                                                .toCharArray())) {
                                        kind = IProgramElement.Kind.ASPECT;
                                }
@@ -387,12 +350,10 @@ public class AsmHierarchyBuilder extends ASTVisitor {
 
                int typeModifiers = memberTypeDeclaration.modifiers;
                if (memberTypeDeclaration instanceof AspectDeclaration) {
-                       typeModifiers = ((AspectDeclaration) memberTypeDeclaration)
-                                       .getDeclaredModifiers();
+                       typeModifiers = ((AspectDeclaration) memberTypeDeclaration).getDeclaredModifiers();
                }
 
-               IProgramElement peNode = new ProgramElement(name, kind,
-                               makeLocation(memberTypeDeclaration), typeModifiers, null, null);
+               IProgramElement peNode = new ProgramElement(name, kind, makeLocation(memberTypeDeclaration), typeModifiers, null, null);
                peNode.setSourceSignature(genSourceSignature(memberTypeDeclaration));
                peNode.setFormalComment(generateJavadocComment(memberTypeDeclaration));
 
@@ -407,18 +368,15 @@ public class AsmHierarchyBuilder extends ASTVisitor {
 
        public boolean visit(TypeDeclaration memberTypeDeclaration, BlockScope scope) {
                String fullName = "<undefined>";
-               if (memberTypeDeclaration.allocation != null
-                               && memberTypeDeclaration.allocation.type != null) {
+               if (memberTypeDeclaration.allocation != null && memberTypeDeclaration.allocation.type != null) {
                        // Create a name something like 'new Runnable() {..}'
-                       fullName = "new "
-                                       + memberTypeDeclaration.allocation.type.toString()
-                                       + "() {..}";
-               } else if (memberTypeDeclaration.binding != null
-                               && memberTypeDeclaration.binding.constantPoolName() != null) {
+                       fullName = "new " + memberTypeDeclaration.allocation.type.toString() + "() {..}";
+               } else if (memberTypeDeclaration.binding != null && memberTypeDeclaration.binding.constantPoolName() != null) {
                        // If we couldn't find a nice name like 'new Runnable() {..}' then
                        // use the number after the $
-                       fullName = new String(memberTypeDeclaration.binding
-                                       .constantPoolName());
+                       fullName = new String(memberTypeDeclaration.name);
+                       // fullName = new String(memberTypeDeclaration.binding
+                       // .constantPoolName());
 
                        int dollar = fullName.indexOf('$');
                        fullName = fullName.substring(dollar + 1);
@@ -436,8 +394,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                if (memberTypeDeclaration.annotations != null) {
                        for (int i = 0; i < memberTypeDeclaration.annotations.length; i++) {
                                Annotation annotation = memberTypeDeclaration.annotations[i];
-                               if (Arrays.equals(annotation.type.getTypeBindingPublic(scope)
-                                               .signature(), "Lorg/aspectj/lang/annotation/Aspect;"
+                               if (Arrays.equals(annotation.type.getTypeBindingPublic(scope).signature(), "Lorg/aspectj/lang/annotation/Aspect;"
                                                .toCharArray())) {
                                        kind = IProgramElement.Kind.ASPECT;
                                        break;
@@ -445,19 +402,16 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                        }
                }
 
-               IProgramElement peNode = new ProgramElement(fullName, kind,
-                               makeLocation(memberTypeDeclaration),
+               IProgramElement peNode = new ProgramElement(fullName, kind, makeLocation(memberTypeDeclaration),
                                memberTypeDeclaration.modifiers, null, null);
                peNode.setSourceSignature(genSourceSignature(memberTypeDeclaration));
                peNode.setFormalComment(generateJavadocComment(memberTypeDeclaration));
                // if we're something like 'new Runnable(){..}' then set the
                // bytecodeSignature to be the typename so we can match it later
                // when creating the structure model
-               if (peNode.getBytecodeSignature() == null
-                               && memberTypeDeclaration.binding != null
+               if (peNode.getBytecodeSignature() == null && memberTypeDeclaration.binding != null
                                && memberTypeDeclaration.binding.constantPoolName() != null) {
-                       StringTokenizer st = new StringTokenizer(new String(
-                                       memberTypeDeclaration.binding.constantPoolName()), "/");
+                       StringTokenizer st = new StringTokenizer(new String(memberTypeDeclaration.binding.constantPoolName()), "/");
                        while (st.hasMoreTokens()) {
                                String s = st.nextToken();
                                if (!st.hasMoreTokens()) {
@@ -500,13 +454,11 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                if (methodDeclaration instanceof InterTypeDeclaration) {
                        InterTypeDeclaration itd = (InterTypeDeclaration) methodDeclaration;
                        ResolvedMember sig = itd.getSignature();
-                       peNode = new ProgramElement(null, IProgramElement.Kind.ERROR,
-                                       makeLocation(methodDeclaration), (sig != null ? sig
-                                                       .getModifiers() : 0), null, null);
+                       peNode = new ProgramElement(null, IProgramElement.Kind.ERROR, makeLocation(methodDeclaration), (sig != null ? sig
+                                       .getModifiers() : 0), null, null);
 
                } else {
-                       peNode = new ProgramElement(null, IProgramElement.Kind.ERROR,
-                                       makeLocation(methodDeclaration),
+                       peNode = new ProgramElement(null, IProgramElement.Kind.ERROR, makeLocation(methodDeclaration),
                                        methodDeclaration.modifiers, null, null);
                }
                formatter.genLabelAndKind(methodDeclaration, peNode); // will set the
@@ -514,21 +466,17 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                genBytecodeInfo(methodDeclaration, peNode);
                List namedPointcuts = genNamedPointcuts(methodDeclaration);
                if (shouldAddUsesPointcut)
-                       addUsesPointcutRelationsForNode(peNode, namedPointcuts,
-                                       methodDeclaration);
+                       addUsesPointcutRelationsForNode(peNode, namedPointcuts, methodDeclaration);
 
                if (methodDeclaration.returnType != null) {
                        // if we don't make the distinction between ITD fields and other
                        // methods, then we loose the type, for example int, for the field
                        // and instead get "void".
                        if (peNode.getKind().equals(IProgramElement.Kind.INTER_TYPE_FIELD)) {
-                               peNode.setCorrespondingType(methodDeclaration.returnType
-                                               .toString());
+                               peNode.setCorrespondingType(methodDeclaration.returnType.toString());
                        } else {
                                if (methodDeclaration.returnType.resolvedType != null)
-                                       peNode
-                                                       .setCorrespondingType(methodDeclaration.returnType.resolvedType
-                                                                       .debugName());
+                                       peNode.setCorrespondingType(methodDeclaration.returnType.resolvedType.debugName());
                                else
                                        peNode.setCorrespondingType(null);
                        }
@@ -541,12 +489,10 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                // TODO: add return type test
                if (peNode.getKind().equals(IProgramElement.Kind.METHOD)) {
                        if ((peNode.getName().charAt(0) == 'm')
-                                       && (peNode.toLabelString().equals("main(String[])") || peNode
-                                                       .toLabelString().equals("main(java.lang.String[])"))
-                                       && peNode.getModifiers().contains(
-                                                       IProgramElement.Modifiers.STATIC)
-                                       && peNode.getAccessibility().equals(
-                                                       IProgramElement.Accessibility.PUBLIC)) {
+                                       && (peNode.toLabelString().equals("main(String[])") || peNode.toLabelString()
+                                                       .equals("main(java.lang.String[])"))
+                                       && peNode.getModifiers().contains(IProgramElement.Modifiers.STATIC)
+                                       && peNode.getAccessibility().equals(IProgramElement.Accessibility.PUBLIC)) {
                                ((IProgramElement) stack.peek()).setRunnable(true);
                        }
                }
@@ -555,37 +501,27 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                return true;
        }
 
-       private void addUsesPointcutRelationsForNode(IProgramElement peNode,
-                       List namedPointcuts, MethodDeclaration declaration) {
+       private void addUsesPointcutRelationsForNode(IProgramElement peNode, List namedPointcuts, MethodDeclaration declaration) {
                for (Iterator it = namedPointcuts.iterator(); it.hasNext();) {
                        ReferencePointcut rp = (ReferencePointcut) it.next();
                        ResolvedMember member = getPointcutDeclaration(rp, declaration);
                        if (member != null) {
-                               IRelationship foreward = AsmManager.getDefault()
-                                               .getRelationshipMap().get(peNode.getHandleIdentifier(),
-                                                               IRelationship.Kind.USES_POINTCUT,
-                                                               "uses pointcut", false, true);
-                               IProgramElement forwardIPE = AsmManager.getDefault()
-                                               .getHierarchy().findElementForSourceLine(
-                                                               member.getSourceLocation());
-                               foreward.addTarget(AsmManager.getDefault().getHandleProvider()
-                                               .createHandleIdentifier(forwardIPE));
-
-                               IRelationship back = AsmManager.getDefault()
-                                               .getRelationshipMap().get(
-                                                               AsmManager.getDefault().getHandleProvider()
-                                                                               .createHandleIdentifier(forwardIPE),
-                                                               IRelationship.Kind.USES_POINTCUT,
-                                                               "pointcut used by", false, true);
+                               IRelationship foreward = AsmManager.getDefault().getRelationshipMap().get(peNode.getHandleIdentifier(),
+                                               IRelationship.Kind.USES_POINTCUT, "uses pointcut", false, true);
+                               IProgramElement forwardIPE = AsmManager.getDefault().getHierarchy().findElementForSourceLine(
+                                               member.getSourceLocation());
+                               foreward.addTarget(AsmManager.getDefault().getHandleProvider().createHandleIdentifier(forwardIPE));
+
+                               IRelationship back = AsmManager.getDefault().getRelationshipMap().get(
+                                               AsmManager.getDefault().getHandleProvider().createHandleIdentifier(forwardIPE),
+                                               IRelationship.Kind.USES_POINTCUT, "pointcut used by", false, true);
                                back.addTarget(peNode.getHandleIdentifier());
                        }
                }
        }
 
-       private ResolvedMember getPointcutDeclaration(ReferencePointcut rp,
-                       MethodDeclaration declaration) {
-               EclipseFactory factory = ((AjLookupEnvironment) declaration.scope
-                               .environment()).factory;
+       private ResolvedMember getPointcutDeclaration(ReferencePointcut rp, MethodDeclaration declaration) {
+               EclipseFactory factory = ((AjLookupEnvironment) declaration.scope.environment()).factory;
                World world = factory.getWorld();
                UnresolvedType onType = rp.onType;
                if (onType == null) {
@@ -609,29 +545,23 @@ public class AsmHierarchyBuilder extends ASTVisitor {
 
        /**
         * @param methodDeclaration
-        * @return all of the named pointcuts referenced by the PCD of this
-        *         declaration
+        * @return all of the named pointcuts referenced by the PCD of this declaration
         */
        private List genNamedPointcuts(MethodDeclaration methodDeclaration) {
                List pointcuts = new ArrayList();
                if (methodDeclaration instanceof AdviceDeclaration) {
                        if (((AdviceDeclaration) methodDeclaration).pointcutDesignator != null)
-                               addAllNamed(
-                                               ((AdviceDeclaration) methodDeclaration).pointcutDesignator
-                                                               .getPointcut(), pointcuts);
+                               addAllNamed(((AdviceDeclaration) methodDeclaration).pointcutDesignator.getPointcut(), pointcuts);
                } else if (methodDeclaration instanceof PointcutDeclaration) {
                        if (((PointcutDeclaration) methodDeclaration).pointcutDesignator != null)
-                               addAllNamed(
-                                               ((PointcutDeclaration) methodDeclaration).pointcutDesignator
-                                                               .getPointcut(), pointcuts);
+                               addAllNamed(((PointcutDeclaration) methodDeclaration).pointcutDesignator.getPointcut(), pointcuts);
                }
                return pointcuts;
        }
 
        /**
         * @param left
-        * @param pointcuts
-        *            accumulator for named pointcuts
+        * @param pointcuts accumulator for named pointcuts
         */
        private void addAllNamed(Pointcut pointcut, List pointcuts) {
                if (pointcut == null)
@@ -667,8 +597,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                        output.append("> ");
                }
 
-               methodDeclaration.printReturnType(0, output).append(
-                               methodDeclaration.selector).append('(');
+               methodDeclaration.printReturnType(0, output).append(methodDeclaration.selector).append('(');
                if (methodDeclaration.arguments != null) {
                        for (int i = 0; i < methodDeclaration.arguments.length; i++) {
                                if (i > 0)
@@ -710,14 +639,11 @@ public class AsmHierarchyBuilder extends ASTVisitor {
        // }
        // ((IProgramElement)stack.peek()).addChild(peNode);
        // }
-       protected void genBytecodeInfo(MethodDeclaration methodDeclaration,
-                       IProgramElement peNode) {
+       protected void genBytecodeInfo(MethodDeclaration methodDeclaration, IProgramElement peNode) {
                if (methodDeclaration.binding != null) {
                        try {
-                               EclipseFactory factory = ((AjLookupEnvironment) methodDeclaration.scope
-                                               .environment()).factory;
-                               Member member = factory
-                                               .makeResolvedMember(methodDeclaration.binding);
+                               EclipseFactory factory = ((AjLookupEnvironment) methodDeclaration.scope.environment()).factory;
+                               Member member = factory.makeResolvedMember(methodDeclaration.binding);
                                peNode.setBytecodeName(member.getName());
                                peNode.setBytecodeSignature(member.getSignature());
                        } catch (BCException bce) { // bad type name
@@ -739,11 +665,9 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                if (dotIndex != -1) {
                        currPackageImport = importRef.toString().substring(0, dotIndex);
                }
-               if (!((ProgramElement) stack.peek()).getPackageName().equals(
-                               currPackageImport)) {
+               if (!((ProgramElement) stack.peek()).getPackageName().equals(currPackageImport)) {
 
-                       ProgramElement peNode = new ProgramElement(new String(importRef
-                                       .toString()), IProgramElement.Kind.IMPORT_REFERENCE,
+                       ProgramElement peNode = new ProgramElement(new String(importRef.toString()), IProgramElement.Kind.IMPORT_REFERENCE,
                                        makeLocation(importRef), 0,// could set static here, but for
                                        // some reason the info is
                                        // private
@@ -755,8 +679,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                        // create Source signature for import
                        peNode.setSourceSignature(genSourceSignature(importRef));
 
-                       ProgramElement imports = (ProgramElement) ((ProgramElement) stack
-                                       .peek()).getChildren().get(0);
+                       ProgramElement imports = (ProgramElement) ((ProgramElement) stack.peek()).getChildren().get(0);
                        imports.addChild(0, peNode);
                        stack.push(peNode);
                }
@@ -769,8 +692,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                if (dotIndex != -1) {
                        currPackageImport = importRef.toString().substring(0, dotIndex);
                }
-               if (!((ProgramElement) stack.peek()).getPackageName().equals(
-                               currPackageImport)) {
+               if (!((ProgramElement) stack.peek()).getPackageName().equals(currPackageImport)) {
                        stack.pop();
                }
        }
@@ -788,16 +710,12 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                IProgramElement peNode = null;
                if (fieldDeclaration.type == null) { // The field represents an enum
                        // value
-                       peNode = new ProgramElement(new String(fieldDeclaration.name),
-                                       IProgramElement.Kind.ENUM_VALUE,
-                                       makeLocation(fieldDeclaration), fieldDeclaration.modifiers,
-                                       null, null);
-                       peNode.setCorrespondingType(fieldDeclaration.binding.type
-                                       .debugName());
+                       peNode = new ProgramElement(new String(fieldDeclaration.name), IProgramElement.Kind.ENUM_VALUE,
+                                       makeLocation(fieldDeclaration), fieldDeclaration.modifiers, null, null);
+                       peNode.setCorrespondingType(fieldDeclaration.binding.type.debugName());
                } else {
-                       peNode = new ProgramElement(new String(fieldDeclaration.name),
-                                       IProgramElement.Kind.FIELD, makeLocation(fieldDeclaration),
-                                       fieldDeclaration.modifiers, null, null);
+                       peNode = new ProgramElement(new String(fieldDeclaration.name), IProgramElement.Kind.FIELD,
+                                       makeLocation(fieldDeclaration), fieldDeclaration.modifiers, null, null);
                        peNode.setCorrespondingType(fieldDeclaration.type.toString());
                }
                peNode.setSourceSignature(genSourceSignature(fieldDeclaration));
@@ -835,23 +753,20 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                if (startIndex == -1) {
                        return null;
                } else if (currCompilationResult.compilationUnit.getContents()[startIndex] == '/') {
-                       char[] comment = CharOperation.subarray(
-                                       currCompilationResult.compilationUnit.getContents(),
-                                       startIndex, astNode.sourceStart);
+                       char[] comment = CharOperation.subarray(currCompilationResult.compilationUnit.getContents(), startIndex,
+                                       astNode.sourceStart);
                        while (comment.length > 2) {
                                int star = CharOperation.indexOf('*', comment);
                                if (star == -1)
                                        return null;
                                // looking for '/**' and not '//' or '//*'
-                               if (star != 0 && (comment[star - 1] == '/')
-                                               && (comment[star + 1] == '*')
+                               if (star != 0 && (comment[star - 1] == '/') && (comment[star + 1] == '*')
                                                && (star - 2 < 0 || comment[star - 2] != '/')) {
                                        boolean completed = false;
                                        StringBuffer sb = new StringBuffer();
                                        for (int i = 0; i < comment.length && !completed; i++) {
                                                char curr = comment[i];
-                                               if (curr == '/' && sb.length() > 2
-                                                               && sb.charAt(sb.length() - 1) == '*') {
+                                               if (curr == '/' && sb.length() > 2 && sb.charAt(sb.length() - 1) == '*') {
                                                        completed = true; // found */
                                                }
                                                sb.append(comment[i]);
@@ -859,13 +774,11 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                                        // The following will remove any non-javadoc comments
                                        // preceeding a javadoc comment in this block
                                        if (sb.toString().indexOf("/**") != 0) {
-                                               return sb.toString().substring(
-                                                               sb.toString().indexOf("/**"));
+                                               return sb.toString().substring(sb.toString().indexOf("/**"));
                                        }
                                        return sb.toString();
                                }
-                               comment = CharOperation.subarray(comment, star + 1,
-                                               comment.length);
+                               comment = CharOperation.subarray(comment, star + 1, comment.length);
                        }
                }
                return null;
@@ -883,12 +796,10 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                        return output.toString();
                } else {
                        FieldDeclaration.printModifiers(fieldDeclaration.modifiers, output);
-                       fieldDeclaration.type.print(0, output).append(' ').append(
-                                       fieldDeclaration.name);
+                       fieldDeclaration.type.print(0, output).append(' ').append(fieldDeclaration.name);
                }
 
-               if (fieldDeclaration.initialization != null
-                               && !(fieldDeclaration.initialization instanceof QualifiedAllocationExpression)) {
+               if (fieldDeclaration.initialization != null && !(fieldDeclaration.initialization instanceof QualifiedAllocationExpression)) {
                        output.append(" = "); //$NON-NLS-1$
                        if (fieldDeclaration.initialization instanceof ExtendedStringLiteral) {
                                output.append("\"<extended string literal>\"");
@@ -926,8 +837,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
        // stack.pop();
        // }
 
-       public boolean visit(ConstructorDeclaration constructorDeclaration,
-                       ClassScope scope) {
+       public boolean visit(ConstructorDeclaration constructorDeclaration, ClassScope scope) {
                if ((constructorDeclaration.bits & ASTNode.IsDefaultConstructor) != 0) {
                        stack.push(null); // a little weird but does the job
                        return true;
@@ -936,18 +846,14 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                argumentsSignature.append("(");
                if (constructorDeclaration.arguments != null) {
                        for (int i = 0; i < constructorDeclaration.arguments.length; i++) {
-                               argumentsSignature
-                                               .append(constructorDeclaration.arguments[i].type);
+                               argumentsSignature.append(constructorDeclaration.arguments[i].type);
                                if (i + 1 < constructorDeclaration.arguments.length)
                                        argumentsSignature.append(",");
                        }
                }
                argumentsSignature.append(")");
-               IProgramElement peNode = new ProgramElement(new String(
-                               constructorDeclaration.selector),
-                               IProgramElement.Kind.CONSTRUCTOR,
-                               makeLocation(constructorDeclaration),
-                               constructorDeclaration.modifiers, null, null);
+               IProgramElement peNode = new ProgramElement(new String(constructorDeclaration.selector), IProgramElement.Kind.CONSTRUCTOR,
+                               makeLocation(constructorDeclaration), constructorDeclaration.modifiers, null, null);
                formatter.setParameters(constructorDeclaration, peNode);
                peNode.setModifiers(constructorDeclaration.modifiers);
                peNode.setSourceSignature(genSourceSignature(constructorDeclaration));
@@ -958,10 +864,8 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                        String memberName = "";
                        String memberBytecodeSignature = "";
                        try {
-                               EclipseFactory factory = ((AjLookupEnvironment) constructorDeclaration.scope
-                                               .environment()).factory;
-                               Member member = factory
-                                               .makeResolvedMember(constructorDeclaration.binding);
+                               EclipseFactory factory = ((AjLookupEnvironment) constructorDeclaration.scope.environment()).factory;
+                               Member member = factory.makeResolvedMember(constructorDeclaration.binding);
                                memberName = member.getName();
                                memberBytecodeSignature = member.getSignature();
                        } catch (BCException bce) { // bad type name
@@ -978,13 +882,11 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                return true;
        }
 
-       public void endVisit(ConstructorDeclaration constructorDeclaration,
-                       ClassScope scope) {
+       public void endVisit(ConstructorDeclaration constructorDeclaration, ClassScope scope) {
                stack.pop();
        }
 
-       private String genSourceSignature(
-                       ConstructorDeclaration constructorDeclaration) {
+       private String genSourceSignature(ConstructorDeclaration constructorDeclaration) {
                StringBuffer output = new StringBuffer();
                ASTNode.printModifiers(constructorDeclaration.modifiers, output);
 
@@ -1047,8 +949,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                        return false;
                inInitializer = initializer;
 
-               IProgramElement peNode = new ProgramElement("...",
-                               IProgramElement.Kind.INITIALIZER, makeLocation(initializer),
+               IProgramElement peNode = new ProgramElement("...", IProgramElement.Kind.INITIALIZER, makeLocation(initializer),
                                initializer.modifiers, null, null);
                // "",
                // new ArrayList());
@@ -1091,8 +992,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                // (AbstractMethodDeclaration)n);
                // if ( n instanceof TypeDeclaration ) return getStartLine(
                // (TypeDeclaration)n);
-               return Util.getLineNumber(n.sourceStart, lineseps, 0,
-                               lineseps.length - 1);
+               return Util.getLineNumber(n.sourceStart, lineseps, 0, lineseps.length - 1);
                // return ProblemHandler.searchLineNumber(lineseps,
                // currCompilationResult.lineSeparatorPositions,
                // n.sourceStart);
@@ -1108,8 +1008,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
                        return getEndLine((AbstractMethodDeclaration) n);
                if (n instanceof TypeDeclaration)
                        return getEndLine((TypeDeclaration) n);
-               return Util
-                               .getLineNumber(n.sourceEnd, lineseps, 0, lineseps.length - 1);
+               return Util.getLineNumber(n.sourceEnd, lineseps, 0, lineseps.length - 1);
                // return ProblemHandler.searchLineNumber(lineseps,
                // currCompilationResult.lineSeparatorPositions,
                // n.sourceEnd);
@@ -1128,8 +1027,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
        // various ASTNode types. They have no common ancestor in the
        // hierarchy!!
        private int getEndLine(AbstractVariableDeclaration avd) {
-               return Util.getLineNumber(avd.declarationSourceEnd, lineseps, 0,
-                               lineseps.length - 1);
+               return Util.getLineNumber(avd.declarationSourceEnd, lineseps, 0, lineseps.length - 1);
        }
 
        // AMC - overloaded set of methods to get start and end lines for
@@ -1145,8 +1043,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
        // various ASTNode types. They have no common ancestor in the
        // hierarchy!!
        private int getEndLine(AbstractMethodDeclaration amd) {
-               return Util.getLineNumber(amd.declarationSourceEnd, lineseps, 0,
-                               lineseps.length - 1);
+               return Util.getLineNumber(amd.declarationSourceEnd, lineseps, 0, lineseps.length - 1);
        }
 
        // AMC - overloaded set of methods to get start and end lines for
@@ -1162,7 +1059,6 @@ public class AsmHierarchyBuilder extends ASTVisitor {
        // various ASTNode types. They have no common ancestor in the
        // hierarchy!!
        private int getEndLine(TypeDeclaration td) {
-               return Util.getLineNumber(td.declarationSourceEnd, lineseps, 0,
-                               lineseps.length - 1);
+               return Util.getLineNumber(td.declarationSourceEnd, lineseps, 0, lineseps.length - 1);
        }
 }