Skip to content

Commit 22bae97

Browse files
refactor(dart): merge all runtime exceptions into single fory_exception.dart (#3436)
## Why? The current Dart exception hierarchy spreads runtime exceptions across four separate files under `dart/packages/fory/lib/src/exception/`, which is overly Java-style for idiomatic Dart. ## What needs to be done? - Merge all runtime exception classes from: - `exception/**` - `codegen/exception/**` into a single file: `dart/packages/fory/lib/src/fory_exception.dart` - Update all imports across serializers, resolvers, context, and codegen base to point to the new file. - Delete the `exception/` subdirectory and the `codegen/exception/` subdirectory. ## Does this introduce any user-facing change? - [x] Does this introduce any public API change? (import paths change) - [ ] Does this introduce any binary protocol compatibility change? ## Related - Requested in #3434 review: #3434 (comment)
1 parent c5bb74f commit 22bae97

29 files changed

Lines changed: 750 additions & 890 deletions

dart/packages/fory-test/test/config_test/size_guard_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ library;
2121

2222
import 'dart:typed_data';
2323
import 'package:fory/fory.dart';
24-
import 'package:fory/src/exception/fory_exception.dart';
24+
import 'package:fory/src/fory_exception.dart';
2525
import 'package:test/test.dart';
2626

2727
void main() {

dart/packages/fory/lib/src/codegen/analyze/impl/annotation/class_annotation_analyzer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import 'package:fory/src/codegen/analyze/analysis_type_identifier.dart';
2424
import 'package:fory/src/codegen/analyze/annotation/require_location_level.dart';
2525
import 'package:fory/src/codegen/const/location_level.dart';
2626
import 'package:fory/src/codegen/entity/location_mark.dart';
27-
import 'package:fory/src/codegen/exception/annotation_exception.dart';
27+
import 'package:fory/src/fory_exception.dart';
2828

2929
class ClassAnnotationAnalyzer {
3030
const ClassAnnotationAnalyzer();

dart/packages/fory/lib/src/codegen/analyze/impl/annotation/enum_annotation_analyzer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import 'package:fory/src/codegen/analyze/annotation/require_location_level.dart'
2525
import 'package:fory/src/codegen/const/location_level.dart';
2626
import 'package:fory/src/codegen/entity/location_mark.dart';
2727
import 'package:fory/src/annotation/fory_enum.dart';
28-
import 'package:fory/src/codegen/exception/annotation_exception.dart';
28+
import 'package:fory/src/fory_exception.dart';
2929

3030
class EnumAnnotationAnalyzer {
3131
const EnumAnnotationAnalyzer();

dart/packages/fory/lib/src/codegen/analyze/impl/annotation/key_annotation_analyzer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import 'package:fory/src/codegen/analyze/analysis_type_identifier.dart';
2323
import 'package:fory/src/codegen/analyze/annotation/require_location_level.dart';
2424
import 'package:fory/src/codegen/const/location_level.dart';
2525
import 'package:fory/src/codegen/entity/location_mark.dart';
26-
import 'package:fory/src/codegen/exception/annotation_exception.dart';
26+
import 'package:fory/src/fory_exception.dart';
2727
import 'package:fory/src/annotation/fory_key.dart';
2828

2929
class KeyAnnotationAnalyzer {

dart/packages/fory/lib/src/codegen/analyze/impl/annotation/uint_annotation_analyzer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import 'package:fory/src/codegen/analyze/analysis_type_identifier.dart';
2323
import 'package:fory/src/codegen/analyze/annotation/require_location_level.dart';
2424
import 'package:fory/src/codegen/const/location_level.dart';
2525
import 'package:fory/src/codegen/entity/location_mark.dart';
26-
import 'package:fory/src/codegen/exception/annotation_exception.dart';
26+
import 'package:fory/src/fory_exception.dart';
2727
import 'package:fory/src/const/types.dart';
2828

2929
/// Result of uint annotation analysis

dart/packages/fory/lib/src/codegen/analyze/impl/constructor/constructor_analyzer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import 'package:fory/src/codegen/const/location_level.dart';
2929
import 'package:fory/src/codegen/entity/constructor_param.dart';
3030
import 'package:fory/src/codegen/entity/constructor_params.dart';
3131
import 'package:fory/src/codegen/entity/location_mark.dart';
32-
import 'package:fory/src/codegen/exception/constraint_violation_exception.dart'
32+
import 'package:fory/src/fory_exception.dart'
3333
show
3434
CircularIncapableRisk,
3535
InformalConstructorParamException,

dart/packages/fory/lib/src/codegen/analyze/impl/field/access_info_analyzer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import 'package:fory/src/codegen/analyze/annotation/require_location_level.dart'
2323
import 'package:fory/src/codegen/const/location_level.dart';
2424
import 'package:fory/src/codegen/entity/constructor_params.dart';
2525
import 'package:fory/src/codegen/entity/location_mark.dart';
26-
import 'package:fory/src/codegen/exception/field_exception.dart'
26+
import 'package:fory/src/fory_exception.dart'
2727
show FieldAccessErrorType, FieldAccessException;
2828
import 'package:fory/src/codegen/meta/impl/field_spec_immutable.dart';
2929
import 'package:fory/src/codegen/meta/impl/fields_spec_generator.dart';

dart/packages/fory/lib/src/codegen/analyze/impl/field/field_analyzer_impl.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import 'package:fory/src/codegen/analyze/interface/field_analyzer.dart';
3333
import 'package:fory/src/codegen/const/location_level.dart';
3434
import 'package:fory/src/codegen/entity/either.dart';
3535
import 'package:fory/src/codegen/entity/location_mark.dart';
36-
import 'package:fory/src/codegen/exception/constraint_violation_exception.dart';
36+
import 'package:fory/src/fory_exception.dart';
3737
import 'package:fory/src/codegen/meta/impl/field_spec_immutable.dart';
3838
import 'package:fory/src/codegen/meta/impl/type_spec_generator.dart';
3939
import 'package:fory/src/codegen/meta/public_accessor_descriptor.dart';

dart/packages/fory/lib/src/codegen/analyze/impl/struct/custom_type_analyzer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import 'package:analyzer/dart/element/element.dart';
2121
import 'package:fory/src/codegen/analyze/type_analysis_models.dart';
2222
import 'package:fory/src/codegen/analyze/analyzer.dart';
2323
import 'package:fory/src/codegen/entity/either.dart';
24-
import 'package:fory/src/codegen/exception/annotation_exception.dart';
24+
import 'package:fory/src/fory_exception.dart';
2525
import 'package:fory/src/const/dart_type.dart';
2626

2727
class CustomTypeAnalyzer {

dart/packages/fory/lib/src/codegen/analyze/impl/type/type_system_analyzer.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import 'package:fory/src/codegen/analyze/annotation/require_location_level.dart'
2626
import 'package:fory/src/codegen/const/location_level.dart';
2727
import 'package:fory/src/codegen/entity/either.dart';
2828
import 'package:fory/src/codegen/entity/location_mark.dart';
29-
import 'package:fory/src/codegen/exception/constraint_violation_exception.dart';
29+
import 'package:fory/src/fory_exception.dart';
3030
import 'package:fory/src/const/dart_type.dart';
3131

3232
class TypeSystemAnalyzer {
@@ -41,7 +41,7 @@ class TypeSystemAnalyzer {
4141
Either<ObjectTypeAnalysis, DartTypeEnum> res =
4242
Analyzer.customTypeAnalyzer.resolveType(element);
4343
if (res.isRight) {
44-
throw UnsupportedTypeException(
44+
throw CodegenUnsupportedTypeException(
4545
locationMark.libPath,
4646
locationMark.clsName,
4747
locationMark.fieldName!,

0 commit comments

Comments
 (0)