<commit_before>package mb.nabl2.solver.solvers;

import java.util.Collection;
import java.util.Deque;
import java.util.List;

import org.metaborg.util.Ref;
import org.metaborg.util.functions.Action1;
import org.metaborg.util.iterators.Iterables2;
import org.metaborg.util.log.ILogger;
import org.metaborg.util.log.LoggerUtils;
import org.metaborg.util.task.ICancel;
import org.metaborg.util.task.IProgress;

import com.google.common.collect.Lists;

import mb.nabl2.constraints.IConstraint;
import mb.nabl2.scopegraph.esop.CriticalEdge;
import mb.nabl2.solver.ISolver;
import mb.nabl2.solver.ISolver.SolveResult;
import mb.nabl2.solver.ImmutableSolveResult;
import mb.nabl2.solver.exceptions.CriticalEdgeDelayException;
import mb.nabl2.solver.exceptions.DelayException;
import mb.nabl2.solver.exceptions.InterruptedDelayException;
import mb.nabl2.solver.exceptions.RelationDelayException;
import mb.nabl2.solver.exceptions.UnconditionalDelayExpection;
import mb.nabl2.solver.exceptions.VariableDelayException;
import mb.nabl2.solver.messages.IMessages;
import mb.nabl2.solver.messages.Messages;
import mb.nabl2.terms.ITermVar;
import mb.nabl2.terms.unification.u.IUnifier;
import mb.nabl2.util.collections.IndexedBag;
import mb.nabl2.util.collections.IndexedBag.RemovalPolicy;
import rx.Observable;
import rx.subjects.PublishSubject;

public class FixedPointSolver {

    private static final ILogger log = LoggerUtils.logger(FixedPointSolver.class);

    private final PublishSubject<Step> stepSubject;

    private final ICancel cancel;
    private final IProgress progress;

    private final ISolver component;

    public FixedPointSolver(ICancel cancel, IProgress progress, ISolver component) {
        this.cancel = cancel;
        this.progress = progress;<commit_msg>Update to rxjava 3.<commit_after>package mb.nabl2.solver.solvers;

import java.util.Collection;
import java.util.Deque;
import java.util.List;

import org.metaborg.util.Ref;
import org.metaborg.util.functions.Action1;
import org.metaborg.util.iterators.Iterables2;
import org.metaborg.util.log.ILogger;
import org.metaborg.util.log.LoggerUtils;
import org.metaborg.util.task.ICancel;
import org.metaborg.util.task.IProgress;

import com.google.common.collect.Lists;

import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.subjects.PublishSubject;
import mb.nabl2.constraints.IConstraint;
import mb.nabl2.scopegraph.esop.CriticalEdge;
import mb.nabl2.solver.ISolver;
import mb.nabl2.solver.ISolver.SolveResult;
import mb.nabl2.solver.ImmutableSolveResult;
import mb.nabl2.solver.exceptions.CriticalEdgeDelayException;
import mb.nabl2.solver.exceptions.DelayException;
import mb.nabl2.solver.exceptions.InterruptedDelayException;
import mb.nabl2.solver.exceptions.RelationDelayException;
import mb.nabl2.solver.exceptions.UnconditionalDelayExpection;
import mb.nabl2.solver.exceptions.VariableDelayException;
import mb.nabl2.solver.messages.IMessages;
import mb.nabl2.solver.messages.Messages;
import mb.nabl2.terms.ITermVar;
import mb.nabl2.terms.unification.u.IUnifier;
import mb.nabl2.util.collections.IndexedBag;
import mb.nabl2.util.collections.IndexedBag.RemovalPolicy;

public class FixedPointSolver {

    private static final ILogger log = LoggerUtils.logger(FixedPointSolver.class);

    private final PublishSubject<Step> stepSubject;

    private final ICancel cancel;
    private final IProgress progress;

    private final ISolver component;

    public FixedPointSolver(ICancel cancel, IProgress progress, ISolver component) {
        this.cancel = cancel;
        this.progress = progress;
{'fraction_non_alphanumeric': 0.09452321378926884, 'fraction_numerical': 0.011954406449819294, 'mean_word_length': 5.662962962962963, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1220763', 'n_tokens_mistral': 1220, 'n_tokens_neox': 1185, 'n_words': 198}