選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

Code1.java 709B

123456789101112131415161718192021
  1. import java.lang.invoke.CallSite;
  2. import java.lang.invoke.ConstantCallSite;
  3. import java.lang.invoke.MethodHandle;
  4. import java.lang.invoke.MethodHandles;
  5. import java.lang.invoke.MethodType;
  6. public class Code1 {
  7. // Called via invokedynamic from a generated class
  8. private static void foo() {
  9. System.out.println("foo() is running");
  10. }
  11. public static CallSite bootstrap(MethodHandles.Lookup caller, String name, MethodType type) throws NoSuchMethodException, IllegalAccessException {
  12. MethodHandles.Lookup lookup = MethodHandles.lookup();
  13. Class<?> thisClass = lookup.lookupClass();
  14. MethodHandle mh = lookup.findStatic(thisClass, name, type);
  15. return new ConstantCallSite(mh);//mh.asType(type));
  16. }
  17. }