Ciao c'è un modo per conoscere il nome della classe chiamante di una funzione, in particolare per un'applicazione Java-GWT?Come conoscere la classe chiamante di una funzione
risposta
Thread.currentThread
non è supportata in GWT (si ricordi che il codice Java viene compilato a JavaScript), quindi questo è un possibile duplicato di:
How do you find out the caller function in JavaScript?
In GWT devi semplicemente scrivere un wrapper JSNI:
public static native void whosMyCaller() /*-{
$wnd.alert(arguments.callee.caller.toString());
}-*/;
non è davvero possibile in GWT, poiché nel codice modalità di produzione è fortemente ottimizzato in-rivestimento e la rimozione del codice irraggiungibile. Per esempio. in modalità compilata la maggior parte delle funzioni non appartiene a nessuna classe, poiché GWT considera la definizione di classe ridondante. In teoria è possibile trovare la classe del chiamante (se si tenta di analizzare il report di compilazione o se tramite JSNI), ma a causa dell'ottimizzazione in-lining si otterranno molti risultati strani (ad esempio anche se la funzione è chiamata solo in alcuni classe specifica, in modalità compilata potresti trovare che è chiamata direttamente dal metodo entry point onLoad)
In bytecode è possibile? – xybrek
Hai un java normale? è possibile tramite Thread.currentThread(). getStackTrace() come dicevano gli altri. In DevMode anche questo potrebbe essere possibile, ma non sono sicuro che la classe Thread sia permessa in DevMode. Potresti provare a creare un Exceptino e analizzare il suo stacktrace. – jusio
- 1. Come possiamo conoscere il nome della funzione del chiamante?
- 2. removeEventListener senza conoscere la funzione
- 3. Prototipo: come conoscere la versione prototype.js utilizzando una funzione js?
- 4. C++ chiamante funzione universale
- 5. Come ottenere il chiamante della funzione
- 6. Come conoscere la dimensione di una variabile in MATLAB
- 7. Conoscere il numero di parametri di una funzione passata (erlang)
- 8. C++ come definire una funzione senza conoscere i parametri esatti
- 9. Come funziona la compilazione di una classe?
- 10. C++: funzione membro chiamante tramite puntatore
- 11. La classe ha una funzione virtuale? C++
- 12. Come conoscere la versione di pip stessa
- 13. Eliminazione oggetto chiamante in modo sicuro all'interno di una funzione di callback segmento
- 14. Ottieni la costante __FILE__ per il chiamante di una funzione in PHP
- 15. jQuery getJSON - Valore restituito alla funzione chiamante
- 16. Java: come ottenere il nome della funzione del chiamante
- 17. Calcolo dell'area sotto una curva dato un insieme di coordinate, senza conoscere la funzione
- 18. Come ottenere il nome della classe chiamante in Java?
- 19. Come ottenere il nome della classe chiamante (in PHP)
- 20. È possibile sostituire una funzione all'interno di una classe PHP?
- 21. Impossibile chiamare una classe come funzione
- 22. Come conoscere la dimensione di un array const?
- 23. Come tornare dall'intento chiamante
- 24. chiamante di Perl() funzione che restituisce riga errata numero
- 25. Variabili di accesso della funzione chiamante in Python
- 26. Sovraccarico di una funzione di super classe
- 27. funzione usort in una classe
- 28. Come ottenere la lunghezza di una funzione in byte?
- 29. errore "Un modello che contiene una funzione di classe deve terminare con una funzione di classe"
- 30. C++ dichiara una matrice di matrici senza conoscere la dimensione
possibile duplicato di [Java: Trova classe chiamante] (http://stackoverflow.com/questions/2887607/java-find- call-class) –
Reflection e API correlate non vengono emulate da GWT. Devi trovare un altro modo per realizzare ciò che vuoi. – Strelok