Bug 1631576, Cannot anonymous subclass with arguments

"Tom Moore" <[email protected]> Tue, 25 Sep 2007 16:57:46 -0400
Newsgroups gmane.comp.java.beanshell.devel
Message-ID <[email protected]>
------=_Part_654_32742368.1190753866524
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

It looks like this is a dupe of bug #1627493.

The problem is that the generated code does not know how to call the
superclass constructor.  The default is to insert a default no-args
constructor, which is why this works in some situations and not
others.

I have made a hack/patch that fixes this behavior.  It basically
inserts a method that looks like a constructor and calls super with
the argument types specified in the allocator.  This is as localized
and non-intrusive as I could think to make it.  It seems to work.

Patch is as follows.

------=_Part_654_32742368.1190753866524
Content-Type: application/octet-stream; name="allocation.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="allocation.patch"
X-Attachment-Id: file0

KioqIENvcHkgb2YgQmVhblNoZWxsLTIuMGI1XHNyY1xic2hcQlNIQWxsb2NhdGlvbkV4cHJlc3Np
b24uamF2YQlTYXQgSnVuIDExIDIzOjE2OjQyIDIwMDUKLS0tIEJlYW5TaGVsbC0yLjBiNVxzcmNc
YnNoXEJTSEFsbG9jYXRpb25FeHByZXNzaW9uLmphdmEJVHVlIFNlcCAyNSAxMjo1MDoxNiAyMDA3
CioqKioqKioqKioqKioqKgoqKiogMzQsMzkgKioqKgotLS0gMzQsNDAgLS0tLQogIAogIHBhY2th
Z2UgYnNoOwogIAorIGltcG9ydCBqYXZhLmlvLlN0cmluZ1JlYWRlcjsKICBpbXBvcnQgamF2YS5s
YW5nLnJlZmxlY3QuQXJyYXk7CiAgaW1wb3J0IGphdmEubGFuZy5yZWZsZWN0Lkludm9jYXRpb25U
YXJnZXRFeGNlcHRpb247CiAgCioqKioqKioqKioqKioqKgoqKiogMTc5LDE4OCAqKioqCiAgCXsK
ICAJCS8vdGhyb3cgbmV3IEludGVycHJldGVyRXJyb3IoImNvbnN0cnVjdFdpdGhDbGFzc0JvZHkg
dW5pbXBsZW1lbnRlZCIpOwogIAohIAkJU3RyaW5nIG5hbWUgPSBjYWxsc3RhY2sudG9wKCkuZ2V0
TmFtZSgpICsgIiQiICsgKCsraW5uZXJDbGFzc0NvdW50KTsKICAJCU1vZGlmaWVycyBtb2RpZmll
cnMgPSBuZXcgTW9kaWZpZXJzKCk7CiAgCQltb2RpZmllcnMuYWRkTW9kaWZpZXIoIE1vZGlmaWVy
cy5DTEFTUywgInB1YmxpYyIgKTsKICAJCUNsYXNzIGNsYXM7CiAgCQl0cnkgewogIAkJCWNsYXMg
PSBDbGFzc0dlbmVyYXRvci5nZXRDbGFzc0dlbmVyYXRvcigpIC5nZW5lcmF0ZUNsYXNzKCAKICAJ
CQkJbmFtZSwgbW9kaWZpZXJzLCBudWxsLyppbnRlcmZhY2VzKi8sIHR5cGUvKnN1cGVyQ2xhc3Mq
LywKLS0tIDE4MCwyMTIgLS0tLQogIAl7CiAgCQkvL3Rocm93IG5ldyBJbnRlcnByZXRlckVycm9y
KCJjb25zdHJ1Y3RXaXRoQ2xhc3NCb2R5IHVuaW1wbGVtZW50ZWQiKTsKICAKISAJCVN0cmluZyBp
bm5lciA9ICJhbm9uIiArICgrK2lubmVyQ2xhc3NDb3VudCk7CiEgCQlTdHJpbmcgbmFtZSA9IGNh
bGxzdGFjay50b3AoKS5nZXROYW1lKCkgKyAiJCIgKyBpbm5lcjsKICAJCU1vZGlmaWVycyBtb2Rp
ZmllcnMgPSBuZXcgTW9kaWZpZXJzKCk7CiAgCQltb2RpZmllcnMuYWRkTW9kaWZpZXIoIE1vZGlm
aWVycy5DTEFTUywgInB1YmxpYyIgKTsKICAJCUNsYXNzIGNsYXM7CisgCisgCQkvLyBJZiB0aGUg
Y2xhc3Mgd2FzIGNyZWF0ZWQgd2l0aCBhcmd1bWVudHMgdGhlbiBhZGQgYSBjb25zdHJ1Y3RvciB0
aGF0IHNpbXBsZSBpbnZva2VzIHN1cGVyCisgCQlpZiAoYXJncy5sZW5ndGggPiAwKSB7CisgCQkg
ICBTdHJpbmcgZm9ybWFsID0gIiI7CisgCQkgICBTdHJpbmcgYXJnbmFtZXMgPSAiIjsKKyAJCSAg
IGZvciAoaW50IGk9MDsgaTxhcmdzLmxlbmd0aDsgaSsrKSB7CisgCQkgICAgICBpZiAoaT4wKSB7
CisgCQkJIGZvcm1hbCArPSAiLCAiOworIAkJCSBhcmduYW1lcyArPSAiLCAiOworIAkJICAgICAg
fQorIAkJICAgICAgU3RyaW5nIGFyZ25hbWUgPSBTdHJpbmcudmFsdWVPZigoY2hhcikgKDk3K2kp
KTsKKyAJCSAgICAgIGFyZ25hbWVzICs9IGFyZ25hbWU7CisgCQkgICAgICBmb3JtYWwgKz0gYXJn
c1tpXS5nZXRDbGFzcygpLmdldE5hbWUoKSsiICIrYXJnbmFtZTsKKyAJCSAgIH0KKyAJCSAgIFN0
cmluZyBjb21tYW5kID0gaW5uZXIrIigiK2Zvcm1hbCsiKSB7c3VwZXIoIithcmduYW1lcysiKTt9
IjsKKyAJCVBhcnNlciBwID0gbmV3IFBhcnNlcihuZXcgU3RyaW5nUmVhZGVyKGNvbW1hbmQpKTsK
KyAJCXAuTGluZSgpOworIAkJQlNITWV0aG9kRGVjbGFyYXRpb24gbm9kZSA9IChCU0hNZXRob2RE
ZWNsYXJhdGlvbikgcC5wb3BOb2RlKCk7CisgCQlub2RlLmV2YWwobmV3IENhbGxTdGFjaygpLCBu
ZXcgSW50ZXJwcmV0ZXIoKSk7CisgCQlibG9jay5qanRBZGRDaGlsZChub2RlLCBibG9jay5qanRH
ZXROdW1DaGlsZHJlbigpKTsKKyAJCX0KKyAKICAJCXRyeSB7CiAgCQkJY2xhcyA9IENsYXNzR2Vu
ZXJhdG9yLmdldENsYXNzR2VuZXJhdG9yKCkgLmdlbmVyYXRlQ2xhc3MoIAogIAkJCQluYW1lLCBt
b2RpZmllcnMsIG51bGwvKmludGVyZmFjZXMqLywgdHlwZS8qc3VwZXJDbGFzcyovLAo=
------=_Part_654_32742368.1190753866524
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
------=_Part_654_32742368.1190753866524
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Beanshell-developers mailing list
Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/beanshell-developers

------=_Part_654_32742368.1190753866524--