CompilationUnit cu = JavaParser.parse(file); List<TypeDeclaration> typeDeclarations = cu.getTypes(); for (TypeDeclaration typeDec : typeDeclarations) { List<BodyDeclaration> members = typeDec.getMembers(); if(members != null) { for (BodyDeclaration member : members) { if (member instanceof ConstructorDeclaration) { ConstructorDeclaration constructor = (ConstructorDeclaration) member; //Put your code here //The constructor instance contains all the information about it. constructor.getBeginLine(); //begin line constructor.getBlock(); //constructor body } } } }
@Override public void visit(ConstructorDeclaration n, A arg) { HashSet<String> blockVariables = newHashSet(); this.localVariables.addLast(blockVariables); try { for (Parameter parameter : emptyIfNull(n.getParameters())) { blockVariables.add(parameter.getId().getName()); } for (AnnotationExpr annotationExpr : emptyIfNull(n.getAnnotations())) { annotationExpr.accept(this, arg); } BlockStmt body = n.getBlock(); if (body != null) { visit(body, arg); } } finally { this.localVariables.removeLast(); } }
@Override public ConstructorDeclaration doMerge(ConstructorDeclaration first, ConstructorDeclaration second) { ConstructorDeclaration cd = new ConstructorDeclaration(); cd.setName(first.getName()); cd.setJavaDoc(mergeSingle(first.getJavaDoc(), second.getJavaDoc())); cd.setModifiers(mergeModifiers(first.getModifiers(), second.getModifiers())); cd.setAnnotations(mergeCollections(first.getAnnotations(), second.getAnnotations())); cd.setParameters(mergeCollectionsInOrder(first.getParameters(), second.getParameters())); cd.setTypeParameters(mergeCollectionsInOrder(first.getTypeParameters(), second.getTypeParameters())); cd.setThrows(mergeListNoDuplicate(first.getThrows(), second.getThrows(), false)); cd.setBlock(mergeSingle(first.getBlock(), second.getBlock())); return cd; }
public static ConstructorDeclaration mergeConstructor(ConstructorDeclaration one, ConstructorDeclaration two) { if (isAllNull(one, two)) return null; ConstructorDeclaration cd = null; if (isAllNotNull(one, two)) { cd = new ConstructorDeclaration(); cd.setName(one.getName()); cd.setComment(mergeSelective(one.getComment(), two.getComment())); cd.setAnnotations(mergeListNoDuplicate(one.getAnnotations(), two.getAnnotations())); cd.setModifiers(mergeModifiers(one.getModifiers(), two.getModifiers())); cd.setJavaDoc(mergeSelective(one.getJavaDoc(), two.getJavaDoc())); cd.setThrows(mergeListNoDuplicate(one.getThrows(), two.getThrows())); cd.setTypeParameters(findFirstNotNull(one.getTypeParameters(), two.getTypeParameters())); cd.setParameters(mergeParameters(one.getParameters(), two.getParameters())); cd.setBlock(mergeBlock(one.getBlock(), two.getBlock())); LOG.info("merge ConstructorDeclaration --> {}", cd.getName()); } else { cd = findFirstNotNull(one, two); LOG.info("add ConstructorDeclaration --> {}", cd.getName()); } return cd; }