Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1098)

Unified Diff: pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart

Issue 2997473002: Add documentation comments for enum and enum values. Resynthesize in analyzer. (Closed)
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart
index fe3f792e5b45f1396e17cc959169078c08180e4c..5991fd0fe04077141ef3bd9c46cbdf998562bbbf 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart
@@ -61,7 +61,7 @@ import 'kernel_builder.dart'
class KernelEnumBuilder extends SourceClassBuilder
implements EnumBuilder<KernelTypeBuilder, InterfaceType> {
- final List<Object> constantNamesAndOffsets;
+ final List<Object> constantNamesAndOffsetsAndDocs;
final MapLiteral toStringMap;
@@ -80,7 +80,7 @@ class KernelEnumBuilder extends SourceClassBuilder
Scope scope,
Scope constructors,
Class cls,
- this.constantNamesAndOffsets,
+ this.constantNamesAndOffsetsAndDocs,
this.toStringMap,
this.intType,
this.listType,
@@ -92,13 +92,14 @@ class KernelEnumBuilder extends SourceClassBuilder
constructors, parent, null, charOffset, cls);
factory KernelEnumBuilder(
+ String documentationComment,
List<MetadataBuilder> metadata,
String name,
- List<Object> constantNamesAndOffsets,
+ List<Object> constantNamesAndOffsetsAndDocs,
KernelLibraryBuilder parent,
int charOffset,
int charEndOffset) {
- constantNamesAndOffsets ??= const <Object>[];
+ constantNamesAndOffsetsAndDocs ??= const <Object>[];
// TODO(ahe): These types shouldn't be looked up in scope, they come
// directly from dart:core.
KernelTypeBuilder intType =
@@ -171,13 +172,14 @@ class KernelEnumBuilder extends SourceClassBuilder
charEndOffset);
members["toString"] = toStringBuilder;
String className = name;
- for (int i = 0; i < constantNamesAndOffsets.length; i += 2) {
- String name = constantNamesAndOffsets[i];
- int charOffset = constantNamesAndOffsets[i + 1];
+ for (int i = 0; i < constantNamesAndOffsetsAndDocs.length; i += 3) {
+ String name = constantNamesAndOffsetsAndDocs[i];
+ int charOffset = constantNamesAndOffsetsAndDocs[i + 1];
+ String documentationComment = constantNamesAndOffsetsAndDocs[i + 2];
if (members.containsKey(name)) {
parent.addCompileTimeError(templateDuplicatedName.withArguments(name),
charOffset, parent.fileUri);
- constantNamesAndOffsets[i] = null;
+ constantNamesAndOffsetsAndDocs[i] = null;
continue;
}
if (name == className) {
@@ -185,11 +187,11 @@ class KernelEnumBuilder extends SourceClassBuilder
templateEnumConstantSameNameAsEnclosing.withArguments(name),
charOffset,
parent.fileUri);
- constantNamesAndOffsets[i] = null;
+ constantNamesAndOffsetsAndDocs[i] = null;
continue;
}
KernelFieldBuilder fieldBuilder = new KernelFieldBuilder(
- null,
+ documentationComment,
null,
selfType,
name,
@@ -205,13 +207,13 @@ class KernelEnumBuilder extends SourceClassBuilder
}
MapLiteral toStringMap = new MapLiteral(toStringEntries, isConst: true);
KernelEnumBuilder enumBuilder = new KernelEnumBuilder.internal(
- null,
+ documentationComment,
metadata,
name,
new Scope(members, null, parent.scope, isModifiable: false),
new Scope(constructors, null, null, isModifiable: false),
cls,
- constantNamesAndOffsets,
+ constantNamesAndOffsetsAndDocs,
toStringMap,
intType,
listType,
@@ -241,7 +243,7 @@ class KernelEnumBuilder extends SourceClassBuilder
@override
Class build(KernelLibraryBuilder libraryBuilder, LibraryBuilder coreLibrary) {
cls.isEnum = true;
- if (constantNamesAndOffsets.isEmpty) {
+ if (constantNamesAndOffsetsAndDocs.isEmpty) {
libraryBuilder.addCompileTimeError(
messageEnumDeclartionEmpty, charOffset, fileUri);
}
@@ -261,8 +263,8 @@ class KernelEnumBuilder extends SourceClassBuilder
new DirectPropertyGet(new ThisExpression(), indexField)
])));
List<Expression> values = <Expression>[];
- for (int i = 0; i < constantNamesAndOffsets.length; i += 2) {
- String name = constantNamesAndOffsets[i];
+ for (int i = 0; i < constantNamesAndOffsetsAndDocs.length; i += 3) {
+ String name = constantNamesAndOffsetsAndDocs[i];
if (name != null) {
KernelFieldBuilder builder = this[name];
values.add(new StaticGet(builder.build(libraryBuilder)));
@@ -294,8 +296,8 @@ class KernelEnumBuilder extends SourceClassBuilder
..parent = constructor);
}
int index = 0;
- for (int i = 0; i < constantNamesAndOffsets.length; i += 2) {
- String constant = constantNamesAndOffsets[i];
+ for (int i = 0; i < constantNamesAndOffsetsAndDocs.length; i += 3) {
+ String constant = constantNamesAndOffsetsAndDocs[i];
if (constant != null) {
KernelFieldBuilder field = this[constant];
field.build(libraryBuilder);
« no previous file with comments | « pkg/front_end/lib/src/fasta/builder/enum_builder.dart ('k') | pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698