1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| private void writeIncludeH(String ligne, BufferedWriter tmpwriter,
List<String> inclueFile, String path, List<String> listefichierH)
throws IOException {
BufferedReader lecteurFileHBuffer = null;
if(ligne!=null){
if(ligne.contains("/*") ){
commentaire = true;
}
if(ligne.contains("/*")&& ligne.contains("*/")){
commentaire = false;
}
if(!commentaire) {
if (IsMacro(ligne, "include") && !ligne.startsWith("//")) {
MonfichierH = trouverH(ligne);
if (MonfichierH != null && MonfichierH.endsWith(".h")
&& Strings.containsValue(MonfichierH, inclueFile)
&& !Strings.containsValue(MonfichierH, listefichierH)) {
listeinclude.add(MonfichierH);
listefichierH.add(MonfichierH);
String lineH = ligne.replaceAll(ligne, "//SC++" + ligne);
tmpwriter.write(lineH);//System.err.println(lineH);
tmpwriter.newLine();
try {
lecteurFileHBuffer = new BufferedReader(new FileReader(path
+ MonfichierH));
} catch (FileNotFoundException exc) {
exc.getMessage();
}
while ((ligne = lecteurFileHBuffer.readLine()) != null) {
writeIncludeH(ligne, tmpwriter, inclueFile, path,
listefichierH);
}
lecteurFileHBuffer.close();
tmpwriter.write("//SC--include "
+ listeinclude.get(listeinclude.size() - 1));
tmpwriter.newLine();
listeinclude.remove(listeinclude.size() - 1);
}
else if(!ligne.startsWith("//")){
tmpwriter.write("//" + ligne);
tmpwriter.newLine();
}
} else {
if (IsMacro(ligne, "ifdef" )|| IsMacro(ligne, "endif" )) {
if (ligne.contains("/*") && !ligne.contains("*/")) {
tmpwriter.write(ligne+"/*");
tmpwriter.newLine();
}
if (!ligne.contains("/*") && ligne.contains("*/")) {
tmpwriter.write(ligne);
tmpwriter.newLine();
}
else {
tmpwriter.write("//SC_MACRO" + ligne);
tmpwriter.write(ligne);
tmpwriter.newLine();
}
}
else {
tmpwriter.write(ligne);
tmpwriter.newLine();
}
}
}
if(ligne.indexOf("*/")==0&& ligne.indexOf("/*")!=0){ //ligne d'excpetion
commentaire = false;
}
if(commentaire) {
tmpwriter.write(ligne);
tmpwriter.newLine();
return;
}
}
} |
Partager