8010017: lambda: reflection get(Declared)Methods support for default methods.

Wed, 20 Mar 2013 11:43:56 -0400

author
acorn
date
Wed, 20 Mar 2013 11:43:56 -0400
changeset 4805
2c7663baeb67
parent 4803
a649f6511c04
child 4806
79259e97a072

8010017: lambda: reflection get(Declared)Methods support for default methods.
Summary: Don't expose vm generated overpass (bridges to default methods).
Reviewed-by: dholmes, fparain

src/share/vm/prims/jvm.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/prims/jvm.cpp	Wed Mar 20 08:17:55 2013 +0100
     1.2 +++ b/src/share/vm/prims/jvm.cpp	Wed Mar 20 11:43:56 2013 -0400
     1.3 @@ -1722,7 +1722,7 @@
     1.4    int i;
     1.5    for (i = 0; i < methods_length; i++) {
     1.6      methodHandle method(THREAD, methods->at(i));
     1.7 -    if (!method->is_initializer()) {
     1.8 +    if (!method->is_initializer() && !method->is_overpass()) {
     1.9        if (!publicOnly || method->is_public()) {
    1.10          ++num_methods;
    1.11        }
    1.12 @@ -1736,7 +1736,7 @@
    1.13    int out_idx = 0;
    1.14    for (i = 0; i < methods_length; i++) {
    1.15      methodHandle method(THREAD, methods->at(i));
    1.16 -    if (!method->is_initializer()) {
    1.17 +    if (!method->is_initializer() && !method->is_overpass()) {
    1.18        if (!publicOnly || method->is_public()) {
    1.19          oop m = Reflection::new_method(method, UseNewReflection, false, CHECK_NULL);
    1.20          result->obj_at_put(out_idx, m);

mercurial