| Commit-Queue | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
beginEnumDeclarationPrelude(enum)
handleIdentifier(E, enumDeclaration)
handleNoTypeVariables(()
beginEnumDeclaration(enum, null, enum, E)I did not expect the `handleNoTypeVariables` to be moved (I mean the `parseVariables` is move before the `beginEnumDeclaration` in the parser so it makes sense I guess, but the comment in listener said that `beginEnumDeclarationPrelude` had "Substructure metadata" (which doesn't seem true either --- the "metadata*" is before the enum?)).
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Commit-Queue | +2 |
//int endOffset = popCharOffset();Johnni Wintherremove?
Done
beginEnumDeclarationPrelude(enum)
handleIdentifier(E, enumDeclaration)
handleNoTypeVariables(()
beginEnumDeclaration(enum, null, enum, E)I did not expect the `handleNoTypeVariables` to be moved (I mean the `parseVariables` is move before the `beginEnumDeclaration` in the parser so it makes sense I guess, but the comment in listener said that `beginEnumDeclarationPrelude` had "Substructure metadata" (which doesn't seem true either --- the "metadata*" is before the enum?)).
The term "substructure" seems to be used to mean "what can be expected to be parsed at this point". Any parsed metadata will be on the stack at `beginEnumDeclarationPrelude`, so this is correct.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
5 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:
```
The name of the file: pkg/front_end/lib/src/source/outline_builder.dart
Insertions: 0, Deletions: 2.
@@ -3309,8 +3309,6 @@
}
}
- //int endOffset = popCharOffset();
-
List<TypeBuilder>? interfaces =
nullIfParserRecovery(pop()) as List<TypeBuilder>?;
List<TypeBuilder>? mixins =
```
[parser] Change enum listener calls
This aligns the call to `Listener.beginEnum*` with that of `Listener.beginClass*`. A `beginExtensionPrelude` is added, replacing the call to `beginUncategorizedTopLevelDeclaration` and matching the call to `beginClassOrMixinOrNamedMixinApplicationPrelude` for classes. `beginEnumDeclaration` and `endEnumDeclaration` replaces the `beginEnum`/`endEnum` pair, matching the calls to `beginClassDeclaration`/`endClassDeclaration` with the name and type parameters now available at `beginEnumDeclaration` similar to `beginClassDeclaration`. This helps supporting primary constructors in enums because the enclosing enum can be prepared in `beginEnumDeclaration` before calls to `endPrimaryConstructor`.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |