Refine search
@Override public void visit(PackageDeclaration n, Void arg) { super.visit(n, arg); // Change the package of the output n.setName("org.jctools.queues.atomic"); }
static String getPackageName(Node container) { if (container instanceof CompilationUnit) { Optional<PackageDeclaration> p = ((CompilationUnit) container).getPackageDeclaration(); if (p.isPresent()) { return p.get().getName().toString(); } } else if (container != null) { return getPackageName(container.getParentNode().orElse(null)); } return ""; }
public void calculate(ClassOrInterfaceDeclaration classOrInterfaceDeclaration, CompilationUnit compilationUnit) { List<AnnotationExpr> annotations = classOrInterfaceDeclaration.getAnnotations(); for (AnnotationExpr annotation : annotations) { String annotationName = annotation.getNameAsString(); String annotationPackageName = annotation .findCompilationUnit() .flatMap(CompilationUnit::getPackageDeclaration) .flatMap(pkg -> Optional.of(pkg.getNameAsString())).orElse("???"); if (typeDao.exist(annotationName, annotationPackageName)) { // JDK annotations are not indexed int annotationId = typeDao.getId(annotationName, annotationPackageName); int typeId = typeDao.getId(classOrInterfaceDeclaration.getNameAsString(), compilationUnit.getPackageDeclaration().get().getNameAsString()); annotatedWithDao.save(new AnnotatedWith(typeId, annotationId)); } } } }
@Override public SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> argumentsTypes, boolean staticOnly, TypeSolver typeSolver) { for (ImportDeclaration importDecl : wrappedNode.getImports()) { if(importDecl.isStatic()){ if(importDecl.isAsterisk()){ String importString = importDecl.getNameAsString(); if (this.wrappedNode.getPackageDeclaration().isPresent() && this.wrappedNode.getPackageDeclaration().get().getName().getIdentifier().equals(packageName(importString)) && this.wrappedNode.getTypes().stream().anyMatch(it -> it.getName().getIdentifier().equals(toSimpleName(importString)))) {
@Override public DocTag converter(String comment) { DocTag docTag = super.converter(comment); String path = ClassMapperUtils.getPath((String) docTag.getValues()); if (StringUtils.isBlank(path)) { return null; } Class<?> returnClassz; CompilationUnit cu; try (FileInputStream in = new FileInputStream(path)) { cu = JavaParser.parse(in); if (cu.getTypes().size() <= 0) { return null; } returnClassz = Class.forName(cu.getPackageDeclaration().get().getNameAsString() + "." + cu.getTypes().get(0).getNameAsString()); } catch (Exception e) { log.warn("读取java原文件失败:{}", path, e.getMessage()); return null; } String text = cu.getComment().isPresent() ? CommentUtils.parseCommentText(cu.getComment().get().getContent()) : ""; Map<String, String> commentMap = this.analysisFieldComments(returnClassz); List<FieldInfo> fields = this.analysisFields(returnClassz, commentMap); ObjectInfo objectInfo = new ObjectInfo(); objectInfo.setType(returnClassz); objectInfo.setFieldInfos(fields); objectInfo.setComment(text); return new SeeTagImpl(docTag.getTagName(), objectInfo); }
TestEngine.select(project).ifPresent(testEngine -> { args.addAll(List.of("--add-reads", moduleName + "=" + testEngine.moduleName)); for (var sourceFile : testSourceSet.getJava()) { try { Optional<PackageDeclaration> optionalPackageDeclaration = JavaParser.parse(sourceFile).getPackageDeclaration(); if (optionalPackageDeclaration.isPresent()) { PackageDeclaration packageDeclaration = optionalPackageDeclaration.get(); testPackages.add(packageDeclaration.getNameAsString());
PrintStream s = new PrintStream(bytes); String newPkg = cu.getPackageDeclaration() // .map(p -> p.getName().toString()) // .orElse("") + ".immutable"; s.format("package %s;\n\n", newPkg); s.format("<IMPORTS>\n"); Map<String, String> imports; NodeList<ImportDeclaration> n = cu.getImports(); if (n != null) { imports = new HashMap<>(n.stream() // for (Node n : cu.getChildNodes()) { if (n instanceof ClassOrInterfaceDeclaration) { ClassOrInterfaceDeclaration c = (ClassOrInterfaceDeclaration) n;
throw new IllegalArgumentException("The given node is not a name"); if (!name.getParentNode().isPresent()) { throw new IllegalArgumentException("We cannot understand the role of a name if it has no parent"); if (whenParentIs(Name.class, name, (p, c) -> p.getQualifier().isPresent() && p.getQualifier().get() == c)) { return classifyRole(name.getParentNode().get()); if (whenParentIs(PackageDeclaration.class, name, (p, c) -> p.getName() == c)) { return NameRole.DECLARATION;
@SuppressWarnings("PMD.SimplifyBooleanReturns") private boolean isImported(CompilationUnit compilationUnit, String typeSimpleName) { if (StringUtils.isBlank(typeSimpleName) || typeSimpleName.contains(".")) { throw new IllegalArgumentException("Invalid type simple name"); } // If the specified type is part of the JDK, // then it won't need need an explicit import statement if (specifiedTypePackageName.startsWith("java.lang")) { return true; } // Check if the compilation unit has an explicit import declaration whose // type name matches the specified type simple name String importClass; for (ImportDeclaration importDeclaration : compilationUnit.getImports()) { importClass = importDeclaration.getName().getIdentifier(); if (importClass.equals(typeSimpleName)) { return true; } } // Check if the annotation is declared // at the same package where the class is if (compilationUnit.getPackageDeclaration().get().getNameAsString().equals(specifiedTypePackageName)) { return true; } return false; }
@Override @edu.umd.cs.findbugs.annotations.SuppressFBWarnings (value="NP_ALWAYS_NULL_EXCEPTION") protected TUExecutionResult execution(File transformedAppFolder, TransformationContext transformationContext) { File javaClassFile = getAbsoluteFile(transformedAppFolder, transformationContext); FileInputStream fileInputStream = null; TUExecutionResult result = null; // TODO // Add a validation here simply checking if the file name ends with .java try { fileInputStream = new FileInputStream(javaClassFile); CompilationUnit compilationUnit = JavaParser.parse(fileInputStream); Optional<PackageDeclaration> packageDeclaration = compilationUnit.getPackageDeclaration(); result = TUExecutionResult.value(this, packageDeclaration.get().getNameAsString()); } catch (Exception e) { TransformationUtilityException tue = new TransformationUtilityException("An error happened when trying to read and parse the specified Java file " + getRelativePath(transformedAppFolder, javaClassFile), e); result = TUExecutionResult.error(this, tue); } finally { try { if (fileInputStream != null) { fileInputStream.close(); } } catch (IOException e) { result.addWarning(e); } } return result; }
public static String mergeContent(CompilationUnit one, CompilationUnit two) throws Exception { // 包声明不同,返回null if (!one.getPackage().equals(two.getPackage())) return null; CompilationUnit cu = new CompilationUnit(); // add package declaration to the compilation unit PackageDeclaration pd = new PackageDeclaration(); pd.setName(one.getPackage().getName()); cu.setPackage(pd); // check and merge file comment; Comment fileComment = mergeSelective(one.getComment(), two.getComment()); cu.setComment(fileComment); // check and merge imports List<ImportDeclaration> ids = mergeListNoDuplicate(one.getImports(), two.getImports()); cu.setImports(ids); // check and merge Types List<TypeDeclaration> types = mergeTypes(one.getTypes(), two.getTypes()); cu.setTypes(types); return cu.toString(); }
@Override public void visit(CompilationUnit n, Object arg) { currentPackage = n.getPackage() != null ? n.getPackage().getName().toString() : ""; imports = new LinkedList<String>(); for (ImportDeclaration importDec : n.getImports()) { imports.add(importDec.getName().toString()); } super.visit(n, arg); }
@Nonnull @Override protected String calculatePrefix(@Nonnull Qualifier<?> topQualifier) { PackageDeclaration aPackage = Nodes.getCompilationUnit(topQualifier.getNode()).getPackage(); if (aPackage == null) { return ""; } return prepend(aPackage.getName(), new StringBuilder("")).append(".").toString(); }
@Override public void execute(PathResolver pathResolver) throws Exception { CompilationUnit cu = new CompilationUnit(); String basePackage = BasePackageDetector.detect(); cu.setPackage(new PackageDeclaration(ASTHelper.createNameExpr(basePackage + "form"))); ClassOrInterfaceDeclaration formClass = new ClassOrInterfaceDeclaration( ModifierSet.PUBLIC, false, CaseConverter.pascalCase(tableName) + "Form"); ASTHelper.addTypeDeclaration(cu, formClass); formClass.setExtends(Collections.singletonList( new ClassOrInterfaceType("FormBase") )); fields.stream() .filter(f -> !f.isId()) .forEach(f -> ASTHelper.addMember(formClass, fieldDeclaration(f))); fields.stream() .filter(f -> !f.isId()) .forEach(f -> ASTHelper.addMember(formClass, getterDeclaration(f))); fields.stream() .filter(f -> !f.isId()) .forEach(f -> ASTHelper.addMember(formClass, setterDeclaration(f))); try (Writer writer = new OutputStreamWriter(pathResolver.destinationAsStream(destination))) { writer.write(cu.toString()); } }
@Override public PackageDeclaration doMerge(PackageDeclaration first, PackageDeclaration second) { PackageDeclaration packageDeclaration = new PackageDeclaration(); packageDeclaration.setName(first.getName()); packageDeclaration.setAnnotations(mergeCollections(first.getAnnotations(),second.getAnnotations())); return packageDeclaration; }
/** {@inheritDoc} */ @Override public void visit(PackageDeclaration n, ClassBuilder builder) { super.visit(n, builder); packageName = n.getNameAsString(); builder.withPackageName(n.getNameAsString()); }
List<PackageDeclaration> packageDeclarations = compilationUnit.findAll(PackageDeclaration.class); String rootPackage = null; if (packageDeclaration.getNameAsString().split("\\.").length == 1) { rootPackage = packageDeclaration.getNameAsString(); } else { rootPackage = packageDeclaration.getNameAsString().split("\\.")[0];
static String getPackageName(Node container) { if (container instanceof CompilationUnit) { Optional<PackageDeclaration> p = ((CompilationUnit) container).getPackageDeclaration(); if (p.isPresent()) { return p.get().getName().toString(); } } else if (container != null) { return getPackageName(getParentNode(container)); } return ""; }
public void calculate(ClassOrInterfaceDeclaration classOrInterfaceDeclaration, CompilationUnit compilationUnit) { List<ClassOrInterfaceType> extendedTypes = classOrInterfaceDeclaration.getExtendedTypes(); for (ClassOrInterfaceType extendedType : extendedTypes) { String extendedTypeName = extendedType.getNameAsString(); String extendedTypePackageName = extendedType .findCompilationUnit() .flatMap(CompilationUnit::getPackageDeclaration) .flatMap(pkg -> Optional.of(pkg.getNameAsString())).orElse("???"); if (typeDao.exist(extendedTypeName, extendedTypePackageName)) { // JDK interfaces are not indexed int extendedInterfaceId = typeDao.getId(extendedTypeName, extendedTypePackageName); int interfaceId = typeDao.getId(classOrInterfaceDeclaration.getNameAsString(), compilationUnit.getPackageDeclaration().get().getNameAsString()); extendsDao.save(new Extends(interfaceId, extendedInterfaceId)); } } } }