This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
yet another wrong compilation
- From: Vladimir Tsichevski <wowa at jet dot msk dot su>
- To: kawa at sources dot redhat dot com
- Date: Fri, 21 Mar 2003 14:48:56 +0300
- Subject: yet another wrong compilation
Hi,
kawa compiles the following function from bug.scm scheme file:
===============================================
(define (my-func self path)
(object
()
((getChildren)
(my-func (this) path)
)
((getChildAt)
(getChildren))
))
===============================================
to three classes: `bug', `bug$frame' and `bug$object'
This is how the `bug$frame' class looks like:
===============================================
public class bug$frame extends ModuleBody
{
Object path;
}
===============================================
and this is the `bug$object':
===============================================
public class bug$object
{
bug$frame this$0;
public bug$object getChildren() {
return bug.myFunc(this, this.this$0.path);
}
public bug$object getChildAt() {
return (/*ERROR!!!*/this.this$0.getChildren();
}
public bug$object(bug$frame var_frame) {
((bug$object) this).this$0 = var_frame;
}
}
===============================================
as you may see the getChildren() method was applied to wrong object:
this.this$0 (should be just `this').
Regards,
Vladimir