J'ai �crit une petite fonction introspective, un peu pour d�bugger, mais surtout pour m'exercer et par curiosit�

Elle affiche dans un simple alert la liste des param�tres pass�s � la fonction o� est plac� l'appel, ainsi que l'arbre des appels (callstack, pile d'appels, appelez �a comme vous voulez ^^).
Jusque l�, rien de tr�s original, mystique ou bizarre.
Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
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
 
// affichage de tous les paramètres passés à la fonction ( pour debuggage ) 
function all(arg)
{
	var mess = "------------------------------------------\n";
	mess    += "Liste des arguments passés à\nla fonction " + arguments.callee.caller.name + " :\n";
	mess    += "(sur " + arguments.callee.caller.length + " attendus)\n\n";
 
	for (var i = 0 ; i < arg.length ; i++)
	{
		mess += "argument numero " + (i + 1) + " : " + arg[i] + "\n";
	}
	mess = calltree() + "\n" + mess + "\n------------------------------------------\n";
	alert(mess);
}
function calltree()
{
	var mess = "------------------------------------------\n";
	mess    += "Arbre d'appels :\n\n";
	if (document.all)
		return mess + "(indisponible pour IE)";
 
	var root = arguments.callee.caller.caller;
	var t = new Array();
	while (root)
	{
		t.push(root.name);
		root = root.caller;
	}
	for (var i = (t.length - 1); i >= 0; i--)
	{
		for (var ii = 0; ii < ((t.length - 1) - i); ii++)
		{
			mess += "  ";
		}
		mess += "appel n°" + ((t.length) - i);
		if (i == (t.length - 1))
			mess += " (racine)";
		mess += " : " + t[i] + "\n";
	}
	return mess;
}
Pour l'utiliser il suffit de placer dans une fonction quelconque l'appel suivant :
Je l'ai test�e : elle marche tr�s bien. (edit : petit oubli : pas compl�tement sous IE pour le moment )
Par contre, je voudrais y ajouter une am�lioration sans y parvenir pour le moment :

---> voir ma question du titre : "Est-il possible de r�cup�rer les arguments muets d'une fonction ?"

Ce que je voudrais, c'est acc�der aux identificateurs utilis�s pour nommer les arguments dans la signature de la fonction.
Exemple, dans ce bout de code imaginaire :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
 
function afficher(nom, score)
{
   // ...
}
Je sais r�cup�rer le nom de la fonction, � savoir la cha�ne "afficher", mais comment r�cup�rer les chaines "nom", et "score" (attention nous sommes bien d'accord : je ne parle pas du nom "bebert" et du score "122" qui sont les valeurs pass�es ponctuellement � tel appel...)

Si quelqu'un a un d�but de piste, une id�e g�niale ou autre...
...en tout cas merci de m'avoir lu jusque ici ^^