findAllVariableDefinitions method

List<DartBlockVariableDefinition> findAllVariableDefinitions()

Retrieve all variable definitions in the current node and its child nodes.

This function performs the opposite of findVariableDefinitions, as it performs a downward traversal until it reaches nodes with no more child nodes.

This function is not used for the actual execution logic of a DartBlockProgram. Instead, it is used to enable secondary functionalities, such as the generation of hints using DartBlockProgram.getHints, as well as DartBlockVariableCountEvaluationSchema.

Implementation

List<DartBlockVariableDefinition> findAllVariableDefinitions() {
  List<DartBlockVariableDefinition> foundVariableDefinitions =
      _getInherentVariableDefinitions();
  for (var child in children) {
    foundVariableDefinitions.addAll(child.findAllVariableDefinitions());
  }
  return foundVariableDefinitions.toSet().toList();
}