org.eclipse.viatra.query.runtime.matchers.psystem.rewriters

## Interface IRewriterTraceCollector

- All Superinterfaces:
    IPTraceableTraceProvider
  All Known Implementing Classes:
    MappingTraceCollector, NopTraceCollector

      public interface IRewriterTraceCollector
      extends IPTraceableTraceProvider

  This is the internal API of `IPTraceableTraceProvider` expected to be used by copier and rewriter implementations.
  Since:
    1.6
  No Reference:
    This interface is not intended to be referenced by clients.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addTrace(PTraceable origin, PTraceable derivative)` Mark the given derivative to be originated from the given original constraint.
    `void` | `derivativeRemoved(PTraceable derivative, IDerivativeModificationReason reason)` Indicate that the given derivative is removed from the resulting query, thus its trace information should be removed also.

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.IPTraceableTraceProvider

      `getCanonicalTraceables, getRemovalReasons, getRewrittenTraceables, isRemoved`

- - ### Method Detail

    - #### addTrace

          void addTrace(PTraceable origin,
                        PTraceable derivative)

      Mark the given derivative to be originated from the given original constraint.

    - #### derivativeRemoved

          void derivativeRemoved(PTraceable derivative,
                                 IDerivativeModificationReason reason)

      Indicate that the given derivative is removed from the resulting query, thus its trace information should be removed also.