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