Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-673

Get rid of the NodeFactory

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 10.11.1.1
    • SQL
    • Normal

    Description

      This piece of code once had a purpose in life. It was one of the double-joints which allowed cloudscape to ship with and without compiler support for the synchronization language. Synchronization has been removed. If we want to plug in optional language components, I think there are better ways to do this.

      The NodeFactory turned into a big, sprawling piece of code. At some point this code was slimmed down by telescoping all of its factory methods into a couple unwieldly, weakly-typed overloads backed by cumbersome logic in the actual node constructors. I would like to reintroduce strongly typed node constructors which the parser can call directly. This will make node generation easier to read and less brittle and it will get rid of the now useless NodeFactory class.

      Attachments

        1. derby-673-1.diff.gz
          265 kB
          Dag H. Wanvik
        2. derby-673-1.status
          20 kB
          Dag H. Wanvik
        3. derby-673-2.diff.gz
          270 kB
          Dag H. Wanvik
        4. derby-673-2.status
          20 kB
          Dag H. Wanvik
        5. derby-673-3.diff.gz
          271 kB
          Dag H. Wanvik
        6. derby-673-3.status
          20 kB
          Dag H. Wanvik
        7. derby-673-fixcomments.diff
          2 kB
          Dag H. Wanvik
        8. derby-673-more-typesafe-6.diff
          152 kB
          Dag H. Wanvik
        9. derby-673-more-typesafe-6.status
          5 kB
          Dag H. Wanvik
        10. derby-673-nuke-ctypes-enum.diff
          261 kB
          Dag H. Wanvik
        11. derby-673-nuke-ctypes-enum.stat
          11 kB
          Dag H. Wanvik
        12. derby-673-nuke-ctypes-without-enum.diff
          264 kB
          Dag H. Wanvik
        13. derby-673-nuke-ctypes-without-enum.status
          11 kB
          Dag H. Wanvik
        14. derby-673-nuke-ctypes-without-enum-2.diff
          275 kB
          Dag H. Wanvik
        15. derby-673-nuke-ctypes-without-enum-2.status
          11 kB
          Dag H. Wanvik
        16. derby-673-nuke-ctypes-without-enum-3.diff
          276 kB
          Dag H. Wanvik
        17. derby-673-nuke-ctypes-without-enum-3.status
          11 kB
          Dag H. Wanvik
        18. derby-673-typesafe-lists-1.diff
          232 kB
          Dag H. Wanvik
        19. derby-673-typesafe-lists-1.status
          5 kB
          Dag H. Wanvik
        20. derby-673-typesafe-lists-2.diff.gz
          44 kB
          Dag H. Wanvik
        21. derby-673-typesafe-lists-2.status
          5 kB
          Dag H. Wanvik
        22. nodefactory-31.status
          12 kB
          Dag H. Wanvik
        23. nodefactory-31.zip
          105 kB
          Dag H. Wanvik

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            dagw Dag H. Wanvik
            rhillegas Richard N. Hillegas
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment