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

Interfaces and a template class for handling instrumentation sessions

    • 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:

      • We need some concrete classes in the API to perform the instrumentation. At the moment we have an InstrumentationSession interface but no way to get an instance of this!
      • We need a way in the API to construct a MethodSignatureInfo (same problem as InstrumentationSession).

      In order to update content of a database and store new instrumentation session a number of internal classes must be used, e.g.:

      import com.atlassian.clover.context.ContextSet;
      import com.atlassian.clover.registry.Clover2Registry;
      import com.atlassian.clover.registry.FixedSourceRegion;
      import com.atlassian.clover.registry.entities.MethodSignature;
      import com.atlassian.clover.registry.entities.Modifier;
      import com.atlassian.clover.registry.entities.Modifiers;
      import com.atlassian.clover.registry.entities.Parameter;
      // ...
      registry = Clover2Registry.createOrLoad(dbFile, projectName);
      session = registry.startInstr(encoding)
      // ...
      session.enterMethod(new ContextSet(), new FixedSourceRegion(12, 1), 
        methodSignature, false, false, 5, LanguageConstruct.Builtin.METHOD);
      

      Fix:

      • move MethodSignature, Modifier, Modifiers, Parameter to API
      • create factory for FixedSourceRegion, ContextSet
      • enterMethod (and others) shall use ContextSet from API

            [CLOV-1378] Interfaces and a template class for handling instrumentation sessions

            There are no comments yet on this issue.

              Unassigned Unassigned
              mparfianowicz Marek Parfianowicz
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: