minimize method

dynamic minimize(
  1. int downTo
)

Implementation

minimize(int downTo) {
  for (int i = uncheckedNodes.length - 1; i >= downTo; i--) {
    BuilderFrame node = uncheckedNodes[i];
    String childKey = node.child.toString();

    if (minimizedNodes.containsKey(childKey)) {
      node.parent.edges[node.char] = minimizedNodes[childKey]!;
    } else {
      // Cache the key for this node since
      // we know it can't change anymore
      node.child.cachedString = childKey;

      minimizedNodes[childKey] = node.child;
    }

    uncheckedNodes.removeLast();
  }
}