Commit 20b60fed authored by Carlos Galindo's avatar Carlos Galindo
Browse files

remove unrelated comments from test case

parent f8b7a13a
Loading
Loading
Loading
Loading
Loading
+0 −43
Original line number Diff line number Diff line
@@ -44,46 +44,3 @@ class B extends A{
	void noModificaxA() {System.out.println("useless");}
	void siModificaxA(int v) {super.siModificaxA(v);}
}

// 1. :D Definir this como -output- al final de los constructores.
// 2. Hay que copiar el arbol al usar un Movable para generar un nodo.
// 3. Hay que utilizar el arbol para generar el arbol de nodos correspondiente
// 4. En las llamadas a super que se resuelven a Object.super(), hay que definir 'this'.
// Por tanto todos los constructores empezaran [in]directamente por una definciion de this,
// y 'this' nunca se buscara en Interprocedural*Finder


// PARA RESOLVER problemas con this
/*
2. Cada vez que se define/usa un miembro, se realiza la misma accion para todos
los padres en el arbol (use(a.x) es tambien use(a)): podemos utilizar el arbol de ayer
3. siempre conectemos una actual/formal a un uso/def tenemos que copiar el arbol
(en actual cambiando el nombre de la raiz -- cambiar raiz y todos sus arcos).
 */
/*
Interprocedural*Finder: cuando se define this en un constructor hay qeu pasarlo de vuelta
a) es una creacion de obj normal: se traduce como retorno de la llamada.
b) es una creacion de obj con super()/this(): se traduce a 'this': se copia el arbol
 */
/*
cuando super() defina x, y, z, la salida DEF(this) que contendra las variables definidas.
buscara un DEC(this) y lo encontrara justo antes (INTRA)
el DEF(this) servira como elemento INTRA para enlazar el resto de statements del constr.
 */

/*
Preservar el orden de acciones al usar arboles:
Cuando se encuentra una accion repetida (e.g. USE(a.x), DEF(a.x), **USE(a.x)**),
tenemos que quitar del Factory la accion vieja (el primer USE(a.x), que sea un USE(a)
y contendra en su arbol (a.x)).

Ejemplo:
print(a.x++ + a.x); USE(a.x), DEF(a.x), USE(a.x)
Y despues de la visita se tratan las definiciones, pasando a ser:
USE(a.x), USE(a), DEF(a.x), DEF(a), USE(a.x), USE(a)
Modificamos el Interprocedural*Finder para solo tratar los elementos raiz.
Incluso podemos incluir una referencia al hijo en el raiz (USE(a) contiene USE(a.x))

Problema:
print(a.y++ + a.x + a.x++):
 */
 No newline at end of file