IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Les appelants d'une méthodes


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Par défaut Les appelants d'une méthodes
    Bonjour,

    J'aimerais trouver tous les appelants de chaque méthode dans un projet Java. J'ai trouvé un code sur net et c'est exactement ce que je veux faire mais il me génère une erreur et je n'arrive pas à en trouver la cause
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public HashSet<IMethod> getCallersOf(IMethod m) {
     
        CallHierarchy callHierarchy = CallHierarchy.getDefault();
     
        IMember[] members = {m};
     
        MethodWrapper[] methodWrappers = callHierarchy.getCallerRoots(members);
        HashSet<IMethod> callers = new HashSet<IMethod>();
        for (MethodWrapper mw : methodWrappers) {
            MethodWrapper[] mw2 = mw.getCalls(new NullProgressMonitor());
            HashSet<IMethod> temp = getIMethods(mw2);
            callers.addAll(temp);    
        }
        return callers;
    }
    Pour tester :
    "met" est une liste contenant toutes les méthodes du projet à analyser ( public static List<Method> met ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (int i = 0; i < met.size(); i++)
        HashSet<Method> calls = TestingCalls.getCallersOf(met.get(i));
    et voici l'erreur :
    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    callHierarchy cannot be resolved to a type
    IMethod cannot be resolved to a type
    Quelqu'un saurait-il m'indiquer d'où vient le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Je ne sais pas quel est le bût de ton programme. Mais si une visualisation basique te suffit, il t'est possible d'avoir la "Call Hierachy" dans un IDE Eclipse. Juste par un clique droit sur la méthode > "Open Call Hierachy" ou Ctrl+Alt+H

    D'ailleurs "IMethod" est une classe de l'API eclipse.

    Sinon pour pouvoir t'aider, il faudrait un classe exécutable (avec les imports) qui reproduite le problème.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Membre expérimenté Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Par défaut
    Tout simplement, à vue de tes erreurs, tu devrais trouver des réponses simples sur internet qui te disent un truc du genre "tu ne peux pas créer un objet CallHierarchy (CallHierarchy callHierarchy = CallHierarchy.getDefault(); pas possible)" et de même pour IMethod.
    Je vois éventuellement un problème : tu n'as pas importer la classe (il faut sûrement que tu télécharge je ne sais quelle librairie, faudra chercher) qui ne fait pas parti des classes fournies par défaut (au même titre que de nombreuses autres classes parfois très utiles).

    Bon courage !

  4. #4
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    N'hésite pas à re-poster sur le sujet. J'ai vue plusieurs sujets sur web parlant de ce problème, mais aucun avec une solution.
    Si tu nous donne plus de piste, on peut y arriver !

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  5. #5
    Membre expérimenté Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Par défaut
    J'ai cherché aussi du coup un peu sur le sujet puisque même si je n'en ai pas besoin, je découvre le problème et je trouve la "chose" assez intéressante.

    Cela dit, je n'ai pas beaucoup de pistes car même ce fameux objet j'ai du mal à trouver des posts y faisant référence ! Alors je suis intéressé pour travailler sur la question si vous avez des débuts de piste, des tutos qui évoquent le problème, etc...

Discussions similaires

  1. Rechercher les occurrences d'appel d'une méthode
    Par celesaored dans le forum Eclipse
    Réponses: 1
    Dernier message: 02/08/2012, 13h52
  2. Réponses: 10
    Dernier message: 10/12/2006, 16h26
  3. Réponses: 2
    Dernier message: 06/12/2005, 09h41
  4. Réponses: 6
    Dernier message: 27/05/2005, 15h43
  5. Comment connaitre l'appelant d'une méthode
    Par Alec6 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 12/07/2004, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo