throwGenerationFailure method

Never throwGenerationFailure({
  1. required ClassElement clazz,
  2. required String stage,
  3. FormalParameterElement? param,
  4. required Object error,
  5. StackTrace? stackTrace,
})

Implementation

Never throwGenerationFailure({
  required ClassElement clazz,
  required String stage,
  FormalParameterElement? param,
  required Object error,
  StackTrace? stackTrace,
}) {
  String className = clazz.name ?? "<unnamed>";
  String location = "Artifact generation failed at $stage for $className";
  if (param?.name != null) {
    location = "$location.${param!.name}";
  }

  String details = "$location: $error";
  if (stackTrace != null) {
    details = "$details\n$stackTrace";
  }

  throw InvalidGenerationSourceError(
    details,
    element: param ?? clazz,
    todo:
        "Inspect the failing component/stage in artifact_gen and the referenced class/parameter.",
  );
}