static ShrinkStep create()

in src/main/java/org/jetbrains/jetCheck/ShrinkStep.java [40:73]


  static ShrinkStep create(@NotNull NodeId replaced,
                           @NotNull StructureElement replacement,
                           @Nullable Function<StructureNode, ShrinkStep> onSuccess,
                           @Nullable Supplier<ShrinkStep> onFailure) {
    return new ShrinkStep() {

      @Override
      StructureNode apply(StructureNode root) {
        return root.replace(replaced, replacement);
      }

      @Nullable
      @Override
      ShrinkStep onSuccess(StructureNode smallerRoot) {
        return onSuccess == null ? null : onSuccess.apply(smallerRoot);
      }

      @Nullable
      @Override
      ShrinkStep onFailure() {
        return onFailure == null ? null : onFailure.get();
      }

      @Override
      public String toString() {
        return "replace " + replaced + " with " + replacement;
      }

      @Override
      List<?> getEqualityObjects() {
        return Arrays.asList(replaced, replacement);
      }
    };
  }