org_aspectj_tools_ajc_AjNaiveASTFlattenerTest_java
org.aspectj.org.eclipse.jdt.core.dom.AjASTConverter
public CompilationUnit convert(org.aspectj.org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration unit, char[] source) { this.compilationUnitSource = source; this.compilationUnitSourceLength = source.length; this.scanner.setSource(source, unit.compilationResult); CompilationUnit compilationUnit = new CompilationUnit(this.ast);  // Parse comments int[][] comments = unit.comments; if (comments != null) { buildCommentsTable(compilationUnit, comments); }  // handle the package declaration immediately // There is no node corresponding to the package declaration if (this.resolveBindings) { recordNodes(compilationUnit, unit); } if (unit.currentPackage != null) { PackageDeclaration packageDeclaration = convertPackage(unit); compilationUnit.setPackage(packageDeclaration); } org.aspectj.org.eclipse.jdt.internal.compiler.ast.ImportReference[] imports = unit.imports; if (imports != null) { int importLength = imports.length; for (org.aspectj.org.eclipse.jdt.internal.compiler.ast.ImportReference anImport : imports) { compilationUnit.imports().add(convertImport(anImport)); } }  org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration[] types = unit.types; if (types != null) { int typesLength = types.length; for (org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration declaration : types) { if (CharOperation.equals(declaration.name, TypeConstants.PACKAGE_INFO_NAME)) { continue; } ASTNode type = convert(declaration); if (type == null) { compilationUnit.setFlags(compilationUnit.getFlags() | ASTNode.MALFORMED); } else { compilationUnit.types().add(type); } } } compilationUnit.setSourceRange(unit.sourceStart, unit.sourceEnd - unit.sourceStart + 1);  int problemLength = unit.compilationResult.problemCount; if (problemLength != 0) { CategorizedProblem[] resizedProblems = null; final CategorizedProblem[] problems = unit.compilationResult.getProblems(); final int realProblemLength = problems.length; if (realProblemLength == problemLength) { resizedProblems = problems; } else { System.arraycopy(problems, 0, (resizedProblems = new CategorizedProblem[realProblemLength]), 0, realProblemLength); } ASTSyntaxErrorPropagator syntaxErrorPropagator = new ASTSyntaxErrorPropagator(resizedProblems); compilationUnit.accept(syntaxErrorPropagator); compilationUnit.setProblems(resizedProblems); } if (this.resolveBindings) { lookupForScopes(); } compilationUnit.initCommentMapper(this.scanner); return compilationUnit;

 -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.Collections.unmodifiableList(java.util.List): java.util.List -> java.util.Arrays.equals(char[],char[]): boolean -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.toString(): java.lang.String -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.ArrayList.size(): int -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.ArrayList.add(int,java.lang.Object): void -> java.util.List.add(java.lang.Object): boolean -> java.util.ArrayList.size(): int -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.ArrayList.add(int,java.lang.Object): void -> java.util.List.add(java.lang.Object): boolean -> java.util.ArrayList.size(): int -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.ArrayList.add(int,java.lang.Object): void