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

Unified Diff: mojom/mojom_parser/serialization/serialization.go

Issue 1767033002: Mojom parser: Compute and validate struct field ordinals. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Maintain the property that the fields of a module.Struct are sorted in declaration order. Created 4 years, 9 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: mojom/mojom_parser/serialization/serialization.go
diff --git a/mojom/mojom_parser/serialization/serialization.go b/mojom/mojom_parser/serialization/serialization.go
index d4ddff381d686ebae1af195f87ca6e15234a0153..502dea48e8cfd3aa202c13dbc10f596269f0dd13 100644
--- a/mojom/mojom_parser/serialization/serialization.go
+++ b/mojom/mojom_parser/serialization/serialization.go
@@ -256,7 +256,7 @@ func translateMojomStruct(s *mojom.MojomStruct) mojom_types.MojomStruct {
mojomStruct.DeclData = translateDeclarationData(&s.DeclarationData)
mojomStruct.DeclData.ContainedDeclarations = translateContainedDeclarations(&s.NestedDeclarations)
- for _, field := range s.Fields {
+ for _, field := range s.FieldsInOrdinalOrder() {
mojomStruct.Fields = append(mojomStruct.Fields, translateStructField(field))
}
@@ -611,8 +611,11 @@ func translateDeclarationData(d *mojom.DeclarationData) *mojom_types.Declaration
}
// declaration_order
- // TODO(rudominer) DeclarationOrder is currently not populated.
- declData.DeclarationOrder = -1
+ if d.LexicalPosition() < 0 {
+ declData.DeclarationOrder = -1
+ } else {
+ declData.DeclarationOrder = d.LexicalPosition()
+ }
// container_type_key
containingType := d.ContainingType()
« no previous file with comments | « mojom/mojom_parser/parser/resolution_test.go ('k') | mojom/mojom_parser/serialization/serialization_test.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698