Package jetbrains.mps.generator
Interface GenerationTrace
- 
- All Known Implementing Classes:
 GenerationTrace.NoOp,GenTraceImpl
public interface GenerationTrace2nd generation of generation (pun, sorry) trace facility. The idea is to record actual change rather to track each step with strict open/close semantic. Primary distinction is: lightweight (keep minimum), less use burden (few calls), multithread-friendlyDesign note: Unlike existing IGenerationTracer, which is (singleton) project component, new trace facility is associated with transient model/module, and there's no need to pass it explicitly through GenerationOption
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classGenerationTrace.NoOpstatic interfaceGenerationTrace.Visitor 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voiddropStep(SModelReference input, SModelReference output)voidnextStep(SModelReference input, SModelReference output)voidtrace(SNodeId input, List<SNodeId> output, SNodeReference templateNode)voidwalkBackward(SNode node, GenerationTrace.Visitor v)voidwalkForward(SNode node, GenerationTrace.Visitor v) 
 - 
 
- 
- 
Method Detail
- 
nextStep
void nextStep(@NotNull SModelReference input, @NotNull SModelReference output)
 
- 
dropStep
void dropStep(@NotNull SModelReference input, @NotNull SModelReference output)
 
- 
trace
void trace(@Nullable SNodeId input, @NotNull List<SNodeId> output, @NotNull SNodeReference templateNode)
 
- 
walkForward
void walkForward(SNode node, @NotNull GenerationTrace.Visitor v)
 
- 
walkBackward
void walkBackward(SNode node, @NotNull GenerationTrace.Visitor v)
 
 - 
 
 -