Clang Gui: IHM pour l'analyseur syntaxique LLVM/Clang

Mala

Membre confirmé
9 Mai 2006
65
7
L'outil ayant fait ses armes sur les forums d'Objective-Cocoa, je vous le propose à son tour ici.

Clang Gui qu'est ce que c'est?
Clang Gui a dit:
LLVM/Clang est un outil d'analyse syntaxique qui permet de trouver plus facilement des bugs dans du code C et Objective-C. C'est pour le moment un outil qui se lance en mode terminal ce qui ne le rend pas forcément pratique à installer/utiliser. Clang GUI est donc un petit utilitaire graphique qui permet de s'affranchir de cette contrainte pour un usage plus aisé.

Tout le reste se trouve ici...
Clang Gui

En espérant contribuer modestement à mieux lutter contre les bugs, :zen:
Mala.
 
L'outil ayant fait ses armes sur les forums d'Objective-Cocoa, je vous le propose à son tour ici.

Clang Gui qu'est ce que c'est?


Tout le reste se trouve ici...
Clang Gui

En espérant contribuer modestement à mieux lutter contre les bugs, :zen:
Mala.

oki attention dans la var CC= ne passer que gcc et par d'argument
sinon clang plante, preferer mettre tout dans vos CFLAGS

ce serait bine d'avoir le tout dans un processus async afin de ne pas avoir la roue,
de plus quand aucun fichier projet est selectionne passer le menu des iphone sdk en gris
car c'est un peux deconcertant

en tous les cas merci ca fesait deux semaines que je n'avait pas passe au clang mon code et j'ai trouve
un object non released envoye a setter

:D clang te nique a chaque fois saloperie de tool :D

bug la navigation bug quand tu rerun le meme et que tu navigues dans les sub report pas moyen de faire back to the index html

question ou store tu les html produit par CLang?
 
ce serait bine d'avoir le tout dans un processus async afin de ne pas avoir la roue,
de plus quand aucun fichier projet est selectionne passer le menu des iphone sdk en gris
car c'est un peux deconcertant
Je prends note pour les prochaines mises à jour. :)

en tous les cas merci ca fesait deux semaines que je n'avait pas passe au clang mon code et j'ai trouve
un object non released envoye a setter

:D clang te nique a chaque fois saloperie de tool :D
Il m'a trouvé quelques perles aussi. :D

bug la navigation bug quand tu rerun le meme et que tu navigues dans les sub report pas moyen de faire back to the index html
J'ai apperçu ça aussi. C'est bizzare car les boutons sont bindés sur la WebView.

question ou store tu les html produit par CLang?
[NSTemporaryDirectory() stringByAppendingPathComponent:mad:"Clang"]
 
trouve, tu as dois clear l'history pour le probleme webview, si tu releases le source je veux bien te donner un coup de main, j'ai aussi envoye le lien de ton appli a monsieur Clang avec qui j'entretient une correspondance depuis pas mal de temps deja, il etait happy de ton travail
 
trouve, tu as dois clear l'history pour le probleme webview,
Je m'y suis remis à 3 fois pour comprendre ta phrase. Dur, dur la France... ;)

si tu releases le source je veux bien te donner un coup de main,
Aucun souci, bien au contraire. Je t'envoie un MP ce soir ou demain avec le source.

j'ai aussi envoye le lien de ton appli a monsieur Clang avec qui j'entretient une correspondance depuis pas mal de temps deja, il etait happy de ton travail
Sir Clang! Cool! :up:
 
j'ai corrige un bug quand tu listes quel dossier-report tu dois ouvrir dans la webview, je teste maintenant l'attribut avec "le plus recent last modified", j'ai remarque aussi que les clean ne marche pas sur certains projects iphone, j'etudie un force clean du genre rm -Rf projet/build/target-ecetera/
car cette situation fait buguer clang qui cree un nouveau dossier avec rien dedans...

j'ai mis la classe task wrapper en place et un peu touche a l'UI pour cleaner quelques marges et j'ai mis la webview
comme contentview d une scrollview sans scroll :D c'est juste pour qu elle ait la meme tete avec une petite bordure cf tab1
je pense que je t'enverrais ca samedi prochain, j'ai aussi code en obj-c 1 comme tu l'as fait

ps: c'est pas fini
 
historique de la webView

en faite:

[webView setMaintainsBackForwardList:NO]; -> ici le probleme c'est qu 'il release l'objet
donc mort pour toute la suite de la vie du programme, oui je sais ils sont un peu cognos

c'est donc mortel

[webView setMaintainsBackForwardList:YES];

il ne repasse pas a yes parce que l'objet est nil, nada il n'en recree pas des que tu push NO caca, cognos isn't it?

je ne sais pas qui a ecrit cette methode debile... mais bon je m'attendais a meilleur
en faite l'objet travaille avec une collection d'url, comme je suis en debug mode je detruit le dossier temporaire a chaque run, et le probleme n'apparaissait que quand clang utilisait le meme dossier temporaire pour regenerer un report donc a url equivalent l'objet etait mort donc plus de navigation possible

j'essaye du coter du WebHistory objet,
pour comprendre comment cela ca marche, j'ai trifouille pas mal pour comprendre, qu elle merde pour faire un truc simple...

:D

ca sent le webviewController en tous les cas, je ne vois que ca pour gerer ton propre historique et l'effacer
comme tu veux sans tenir compte des differentes URLs, de toutes les facons ca ne peut que faire du bien a l'appController

pour l'instant je n'ai bosse que deux fin de soiree dessus et ca avance pas mal
 
j'ai naturellement fixé le bug auquel Didier etait confronté, j'encode UTF8 pour la TextView, le crash report de Didier montre bien un probleme de character out of range.

Parser un projet xCode n'est pas trop complique, c'est un dictionaire plist, il suffit de scanner les keys
 
j'ai naturellement fixé le bug auquel Didier etait confronté, j'encode UTF8 pour la TextView, le crash report de Didier montre bien un probleme de character out of range.

Parser un projet xCode n'est pas trop complique, c'est un dictionaire plist, il suffit de scanner les keys

Tu veut que je teste ?

Cordialement
 
Tu veut que je teste ?

Cordialement


pourquoi pas je suis en cours de finition pour checker le last tmp folder modified,
Bloc de code:
- (NSString *)lastModifiedFileAtPath:(NSString *)path
{
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSArray* directoryContents = [fileManager directoryContentsAtPath:path];
    NSDictionary *currentFileAttributes;
    NSDate* currentFileDate;
    NSString *currentFile;
    NSString *lastModifiedFile = nil;
    NSDate* lastModifiedFileDate;
    
    if([directoryContents count]) {
        lastModifiedFileDate = [NSDate distantPast];
        for (NSString* fileName in directoryContents) {
            currentFile = [path stringByAppendingPathComponent:fileName];
            currentFileAttributes = [fileManager fileAttributesAtPath:currentFile traverseLink:NO];
            currentFileDate = [currentFileAttributes objectForKey:NSFileModificationDate];
            if([currentFileDate laterDate:lastModifiedFileDate] == currentFileDate) {
                lastModifiedFileDate = currentFileDate;
                lastModifiedFile = fileName;
            }
        }
    
    }
    
    return lastModifiedFile;
}

- (void)openScan
{
    NSString *currentScan;
    [self cleanHistory];
    
    if((currentScan = [self lastModifiedFileAtPath:tmpClangDir])) {
        NSString *path = [[tmpClangDir stringByAppendingPathComponent:currentScan] stringByAppendingPathComponent:@"index.html"];

...
je pense renvoyer la premiere etape samedi a sebastien?

si on ne s'emele pas les pinceaux sur les versions je veux bien t'envoyer l'app, mais j'ai besoin de l'authorization de seb aka l'auteur pour la distribution de l'app en dessus de main,

Didier peux tu m'envoyer ton email en MP, plus facile par mail
pour s'echanger des fichiers, j'ai creer pas mal de fake project avec des erreurs volontaires