From mboxrd@z Thu Jan 1 00:00:00 1970 From: patl@cpan.org To: gcc-gnats@gcc.gnu.org Subject: libgcj/4208: Problem using 'null' with Java reflection Date: Mon, 03 Sep 2001 08:46:00 -0000 Message-id: <20010903154450.12169.qmail@sourceware.cygnus.com> X-SW-Source: 2001-09/msg00038.html List-Id: >Number: 4208 >Category: libgcj >Synopsis: Problem using 'null' with Java reflection >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Sep 03 08:46:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Patrick LeBoutillier >Release: libgcj-3.0.1 >Organization: >Environment: Linux i386 Redhat 7.1 >Description: Calling methods with 'null' or setting members to 'null' via reflection throws IllegalArgumentException. Runs fine with Sun's JDK 1.2.2 >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/x-unknown-content-type-java_auto_file; name="gcj_test.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gcj_test.java" aW1wb3J0IGphdmEubGFuZy5yZWZsZWN0LiogOw0KDQoNCnB1YmxpYyBjbGFzcyBnY2pfdGVzdCB7 DQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncyl7DQoJCXRyeQl7DQoJCQlv YmogbyA9IG5ldyBvYmooKSA7DQoJCQlDbGFzcyBjID0gQ2xhc3MuZm9yTmFtZSgib2JqIikgOw0K DQoJCQlNZXRob2QgbWV0aG9kc1tdID0gYy5nZXRNZXRob2RzKCkgOw0KCQkJRmllbGQgZmllbGRz W10gPSBjLmdldEZpZWxkcygpIDsNCgkJCU1ldGhvZCBtID0gbnVsbCA7DQoJCQlGaWVsZCBmID0g bnVsbCA7DQoJCQlmb3IgKGludCBpID0gMCA7IGkgPCBtZXRob2RzLmxlbmd0aCA7IGkrKyl7DQoJ CQkJaWYgKG1ldGhvZHNbaV0uZ2V0TmFtZSgpLmVxdWFscygiZiIpKXsNCgkJCQkJbSA9IG1ldGhv ZHNbaV0gOw0KCQkJCQlicmVhayA7DQoJCQkJfQ0KCQkJfQ0KCQkJZm9yIChpbnQgaSA9IDAgOyBp IDwgZmllbGRzLmxlbmd0aCA7IGkrKyl7DQoJCQkJaWYgKGZpZWxkc1tpXS5nZXROYW1lKCkuZXF1 YWxzKCJzIikpew0KCQkJCQlmID0gZmllbGRzW2ldIDsNCgkJCQkJYnJlYWsgOw0KCQkJCX0NCgkJ CX0NCg0KDQoJCQlPYmplY3QgYVtdID0geyJ0ZXN0In0gOw0KCQkJbS5pbnZva2UobywgYSkgOw0K CQkJZi5zZXQobywgInRlc3QiKSA7DQoJCQlTeXN0ZW0ub3V0LnByaW50bG4oInMgc2V0IHRvICd0 ZXN0JyIpIDsNCgkJCVN5c3RlbS5vdXQucHJpbnRsbigicyA9ICIgKyAoU3RyaW5nKWYuZ2V0KG8p KSA7DQoJCQlhWzBdID0gbnVsbCA7DQoJCQltLmludm9rZShvLCBhKSA7DQoJCQlmLnNldChvLCBu dWxsKSA7DQoJCQlTeXN0ZW0ub3V0LnByaW50bG4oInMgc2V0IHRvIG51bGwiKSA7DQoJCQlTeXN0 ZW0ub3V0LnByaW50bG4oInMgPSAiICsgKFN0cmluZylmLmdldChvKSkgOw0KCQkJZi5nZXQobykg Ow0KCQl9DQoJCWNhdGNoIChFeGNlcHRpb24gZSl7DQoJCQlTeXN0ZW0uZXJyLnByaW50bG4oZS5n ZXRDbGFzcygpLmdldE5hbWUoKSArICI6ICIgKyBlLmdldE1lc3NhZ2UoKSkgOw0KCQkJU3lzdGVt LmV4aXQoMSkgOw0KCQl9DQoNCgkJU3lzdGVtLm91dC5wcmludGxuKCJEb25lIikgOw0KCX0NCn0N Cg0KDQpjbGFzcyBvYmogew0KCXB1YmxpYyBTdHJpbmcgcyA9IG51bGwgOw0KDQoJcHVibGljIHZv aWQgZihTdHJpbmcgcyl7DQoJCVN5c3RlbS5vdXQucHJpbnRsbigiZiBpbnZva2VkIHdpdGggcGFy YW0gIiArIHMpIDsNCgl9DQp9