List<Parameter> allParameters

Source

List<Parameter> get allParameters {
  if (_allParameters == null) {
    final Set<Parameter> recursedParameters = new Set();
    final Set<Parameter> newParameters = new Set();
    if (this is GetterSetterCombo &&
        (this as GetterSetterCombo).setter != null) {
      newParameters.addAll((this as GetterSetterCombo).setter.parameters);
    } else {
      if (canHaveParameters) newParameters.addAll(parameters);
    }
    while (newParameters.isNotEmpty) {
      recursedParameters.addAll(newParameters);
      newParameters.clear();
      for (Parameter p in recursedParameters) {
        if (p.modelType.element.canHaveParameters) {
          newParameters.addAll(p.modelType.element.parameters
              .where((p) => !recursedParameters.contains(p)));
        }
      }
    }
    _allParameters = recursedParameters.toList();
  }
  return _allParameters;
}