Skip to content

Commit 6cd60f8

Browse files
johnniwintherCommit Queue
authored andcommitted
[cfe] Group fragments by name when creating builders
This prepares for grouping introductory and augmentation fragments in one builder and from grouping getters, setters and fields of the name into a property builder. Change-Id: If4b6e14876f2b58cc65c8c3a7d22f99a0c7aa8c9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/391963 Commit-Queue: Johnni Winther <[email protected]> Reviewed-by: Chloe Stefantsova <[email protected]>
1 parent b9fe0a0 commit 6cd60f8

File tree

43 files changed

+2111
-2059
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+2111
-2059
lines changed

pkg/front_end/lib/src/fragment/constructor.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
part of 'fragment.dart';
66

77
class ConstructorFragment implements Fragment, FunctionFragment {
8+
@override
89
final String name;
10+
911
final Uri fileUri;
1012
final int startOffset;
1113
final int nameOffset;

pkg/front_end/lib/src/fragment/factory.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
part of 'fragment.dart';
66

77
class FactoryFragment implements Fragment, FunctionFragment {
8+
@override
89
final String name;
10+
911
final Uri fileUri;
1012
final int startOffset;
1113
final int nameOffset;

pkg/front_end/lib/src/fragment/field.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
part of 'fragment.dart';
66

77
class FieldFragment implements Fragment {
8+
@override
89
final String name;
10+
911
final Uri fileUri;
1012
final int charOffset;
1113
final int charEndOffset;

pkg/front_end/lib/src/fragment/fragment.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,21 @@ part 'setter.dart';
4747
part 'typedef.dart';
4848

4949
sealed class Fragment {
50+
/// The declared name of this fragment.
51+
///
52+
/// For unnamed extensions this is
53+
/// [UnnamedExtensionName.unnamedExtensionSentinel].
54+
///
55+
/// For setters this is the name without `=`.
56+
///
57+
/// The name is used to group introductory fragments with augmenting fragments
58+
/// and to group getters, setters, and fields as properties.
59+
String get name;
60+
61+
/// The [Builder] created for this fragment.
62+
///
63+
// TODO(johnniwinther): Implement this:
64+
/// The builder is shared between introductory fragments and augmenting
65+
/// fragments, as well as between getters, setters, and fields.
5066
Builder get builder;
5167
}

pkg/front_end/lib/src/fragment/getter.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
part of 'fragment.dart';
66

77
class GetterFragment implements Fragment, FunctionFragment {
8+
@override
89
final String name;
10+
911
final Uri fileUri;
1012
final int startOffset;
1113
final int nameOffset;

pkg/front_end/lib/src/fragment/method.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
part of 'fragment.dart';
66

77
class MethodFragment implements Fragment, FunctionFragment {
8+
@override
89
final String name;
10+
911
final Uri fileUri;
1012
final int startOffset;
1113
final int nameOffset;

pkg/front_end/lib/src/fragment/named_mixin_application.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
part of 'fragment.dart';
66

77
class NamedMixinApplicationFragment implements Fragment {
8+
@override
89
final String name;
10+
911
final Uri fileUri;
1012
final int startOffset;
1113
final int nameOffset;

pkg/front_end/lib/src/fragment/primary_constructor.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
part of 'fragment.dart';
66

77
class PrimaryConstructorFragment implements Fragment, FunctionFragment {
8+
@override
89
final String name;
10+
911
final Uri fileUri;
1012
final int startOffset;
1113
final int? nameOffset;

pkg/front_end/lib/src/fragment/setter.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
part of 'fragment.dart';
66

77
class SetterFragment implements Fragment, FunctionFragment {
8+
@override
89
final String name;
10+
911
final Uri fileUri;
1012
final int startOffset;
1113
final int nameOffset;

pkg/front_end/lib/src/fragment/typedef.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ part of 'fragment.dart';
66

77
class TypedefFragment implements Fragment {
88
final List<MetadataBuilder>? metadata;
9+
10+
@override
911
final String name;
12+
1013
final List<NominalParameterBuilder>? typeParameters;
1114
final TypeBuilder type;
1215
final Uri fileUri;

0 commit comments

Comments
 (0)