Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-1865 Minimal Generics support
  3. GROOVY-1901

usage of multiple interfaces as bound for generic parameterization

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.1-beta-2
    • None
    • None

    Description

      example:

      class B<T extends Interface1 & Interface2> {
      T foo(){}
      }

      resulting signature for class head: <T::LInterface1;:LInterface2;>Ljava/lang/Object;
      resulting signature for method: ()LInterface1;

      "left most bound" is used for all usages of T in B!

      needed checks: ensure Interface1 != Interface2

      Attachments

        Activity

          People

            blackdrag Jochen Theodorou
            blackdrag Jochen Theodorou
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: