Uploaded image for project: 'Code Tools'
  1. Code Tools
  2. CODETOOLS-6362563

SigTest must support binary compatibility checking for signatures with parameterized types

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • st1.3
    • st1.3
    • tools
    • None
    • b03
    • generic
    • generic
    • Verified

      Preforming binary compatibility checking the tool should compare signatures with parameterized types after eliding type parameters and arguments from the both signature file and analyzed API (type erasure).

      Type erasure is described in Java Language Specification, Third Edition , p 4.6. Implementation of the type erasure described in 1.7

      The implementation of the type erasure should include:

      Eliding type parameters.
      When the tool finds the definition of a generic type or method, it should store the definition and remove all occurrences of the type parameters and replaces them by their leftmost bound, or type Object if no bound had been specified. 

      Eliding type arguments.
      When the tool should find a paramterized type, then it should remove the type arguments. For instance, the types List<String> , Set<Long> , and Map<String,?> should be represented as List , Set and Map respectively.

            rmakarch Roman Makarchuk (Inactive)
            ersh Mikhail Ershov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: