Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter a l'utilisateur le profil des methodes et champs d'une
classe specifiee. Dans la classe java.lang.reflect.Method il y a bien
moyen d'obtenir la liste des type des arguments d'une methode, mais je
ne vois rien pour avoir les noms des arguments. Est-ce que cette
information est stockee dans le fichier .class apres compilation ? Si
non, y-at'il moyen de l'y inclure par une option speciale ? et comment
y acceder ?
Merci,
Vincent
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter a l'utilisateur le profil des methodes et champs d'une
classe specifiee. Dans la classe java.lang.reflect.Method il y a bien
moyen d'obtenir la liste des type des arguments d'une methode, mais je
ne vois rien pour avoir les noms des arguments. Est-ce que cette
information est stockee dans le fichier .class apres compilation ? Si
non, y-at'il moyen de l'y inclure par une option speciale ? et comment
y acceder ?
Merci,
Vincent
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter a l'utilisateur le profil des methodes et champs d'une
classe specifiee. Dans la classe java.lang.reflect.Method il y a bien
moyen d'obtenir la liste des type des arguments d'une methode, mais je
ne vois rien pour avoir les noms des arguments. Est-ce que cette
information est stockee dans le fichier .class apres compilation ? Si
non, y-at'il moyen de l'y inclure par une option speciale ? et comment
y acceder ?
Merci,
Vincent
Dans la classe java.lang.reflect.Method il y a bien
moyen d'obtenir la liste des type des arguments d'une methode, mais je
ne vois rien pour avoir les noms des arguments. Est-ce que cette
information est stockee dans le fichier .class apres compilation ? Si
non, y-at'il moyen de l'y inclure par une option speciale ? et comment
y acceder ?
Amha, et je ne suis pas spécialiste,
le langage se fout des noms des arguments, donc, il ne va pas les conserver
(souci d'optimisation) a part pour les différencier, mais là, à mon avis,
ils les renomment de facon incompréhensible à nos yeux...
Dans la classe java.lang.reflect.Method il y a bien
moyen d'obtenir la liste des type des arguments d'une methode, mais je
ne vois rien pour avoir les noms des arguments. Est-ce que cette
information est stockee dans le fichier .class apres compilation ? Si
non, y-at'il moyen de l'y inclure par une option speciale ? et comment
y acceder ?
Amha, et je ne suis pas spécialiste,
le langage se fout des noms des arguments, donc, il ne va pas les conserver
(souci d'optimisation) a part pour les différencier, mais là, à mon avis,
ils les renomment de facon incompréhensible à nos yeux...
Dans la classe java.lang.reflect.Method il y a bien
moyen d'obtenir la liste des type des arguments d'une methode, mais je
ne vois rien pour avoir les noms des arguments. Est-ce que cette
information est stockee dans le fichier .class apres compilation ? Si
non, y-at'il moyen de l'y inclure par une option speciale ? et comment
y acceder ?
Amha, et je ne suis pas spécialiste,
le langage se fout des noms des arguments, donc, il ne va pas les conserver
(souci d'optimisation) a part pour les différencier, mais là, à mon avis,
ils les renomment de facon incompréhensible à nos yeux...
Amha, et je ne suis pas spécialiste,
le langage se fout des noms des arguments, donc, il ne va pas les
conserver (souci d'optimisation) a part pour les différencier, mais
là, à mon avis, ils les renomment de facon incompréhensible à nos
yeux...
Je dirais que quelquepart les noms des champs sont conserves, selon le
mode de compilation. Par defaut d'ailleurs, cela doit etre le cas. En
effet, si je prend un simple decompiler (sur sourceforge, il y en a
quelques-uns) il me decompile mes classes et donne les bons noms pour
les parametres. Par contre, je ne suis pas sur que par Reflection ca
se fasse. Les decompilers (decompilateur, en FR, qui decompilatent :))
lisent le bytecode pour re-generer les sources, et rarement la
reflection. Maintenant, je ne sais pas exactement comment c'est fait,
mais il y a des sites qui doivent expliquer comment interpreter
(traduire) le bytecode en code source. J'ai cru comprendre qu'un set
de valeurs hexadecimales dans le bytecode a une signification unique
(selon comment c'est lu) et donc par mapping on peut traduire.
Amha, et je ne suis pas spécialiste,
le langage se fout des noms des arguments, donc, il ne va pas les
conserver (souci d'optimisation) a part pour les différencier, mais
là, à mon avis, ils les renomment de facon incompréhensible à nos
yeux...
Je dirais que quelquepart les noms des champs sont conserves, selon le
mode de compilation. Par defaut d'ailleurs, cela doit etre le cas. En
effet, si je prend un simple decompiler (sur sourceforge, il y en a
quelques-uns) il me decompile mes classes et donne les bons noms pour
les parametres. Par contre, je ne suis pas sur que par Reflection ca
se fasse. Les decompilers (decompilateur, en FR, qui decompilatent :))
lisent le bytecode pour re-generer les sources, et rarement la
reflection. Maintenant, je ne sais pas exactement comment c'est fait,
mais il y a des sites qui doivent expliquer comment interpreter
(traduire) le bytecode en code source. J'ai cru comprendre qu'un set
de valeurs hexadecimales dans le bytecode a une signification unique
(selon comment c'est lu) et donc par mapping on peut traduire.
Amha, et je ne suis pas spécialiste,
le langage se fout des noms des arguments, donc, il ne va pas les
conserver (souci d'optimisation) a part pour les différencier, mais
là, à mon avis, ils les renomment de facon incompréhensible à nos
yeux...
Je dirais que quelquepart les noms des champs sont conserves, selon le
mode de compilation. Par defaut d'ailleurs, cela doit etre le cas. En
effet, si je prend un simple decompiler (sur sourceforge, il y en a
quelques-uns) il me decompile mes classes et donne les bons noms pour
les parametres. Par contre, je ne suis pas sur que par Reflection ca
se fasse. Les decompilers (decompilateur, en FR, qui decompilatent :))
lisent le bytecode pour re-generer les sources, et rarement la
reflection. Maintenant, je ne sais pas exactement comment c'est fait,
mais il y a des sites qui doivent expliquer comment interpreter
(traduire) le bytecode en code source. J'ai cru comprendre qu'un set
de valeurs hexadecimales dans le bytecode a une signification unique
(selon comment c'est lu) et donc par mapping on peut traduire.
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ?
Dans le .class, non
et comment y acceder ?
Merci,
Vincent
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ?
Dans le .class, non
et comment y acceder ?
Merci,
Vincent
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ?
Dans le .class, non
et comment y acceder ?
Merci,
Vincent
Vincent Cantin wrote:Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la
liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le
fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ?
Dans le .class, non
L'inclure avec une option de javac, non
Peu etre en ecrivant ton propre compiler, mais je connais assez le
format des fichiers class pour savoir si l'information ajoutable.et comment y acceder ?
Demande le source
Merci,
Vincent
Vincent Cantin wrote:
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la
liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le
fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ?
Dans le .class, non
L'inclure avec une option de javac, non
Peu etre en ecrivant ton propre compiler, mais je connais assez le
format des fichiers class pour savoir si l'information ajoutable.
et comment y acceder ?
Demande le source
Merci,
Vincent
Vincent Cantin wrote:Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la
liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le
fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ?
Dans le .class, non
L'inclure avec une option de javac, non
Peu etre en ecrivant ton propre compiler, mais je connais assez le
format des fichiers class pour savoir si l'information ajoutable.et comment y acceder ?
Demande le source
Merci,
Vincent
Le nom des paramètres est conservé lorsqu'on compile en mode debug (-g).
Par contre ce n'est pas accessible par réflexion "simple".
Pour s'en persuader il suffit d'essayer un décompilateur tel que Jad ou
DJ Java Decompiler, on a bien les méthodes avec le nom des arguments.
Axis (client et serveur SOAP) se sert de cette possibilité pour
récupérer les noms des paramètres (à condition de compiler la classe en
mode debug)
Voir
http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/bytecode/
CédricVincent Cantin wrote:Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir
la liste
des type des arguments d'une methode, mais je ne vois rien pour avoir
les
noms des arguments. Est-ce que cette information est stockee dans le
fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ?
Dans le .class, non
L'inclure avec une option de javac, non
Peu etre en ecrivant ton propre compiler, mais je connais assez le
format des fichiers class pour savoir si l'information ajoutable.et comment y acceder ?
Demande le source
Merci,
Vincent
Le nom des paramètres est conservé lorsqu'on compile en mode debug (-g).
Par contre ce n'est pas accessible par réflexion "simple".
Pour s'en persuader il suffit d'essayer un décompilateur tel que Jad ou
DJ Java Decompiler, on a bien les méthodes avec le nom des arguments.
Axis (client et serveur SOAP) se sert de cette possibilité pour
récupérer les noms des paramètres (à condition de compiler la classe en
mode debug)
Voir
http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/bytecode/
Cédric
Vincent Cantin wrote:
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir
la liste
des type des arguments d'une methode, mais je ne vois rien pour avoir
les
noms des arguments. Est-ce que cette information est stockee dans le
fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ?
Dans le .class, non
L'inclure avec une option de javac, non
Peu etre en ecrivant ton propre compiler, mais je connais assez le
format des fichiers class pour savoir si l'information ajoutable.
et comment y acceder ?
Demande le source
Merci,
Vincent
Le nom des paramètres est conservé lorsqu'on compile en mode debug (-g).
Par contre ce n'est pas accessible par réflexion "simple".
Pour s'en persuader il suffit d'essayer un décompilateur tel que Jad ou
DJ Java Decompiler, on a bien les méthodes avec le nom des arguments.
Axis (client et serveur SOAP) se sert de cette possibilité pour
récupérer les noms des paramètres (à condition de compiler la classe en
mode debug)
Voir
http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/bytecode/
CédricVincent Cantin wrote:Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir
la liste
des type des arguments d'une methode, mais je ne vois rien pour avoir
les
noms des arguments. Est-ce que cette information est stockee dans le
fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ?
Dans le .class, non
L'inclure avec une option de javac, non
Peu etre en ecrivant ton propre compiler, mais je connais assez le
format des fichiers class pour savoir si l'information ajoutable.et comment y acceder ?
Demande le source
Merci,
Vincent
Le nom des paramètres est conservé lorsqu'on compile en mode debug (-g).
Par contre ce n'est pas accessible par réflexion "simple".
Pour s'en persuader il suffit d'essayer un décompilateur tel que Jad ou
DJ Java Decompiler, on a bien les méthodes avec le nom des arguments.
Axis (client et serveur SOAP) se sert de cette possibilité pour
récupérer les noms des paramètres (à condition de compiler la classe en
mode debug)
Voir
http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/bytecode/
Le nom des paramètres est conservé lorsqu'on compile en mode debug (-g).
Par contre ce n'est pas accessible par réflexion "simple".
Pour s'en persuader il suffit d'essayer un décompilateur tel que Jad ou
DJ Java Decompiler, on a bien les méthodes avec le nom des arguments.
Axis (client et serveur SOAP) se sert de cette possibilité pour
récupérer les noms des paramètres (à condition de compiler la classe en
mode debug)
Voir
http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/bytecode/
Le nom des paramètres est conservé lorsqu'on compile en mode debug (-g).
Par contre ce n'est pas accessible par réflexion "simple".
Pour s'en persuader il suffit d'essayer un décompilateur tel que Jad ou
DJ Java Decompiler, on a bien les méthodes avec le nom des arguments.
Axis (client et serveur SOAP) se sert de cette possibilité pour
récupérer les noms des paramètres (à condition de compiler la classe en
mode debug)
Voir
http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/bytecode/
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ? et comment y acceder ?
Merci,
Vincent
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ? et comment y acceder ?
Merci,
Vincent
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ? et comment y acceder ?
Merci,
Vincent
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la
liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le
fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ? et comment y acceder ?
Merci,
Vincent
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la
liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le
fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ? et comment y acceder ?
Merci,
Vincent
Bonjour,
Je suis en train d'ecrire un outil qui utilise la reflection pour
presenter
a l'utilisateur le profil des methodes et champs d'une classe specifiee.
Dans la classe java.lang.reflect.Method il y a bien moyen d'obtenir la
liste
des type des arguments d'une methode, mais je ne vois rien pour avoir les
noms des arguments. Est-ce que cette information est stockee dans le
fichier
.class apres compilation ? Si non, y-at'il moyen de l'y inclure par une
option speciale ? et comment y acceder ?
Merci,
Vincent
Le nom des paramètres est conservé lorsqu'on compile en mode debug (-g).
Par contre ce n'est pas accessible par réflexion "simple".
Pour s'en persuader il suffit d'essayer un décompilateur tel que Jad ou
DJ Java Decompiler, on a bien les méthodes avec le nom des arguments.
Axis (client et serveur SOAP) se sert de cette possibilité pour
récupérer les noms des paramètres (à condition de compiler la classe en
mode debug)
Voir
http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/bytecode/
Merci beaucoup pour l'info, apparemment la classe qui m'interesse serait
"ParamNameExtractor". Je vais y jeter un coup d'oeil plus approfondi plus
tard, quand recuperer le nom des parametres sera en haut de ma liste de
priorite (peut-etre dans un mois le temps de finir le reste >_<).
C'est quand meme dommage que la Java Team n'ait rien prevu pour ca dans leur
API : il permettent de laisser cette info dans les .class mais on ne peut
pas y acceder :-(
Vincent
Le nom des paramètres est conservé lorsqu'on compile en mode debug (-g).
Par contre ce n'est pas accessible par réflexion "simple".
Pour s'en persuader il suffit d'essayer un décompilateur tel que Jad ou
DJ Java Decompiler, on a bien les méthodes avec le nom des arguments.
Axis (client et serveur SOAP) se sert de cette possibilité pour
récupérer les noms des paramètres (à condition de compiler la classe en
mode debug)
Voir
http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/bytecode/
Merci beaucoup pour l'info, apparemment la classe qui m'interesse serait
"ParamNameExtractor". Je vais y jeter un coup d'oeil plus approfondi plus
tard, quand recuperer le nom des parametres sera en haut de ma liste de
priorite (peut-etre dans un mois le temps de finir le reste >_<).
C'est quand meme dommage que la Java Team n'ait rien prevu pour ca dans leur
API : il permettent de laisser cette info dans les .class mais on ne peut
pas y acceder :-(
Vincent
Le nom des paramètres est conservé lorsqu'on compile en mode debug (-g).
Par contre ce n'est pas accessible par réflexion "simple".
Pour s'en persuader il suffit d'essayer un décompilateur tel que Jad ou
DJ Java Decompiler, on a bien les méthodes avec le nom des arguments.
Axis (client et serveur SOAP) se sert de cette possibilité pour
récupérer les noms des paramètres (à condition de compiler la classe en
mode debug)
Voir
http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/utils/bytecode/
Merci beaucoup pour l'info, apparemment la classe qui m'interesse serait
"ParamNameExtractor". Je vais y jeter un coup d'oeil plus approfondi plus
tard, quand recuperer le nom des parametres sera en haut de ma liste de
priorite (peut-etre dans un mois le temps de finir le reste >_<).
C'est quand meme dommage que la Java Team n'ait rien prevu pour ca dans leur
API : il permettent de laisser cette info dans les .class mais on ne peut
pas y acceder :-(
Vincent