sauf que dans l'exemple, ils appellent leur classe CuPrinter, pas JavaParser. Ta classe JavaParser a le même nom qu'une classe que tu importe, ta classe a priorité, mais du coup il trouve pas les méthodes que tu cherche à appeler :)
Version imprimable
sauf que dans l'exemple, ils appellent leur classe CuPrinter, pas JavaParser. Ta classe JavaParser a le même nom qu'une classe que tu importe, ta classe a priorité, mais du coup il trouve pas les méthodes que tu cherche à appeler :)
oh le boulet :p
encore une question:
je n'arrive pas à trouver récupérer les interfaces ou le parent d'une classe d'un fichier parser avec javapaser.
Quelqu'un a une idée?
je connais pas javapaser mais pour la manipulation dont tu parles tu devrais regarder dans l'api reflexive.
Sinon pour compter les lignes je pense qu'il existe des outils tout fais qui existent ds eclipse :king:
J'ai déjà commencé avec Javaparser et je sais qu'il y a une méthode getInterface alors j'imagine qu'il y en a une pour l'interface. Alors j'aimerais si possible continuer avec.
Je n'arrive juste pas à la trouver à partir de mon fichier comme dans l'exemple que j'ai donné au dessus.
je connais pas des masses javaparser, mais en lisant vite fait le code, je trouve ça dans le VoidVisitor:
Je suppose que c'est ça que tu cherche :)Code:
1
2
3
4
5
6
7 public void visit(ClassOrInterfaceDeclaration n, A arg) { //..... if (n.getExtends() != null) { for (ClassOrInterfaceType c : n.getExtends()) { c.accept(this, arg); } }
Bonjour tout le monde, j'ai pas mal avancé sur mon programme. Il y a une dernière chose que je voulais vous demander. J'arrive à compter les lignes de fichiers java sans compter les commentaires, cependant le programme compte les lignes blanches alors que je pense avoir mis la bonne instruction pour qu'il ne les prenne pas en compte, quelqu'un a une idée ?
Voici le bout de code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 private int lignesDansFichier(File fichier) { int cpt = 0; try { String fic = fichier.getName().toLowerCase(); if (fichier.isFile() && fic.endsWith(".java")) { BufferedReader bfr = new BufferedReader(new FileReader(fichier)); for (String s = bfr.readLine(); s != null; s = bfr.readLine()) { s = s.trim(); if (!(s.startsWith("/*")) && !(s.startsWith("*")) && !(s.startsWith("*/")) && !(s.startsWith("//")) && !(s.startsWith("--")) && !(s.startsWith(""))){ cpt++; } else{ continue; } } } } catch (Exception e) { System.out.println("lignesDansFichier eror :" + e); } return cpt; }
Remplace juste :
parCode:!(s.startsWith(""))
et ça devrait marcher ;)Code:
1
2 !(s.length() <= 0)
Ou sinon, tu fais
;)Code:!(s.equals(""))