You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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. }