< prev index next >
src/java.base/share/classes/java/lang/invoke/MemberName.java
Print this page
*** 23,32 ****
--- 23,34 ----
* questions.
*/
package java.lang.invoke;
+ import jdk.internal.misc.JavaLangInvokeAccess;
+ import jdk.internal.misc.SharedSecrets;
import sun.invoke.util.BytecodeDescriptor;
import sun.invoke.util.VerifyAccess;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
*** 1141,1157 ****
return buf;
}
}
static {
! // Allow privileged classes outside of java.lang
! jdk.internal.misc.SharedSecrets.setJavaLangInvokeAccess(new jdk.internal.misc.JavaLangInvokeAccess() {
public Object newMemberName() {
return new MemberName();
}
public String getName(Object mname) {
MemberName memberName = (MemberName)mname;
return memberName.getName();
}
});
}
}
--- 1143,1169 ----
return buf;
}
}
static {
! // StackFrameInfo stores Member and this provides the shared secrets
! // for stack walker to access MemberName information.
! SharedSecrets.setJavaLangInvokeAccess(new JavaLangInvokeAccess() {
! @Override
public Object newMemberName() {
return new MemberName();
}
+
+ @Override
public String getName(Object mname) {
MemberName memberName = (MemberName)mname;
return memberName.getName();
}
+
+ @Override
+ public boolean isNative(Object mname) {
+ MemberName memberName = (MemberName)mname;
+ return memberName.isNative();
+ }
});
}
}
< prev index next >