Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Analizando clases - Experimento
#1
Bug 

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:
[Imagen: MCTxJJT.jpg]
Buen fin de semana Big Grin


Archivos adjuntos
.gz sample-class-parsing-0.0.1.tar.gz Tamaño: 12.01 KB  Descargas: 4

1 Saludo.
[-] Los siguientes 1 usuarios dice gracias a tincho por este post:
  • Grandamakulo
    ¡Gracias!
#2

Quizá esto te ayude. Con FMain exploras las clases de gambas, con Form1 exploras las del proyecto. No debe ser difícil adaptarlo a lo que pides.

Saludos


Archivos adjuntos
.gz ExploraClases-0.0.1.tar.gz Tamaño: 13.03 KB  Descargas: 5

No podemos regresar
[-] Los siguientes 1 usuarios dice gracias a Shordi por este post:
  • tincho
    ¡Gracias!
#3

(25-03-2023, 10:36)Shordi escribió:  Quizá esto te ayude. Con FMain exploras las clases de gambas, con Form1 exploras las del proyecto. No debe ser difícil adaptarlo a lo que pides.

Eche un vistazo a tu programa pero no es lo que busco, ya que deseo analizar los archivos de código fuente de proyectos completamente separados.
Pero de todas maneras gracias por el aporte.

1 Saludo.
    ¡Gracias!
#4

Agregue un esquema en el primer mensaje para esclarecer la información a gestionar.

1 Saludo.
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)