Hola,
Dado un proyecto gambas del disco local. y dada una clase de este proyecto, por ejemplo
MyForm.class:
¿Hay algún algoritmo que analice el contenido?
Deseo obtener:
- Lista de todas las variables globales, nombre, tipo, valor inicial (si esta declarado)
- Lista de todos los métodos, nombre, tipo, acceso, variables de entrada y variables de retorno .
- Lista de todas las variables públicas de otras clases o módulos a los que MyForm.class accede.
- Lista de todas los métodos públicos de otras clases o módulos a los que MyForm.class accede.
La idea detrás de todo esto es poder copiar un formulario de un proyecto y todo lo que este necesite para funcionar y nada mas.
Es decir si existe la clase auxiliar
Claculator.class y en dicha clase hay dos métodos, Square() y Plus() pero
MyForm.class usa solo Plus() una que sea copiado solo Plus() en el archivo y si, además, Plus() usa un método de otra/ clase/s entonces tambien hay que copiarlos.
Por ejemplo Gamabs IDE puede ordenar las clases en el treeview de acuerdo a su ubicación en el sistema de archivos o de acuerdo a su herencia. Para hacer este tipo de cosas debe haber algún algoritmo que analiza cada archivo de código.
Dejo un proyecto para hacer el experimento, donde este tiene varias clases, módulos y formularios.
Experimento: Hacer un algoritmo lo mas simple posible que genere una copia del proyecto pero solo incluir el formulario FMain.for,/FMain.class y todo lo que este relacionado recursivamente.
Esquema:
Buen fin de semana