getMagnitude method
Implementation
@override
ApiChangeMagnitude getMagnitude() {
if (_overriddenMagnitude != null) return _overriddenMagnitude!;
if (parentName.startsWith('_')) {
// if the parent method/constructor is private, it's a patch change
return ApiChangeMagnitude.patch;
}
if (operation == ApiChangeOperation.renaming) {
return ApiChangeMagnitude.patch;
}
if (operation == ApiChangeOperation.reordering) {
return ApiChangeMagnitude.major;
}
if (operation == ApiChangeOperation.typeChange) {
if (newType != null && parameter.type.isAssignableTo(newType!)) {
return ApiChangeMagnitude.minor;
}
return ApiChangeMagnitude.major;
}
if (operation == ApiChangeOperation.becomingRequired ||
operation == ApiChangeOperation.becomingPositional ||
operation == ApiChangeOperation.becomingNonNullable ||
(operation == ApiChangeOperation.removal && parameter.required) ||
(operation == ApiChangeOperation.addition && parameter.required)) {
return ApiChangeMagnitude.major;
}
if (operation == ApiChangeOperation.becomingNullable ||
operation == ApiChangeOperation.becomingOptional ||
(operation == ApiChangeOperation.removal && !parameter.required) ||
(operation == ApiChangeOperation.addition && !parameter.required)) {
return ApiChangeMagnitude.minor;
}
return super.getMagnitude();
}