findAllVariableDefinitions method
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();
}