rt/emul/compact/src/main/java/java/lang/invoke/MethodHandleNatives.java
branchjdk8
changeset 1671 c1732e50ebe7
parent 1670 b913b6b415a0
     1.1 --- a/rt/emul/compact/src/main/java/java/lang/invoke/MethodHandleNatives.java	Tue Aug 12 21:07:20 2014 +0200
     1.2 +++ b/rt/emul/compact/src/main/java/java/lang/invoke/MethodHandleNatives.java	Tue Aug 12 22:57:16 2014 +0200
     1.3 @@ -47,7 +47,16 @@
     1.4      /// MemberName support
     1.5  
     1.6      static void init(MemberName self, Object ref) {
     1.7 -        self.clazz = ((Member)ref).getDeclaringClass();
     1.8 +        final Member mem = (Member)ref;
     1.9 +        self.clazz = mem.getDeclaringClass();
    1.10 +        int mod = mem.getModifiers();
    1.11 +        if (ref instanceof Method) {
    1.12 +            mod  |= MemberName.IS_METHOD;
    1.13 +        }
    1.14 +        if (ref instanceof Constructor) {
    1.15 +            mod  |= MemberName.IS_CONSTRUCTOR;
    1.16 +        }
    1.17 +        self.flags = mod;
    1.18      }
    1.19      
    1.20      static void expand(MemberName self) {
    1.21 @@ -73,13 +82,13 @@
    1.22              MemberName mn = new MemberName(m);
    1.23              results[skip++] = mn;
    1.24          }
    1.25 -        for (Field m : defc.getFields()) {
    1.26 -            if (skip == results.length) {
    1.27 -                break;
    1.28 -            }
    1.29 -            MemberName mn = new MemberName(m);
    1.30 -            results[skip++] = mn;
    1.31 -        }
    1.32 +//        for (Field m : defc.getFields()) {
    1.33 +//            if (skip == results.length) {
    1.34 +//                break;
    1.35 +//            }
    1.36 +//            MemberName mn = new MemberName(m);
    1.37 +//            results[skip++] = mn;
    1.38 +//        }
    1.39          return skip - orig;
    1.40      }
    1.41