getConstructor method

  1. @protected
String getConstructor(
  1. List<Field> fields
)

Implementation

@protected
String getConstructor(final List<Field> fields) {
  final constructorParameters = classElement.constructors
      .firstWhereOrNull((element) => element.isPublic && !element.isFactory)
      ?.formalParameters;

  if (constructorParameters == null) {
    throw _queryableProcessorError.missingUnnamedConstructor;
  } else {
    final parameterValues = constructorParameters
        .map((parameterElement) =>
            _getParameterValue(parameterElement, fields))
        .where((parameterValue) => parameterValue != null)
        .join(', ');

    return '${classElement.displayName}($parameterValues)';
  }
}