• Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Icon: P2 P2
    • 8
    • 8, 8-repo-lambda
    • tools
    • b96
    • Verified

      As part of the effort to remove bridging complexity form VM and metafactory, the compiler should start generating bridges in interfaces. There are two scenario we need to cover:

      1) Generate bridges in interface using existing bridging logic
      2) Pass the metafactory additional bridging info so that the functional interface is correctly implemented

      The first part is simple; it means generating bridges in cases like the following:

      interface A {
         Object m();
      }

      interface B extends A {
         String m();
         //there should be a bridge to A.m()Object
      }

      The second part is more subtle, as current bridging logic doesn't cover cases like:

      interface A {
         Object m();
      }

      interface B {
         String m();
      }

      interface C extends A, B { }

            mcimadamore Maurizio Cimadamore
            mcimadamore Maurizio Cimadamore
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: