Skip to content

Instantly share code, notes, and snippets.

@raphw
Created January 22, 2019 19:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save raphw/b38eea500c2f86d5c59a960b50f002d6 to your computer and use it in GitHub Desktop.
Save raphw/b38eea500c2f86d5c59a960b50f002d6 to your computer and use it in GitHub Desktop.
Generation of a visibility bridge method.
mkdir pkg1
echo "package pkg1; class SuperClass<X> { public X m() { return null; } }" > pkg1/SuperClass.java
echo "package pkg1; public class SubClass extends SuperClass<Void> { }" > pkg1/SubClass.java
${JAVA_HOME}/bin/javac pkg1/*.java
mkdir pkg2
echo "package pkg2; class Main { public static void main(String[] args) throws Exception { pkg1.SubClass.class.getMethod(\"m\").invoke(new pkg1.SubClass()); } }" > pkg2/Main.java
${JAVA_HOME}/bin/javac pkg2/*.java
${JAVA_HOME}/bin/java -cp . pkg2.Main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment