uio-jpt / pt-compiler

5 stars 0 forks source link

tsuper-konstruktører blir ikke kalt fra en klasse med subklasser #20

Closed eyvindwa closed 12 years ago

eyvindwa commented 12 years ago

Gitt følgende eksempel

template T {
    class A {
        public String title;

        public A(String title) { 
            this.title = title;
        }
    }

    class B extends A { }
}

package P {
    T: inst T;
    class A adds {

        public A(String title) {        
            tsuper[T:](title);
        }
    }

    class B adds {
         public B(String title) {
            super(title);
         }
    }
}

Så produserer kompilatoren følgende output for klassen A:

class A {
    public A(String title) {
      super();
    }
    public String title;
    public void $$GS$1$GS$$TA(String title) {
      this.title = title;
    }
}

Legg merke til at metoden "$$GS$1$GS$$TA" aldri blir kalt.

svk commented 12 years ago

Skal være fikset i 29743f4. Dette var en rimelig vesentlig bug i koden for den "nye" (~ fire måneder gamle) klammespesifikasjonssyntaksen, introdusert i d4902724.