org_aspectj_ajde_core_tests_OutxmlTest_java
org.aspectj.ajdt.internal.core.builder.AsmHierarchyBuilder
private void internalBuild(CompilationUnitDeclaration unit, AsmManager structureModel) {
        LangUtil.throwIaxIfNull(structureModel, "structureModel");
        try {
            this.activeStructureModel = structureModel;
            File file = new File(new String(unit.getFileName()));
            int startLine = this.getStartLine(unit);
            int endLine = this.getEndLine(unit);
            SourceLocation sourceLocation = new SourceLocation(file, startLine, endLine);
            sourceLocation.setOffset(unit.sourceStart);
            ProgramElement cuNode = new ProgramElement(structureModel, new String(file.getName()), IProgramElement.Kind.FILE_JAVA, sourceLocation, 0, null, null);
            cuNode.addChild(new ProgramElement(structureModel, "", IProgramElement.Kind.IMPORT_REFERENCE, null, 0, null, null));
            IProgramElement addToNode = this.genAddToNode(file, unit, structureModel);
            if (addToNode != null && addToNode.getChildren() != null) {
                ListIterator<IProgramElement> itt = addToNode.getChildren().listIterator();
                while (itt.hasNext()) {
                    IProgramElement child = itt.next();
                    ISourceLocation childLoc = child.getSourceLocation();
                    if (null == childLoc || !childLoc.getSourceFile().equals(file)) continue;
                    itt.remove();
                }
            }
            addToNode.addChild(cuNode);
            this.stack.push(cuNode);
            unit.traverse((ASTVisitor)this, unit.scope);
            try {
                structureModel.getHierarchy().addToFileMap(file.getCanonicalPath(), cuNode);
            }
            catch (IOException e) {
                System.err.println("IOException " + e.getMessage() + " creating path for " + file);
            }
        }
        finally {
            this.activeStructureModel = null;
        }
    }
 -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.io.File.getName(): java.lang.String -> java.util.Collections.emptyList(): java.util.List -> java.util.Collections.emptyMap(): java.util.Map -> java.util.Collections.emptyList(): java.util.List -> java.util.Collections.emptyMap(): java.util.Map -> java.util.List.add(java.lang.Object): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.listIterator(): java.util.ListIterator -> java.util.ListIterator.hasNext(): boolean -> java.util.ListIterator.next(): java.lang.Object -> java.io.File.equals(java.lang.Object): boolean -> java.util.ListIterator.hasNext(): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Stack.push(java.lang.Object): java.lang.Object -> java.util.Arrays.equals(char[],char[]): boolean -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.Collections.emptyList(): java.util.List -> java.util.Collections.emptyMap(): java.util.Map -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.append(char[]): java.lang.StringBuffer -> java.lang.StringBuffer.toString(): java.lang.String -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Stack.peek(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Stack.push(java.lang.Object): java.lang.Object -> java.util.Stack.push(java.lang.Object): java.lang.Object -> java.util.Stack.pop(): java.lang.Object -> java.util.Stack.pop(): java.lang.Object -> java.util.Arrays.equals(char[],char[]): boolean -> java.io.File.getCanonicalPath(): java.lang.String -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object
 [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.io.File.getName(): java.lang.String [CALL] [CALL] -> java.util.Collections.emptyList(): java.util.List -> java.util.Collections.emptyMap(): java.util.Map [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Collections.emptyList(): java.util.List -> java.util.Collections.emptyMap(): java.util.Map [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.List.listIterator(): java.util.ListIterator -> java.util.ListIterator.hasNext(): boolean -> java.util.ListIterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.io.File.equals(java.lang.Object): boolean -> java.util.ListIterator.hasNext(): boolean [CALL] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] -> java.util.Stack.push(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Collections.emptyList(): java.util.List -> java.util.Collections.emptyMap(): java.util.Map [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer [EXIT] -> java.lang.StringBuffer.append(java.lang.String): java.lang.StringBuffer -> java.lang.StringBuffer.append(char[]): java.lang.StringBuffer [EXIT] -> java.lang.StringBuffer.toString(): java.lang.String [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Stack.peek(): java.lang.Object [CALL] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] -> java.util.Stack.push(java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Stack.push(java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Stack.pop(): java.lang.Object [EXIT] [EXIT] [CALL] -> java.util.Stack.pop(): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.io.File.getCanonicalPath(): java.lang.String [CALL] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT]