EditGetRefactoringResult.fromJson constructor
EditGetRefactoringResult.fromJson(})
Implementation
factory EditGetRefactoringResult.fromJson(
JsonDecoder jsonDecoder,
String jsonPath,
Object? json, {
ClientUriConverter? clientUriConverter,
}) {
json ??= {};
if (json is! Map) {
throw jsonDecoder.mismatch(
jsonPath,
"'edit.getRefactoring result'",
json,
);
}
List<RefactoringProblem> initialProblems;
if (json case {'initialProblems': var encodedInitialProblems}) {
initialProblems = jsonDecoder.decodeList(
'$jsonPath.initialProblems',
encodedInitialProblems,
(String jsonPath, Object? json) => RefactoringProblem.fromJson(
jsonDecoder,
jsonPath,
json,
clientUriConverter: clientUriConverter,
),
);
} else {
throw jsonDecoder.mismatch(jsonPath, "'initialProblems'", json);
}
List<RefactoringProblem> optionsProblems;
if (json case {'optionsProblems': var encodedOptionsProblems}) {
optionsProblems = jsonDecoder.decodeList(
'$jsonPath.optionsProblems',
encodedOptionsProblems,
(String jsonPath, Object? json) => RefactoringProblem.fromJson(
jsonDecoder,
jsonPath,
json,
clientUriConverter: clientUriConverter,
),
);
} else {
throw jsonDecoder.mismatch(jsonPath, "'optionsProblems'", json);
}
List<RefactoringProblem> finalProblems;
if (json case {'finalProblems': var encodedFinalProblems}) {
finalProblems = jsonDecoder.decodeList(
'$jsonPath.finalProblems',
encodedFinalProblems,
(String jsonPath, Object? json) => RefactoringProblem.fromJson(
jsonDecoder,
jsonPath,
json,
clientUriConverter: clientUriConverter,
),
);
} else {
throw jsonDecoder.mismatch(jsonPath, "'finalProblems'", json);
}
RefactoringFeedback? feedback;
if (json case {'feedback': var encodedFeedback}) {
feedback = RefactoringFeedback.fromJson(
jsonDecoder,
'$jsonPath.feedback',
encodedFeedback,
json,
clientUriConverter: clientUriConverter,
);
}
SourceChange? change;
if (json case {'change': var encodedChange}) {
change = SourceChange.fromJson(
jsonDecoder,
'$jsonPath.change',
encodedChange,
clientUriConverter: clientUriConverter,
);
}
List<String>? potentialEdits;
if (json case {'potentialEdits': var encodedPotentialEdits}) {
potentialEdits = jsonDecoder.decodeList(
'$jsonPath.potentialEdits',
encodedPotentialEdits,
jsonDecoder.decodeString,
);
}
return EditGetRefactoringResult(
initialProblems,
optionsProblems,
finalProblems,
feedback: feedback,
change: change,
potentialEdits: potentialEdits,
);
}