Pregunta

Tengo una interfaz gráfica de usuario con un cuadro de lista para mostrar la lista de los métodos de la clase. Puedo lograrlo mediante la reflexión. Pero puedo ver el código fuente en otra área de texto a seleccionar el nombre del método?

Yo sabía de descompiladores. pero yo no quiero ver el código fuente en su ventana.

Quiero utilizar algunos lib thirdparty de modo que pueda ver el código fuente de un método específico en mi propia interfaz gráfica de usuario.

Para sugerir si hay una API disponible para esto.

¿Fue útil?

Solución

Usted necesitará un decompilador de algún tipo, que se puede enlazar. No estoy seguro de que hay ninguna biblioteca, pero aquí hay un enlace a la JD Java Decompiler .

Recuerde que usted pierde nombres de variables y tal durante la compilación, por lo que si a descompilar el código fuente resultante puede ser menos legible.

Si usted tiene acceso a la fuente que podría vincularlo a los archivos de clase, y encontrar la fuente método elegido en los archivos de origen vinculados. Esto puede lograrse mediante un simple análisis sintáctico de una sola pasada de los archivos de origen.

Su mayor problema será determinar cuándo termina un método y una solución simple consiste en contar de { y } de y determinar cuando el { de la declaración de método está cerrado.

Otros consejos

Esta es una vieja pregunta, pero al ver como el paisaje decompilador ha cambiado significativamente en el último año, siento que vale la pena resucitar.

Procyon es un framework de código abierto que contiene, entre otras cosas, un descompilador de Java. Está escrito en Java y las API de descompilación se puede integrar en otra aplicación con bastante facilidad. De hecho, ya hay dos GUI front-end de terceros, incluyendo el SecureTeam Java Decompiler .

CFR no tiene el código fuente está disponible todavía, pero también es un excelente decompilador. También está escrito en Java, y aunque no he tratado de integrarlo con una aplicación existente, sin duda debe ser posible.

Una vez creado aplicación que incluye su propio visor de código fuente. Creo que es una buena alternativa a descompiladores, que puede venir con bastantes dependencias.

Yo estaba usando NetBeans tan empaquetar los archivos .java era tan fácil como cambiar una opción de filtro. Revisé las propiedades de Java para encontrar el archivo jar y escaneado que al igual que cualquier archivo zip de los archivos fuente de Java. Con este enfoque tiene una interfaz gráfica de usuario con JTreeTable poblada de archivos de código fuente y el código fuente JTextArea mostrando era trivial.

Creo que usted podría hacer lo mismo con la adición de un paso más - la fuente de recorte para contener sólo el método seleccionado. Creo que debería reducirse a analizador simple, que cuenta apertura y cierre de paréntesis.

Me voy de la respuesta anterior en caso de que lo necesite, pero JODE no se ha actualizado en mucho tiempo. Buscar alrededor, no puedo encontrar ninguna decompilador que es de código abierto o disponible en forma de biblioteca.

JODE puede ser justo lo que desea. El decompilador núcleo se libera como una biblioteca bajo la licencia GNU LGPL, por lo que puede integrarlo en su programa sin problemas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top