Uploaded image for project: 'Beehive'
  1. Beehive
  2. BEEHIVE-1143

Control APT compilation errors when using the Eclipse IDE

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.0.2
    • Controls
    • None

    Description

      There is currently a bug in the Eclipse IDE which can cause some control compilations to fail.

      See: https://bugs.eclipse.org/bugs/show_bug.cgi?id=155115
      Unfortunately this bug will not be fixed until at least the 3.2.2 or 3.3 Eclipse release later this year or next.

      This typically happens when a control in a jar file is extended. That is:

      IN JAR:
      Control A
      Control B extends A

      IN SOURCE:
      Control C extends B

      If an annotation processor then attempts to look up C's superclass hierarchy and read the
      annotation values, any Class values in annotations on classes in the jar file
      (binary bindings) will be unresolved and will thus have defective
      qualifiedName, etc.

      One example of how this manifests itself is when EventSets (or any other inner class controls type) is used.

      If Control C extends an EventSet from either Control A or B, the com.sun.mirror.declaration.TypeDeclaration.getQualifiedName() method will return the following when the TypeDeclaration in question is for Control C:

      ControlC.MyEventSet

      But when APT starts processing the inherited event sets, say for Control B, the following is returned:
      ControlB$MyEventSet

      The end result is that compilation fails because the inner class event set names do not match. I plan on exploring if there is a workaround available for this issue until Eclipse resolves thier bug.

      Attachments

        Activity

          People

            chad_s Chad Schoettger
            chad_s Chad Schoettger
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: