Uploaded image for project: 'Clover'
  1. Clover
  2. CLOV-1465

Instrumentation of expression-like lambdas with no compilation errors in all cases

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      Problem and workaround:

      https://confluence.atlassian.com/display/CLOVERKB/Java+8+code+instrumented+by+Clover+fails+to+compile

      Expected solution:

      Instrumentation of lambda functions shall always work and shall not generate any compilation errors, no matter how generic types/methods are declared.

      Possible ways to achieve this:

      1) Implement some heuristics, by parsing entire source file as well as referring to information already present in Clover's database, trying to get more information about types used.

      This will not work in 100% of cases, but may reduce number of compilation errors.

      2) Implement byte code instrumentation.

      This could be a Clover's post-processing phase. Could be handled by Service Provider Interface (i.e. be more flexible solution).

      3) Inline instrumentation code of expression-like lambda instead of using lambdaInc()

            [CLOV-1465] Instrumentation of expression-like lambdas with no compilation errors in all cases

            Renata Dornelas made changes -
            Remote Link Original: This issue links to "Page (Atlassian Documentation)" [ 59540 ]
            Renata Dornelas made changes -
            Remote Link Original: This issue links to "Page (Atlassian Documentation)" [ 109789 ]
            Katherine Yabut made changes -
            Workflow Original: JAC Suggestion Workflow [ 3342191 ] New: JAC Suggestion Workflow 3 [ 3584212 ]
            Status Original: RESOLVED [ 5 ] New: Closed [ 6 ]
            Michael Andreacchio made changes -
            Workflow Original: New Clover Workflow [ 898202 ] New: JAC Suggestion Workflow [ 3342191 ]
            Issue Type Original: Improvement [ 4 ] New: Suggestion [ 10000 ]
            Status Original: Closed [ 6 ] New: Resolved [ 5 ]
            Michael Andreacchio made changes -
            Resolution New: Won't Fix [ 2 ]
            Status Original: Open [ 1 ] New: Closed [ 6 ]
            Marek Parfianowicz made changes -
            Assignee Original: Marek Parfianowicz [ mparfianowicz ]
            Grzegorz Lewandowski made changes -
            Remote Link Original: This issue links to "Page (Atlassian Documentation)" [ 59540 ] New: This issue links to "Page (Atlassian Documentation)" [ 59540 ]
            Grzegorz Lewandowski made changes -
            Remote Link Original: This issue links to "Page (Atlassian Documentation)" [ 109884 ] New: This issue links to "Page (Atlassian Documentation)" [ 109884 ]
            Marek Parfianowicz made changes -
            Fix Version/s New: long term roadmap [ 54394 ]
            Fix Version/s Original: someday [ 23593 ]
            Grzegorz Lewandowski made changes -
            Remote Link New: This issue links to "Page (Atlassian Documentation)" [ 109884 ]

              Unassigned Unassigned
              mparfianowicz Marek Parfianowicz
              Votes:
              12 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: