IMPORTANT: JAC is a Public system and anyone on the internet will be able to view the data in the created JAC tickets. Please don’t include Customer or Sensitive data in the JAC ticket.
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()

            Loading...
            IMPORTANT: JAC is a Public system and anyone on the internet will be able to view the data in the created JAC tickets. Please don’t include Customer or Sensitive data in the JAC ticket.
            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()

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

                          Created:
                          Updated:
                          Resolved:

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

                              Created:
                              Updated:
                              Resolved: