ATNConfigSet.add

Adding a new config means merging contexts with existing configs for {@code (s, i, pi, _)}, where {@code s} is the {@link ATNConfig#state}, {@code i} is the {@link ATNConfig#alt}, and {@code pi} is the {@link ATNConfig#semanticContext}. We use {@code (s,i,pi)} as key.

<p>This method updates {@link #dipsIntoOuterContext} and {@link #hasSemanticContext} when necessary.</p>

  1. bool add(ATNConfig config)
  2. bool add(ATNConfig config, DoubleKeyMap!(PredictionContext, PredictionContext, PredictionContext) mergeCache)

Meta