Class BridgeMethodResolver


  • class BridgeMethodResolver
    extends java.lang.Object
    Uses bytecode reflection to figure out the targets of all bridge methods that use invokespecial, so that we can later rewrite them to use invokevirtual.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.ClassLoader classLoader  
      private java.util.Map declToBridge  
    • Constructor Summary

      Constructors 
      Constructor Description
      BridgeMethodResolver​(java.util.Map declToBridge, java.lang.ClassLoader classLoader)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map resolveAll()
      Finds all bridge methods that are being called with invokespecial & returns them.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • declToBridge

        private final java.util.Map declToBridge
      • classLoader

        private final java.lang.ClassLoader classLoader
    • Constructor Detail

      • BridgeMethodResolver

        public BridgeMethodResolver​(java.util.Map declToBridge,
                                    java.lang.ClassLoader classLoader)
    • Method Detail

      • resolveAll

        public java.util.Map resolveAll()
        Finds all bridge methods that are being called with invokespecial & returns them.