| { |
| "bindings": { |
| "dart": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "dart/step_00_before.dart", |
| "steps": [ |
| { |
| "instructions": [ |
| "Evolve readers first by updating switch statements on the union tag to handle the soon-to-be-added variant as part of a default case." |
| ], |
| "source": "dart/step_01_during.dart", |
| "step_num": 1 |
| }, |
| { |
| "fidl": "step_02_after", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Writers can now start producing instances of the new variant.", |
| "Readers should handle the new variant in switch statements." |
| ], |
| "source": "dart/step_03_after.dart", |
| "step_num": 3 |
| } |
| ] |
| }, |
| "go": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "go/step_00_before/step_00_before.go", |
| "steps": [ |
| { |
| "instructions": [ |
| "Evolve readers first by updating switch statements on the union tag to handle the soon-to-be-added variant as part of a default case." |
| ], |
| "source": "go/step_01_during/step_01_during.go", |
| "step_num": 1 |
| }, |
| { |
| "fidl": "step_02_after", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Writers can now start producing instances of the new variant.", |
| "Readers should handle the new variant in switch statements." |
| ], |
| "source": "go/step_03_after/step_03_after.go", |
| "step_num": 3 |
| } |
| ] |
| }, |
| "hlcpp": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "hlcpp/step_00_before.cc", |
| "steps": [ |
| { |
| "instructions": [ |
| "Evolve readers first by updating switch statements on the union tag to handle the soon-to-be-added variant as part of a default case." |
| ], |
| "source": "hlcpp/step_01_during.cc", |
| "step_num": 1 |
| }, |
| { |
| "fidl": "step_02_after", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Writers can now start producing instances of the new variant.", |
| "Readers can replace the default case by handling the new variant directly." |
| ], |
| "source": "hlcpp/step_03_after.cc", |
| "step_num": 3 |
| } |
| ] |
| }, |
| "llcpp": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "llcpp/step_00_before.cc", |
| "steps": [ |
| { |
| "instructions": [ |
| "Evolve readers first by updating switch statements on the union tag to handle the soon-to-be-added variant as part of a default case." |
| ], |
| "source": "llcpp/step_01_during.cc", |
| "step_num": 1 |
| }, |
| { |
| "fidl": "step_02_after", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Writers can now start producing instances of the new variant.", |
| "Readers can replace the default case by handling the new variant directly." |
| ], |
| "source": "llcpp/step_03_after.cc", |
| "step_num": 3 |
| } |
| ] |
| }, |
| "rust": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "rust/step_00_before.rs", |
| "steps": [ |
| { |
| "instructions": [ |
| "Evolve readers first by updating match statements to handle the soon-to-be-added variant as part of a catch-all case." |
| ], |
| "source": "rust/step_01_during.rs", |
| "step_num": 1 |
| }, |
| { |
| "fidl": "step_02_after", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Writers can now start producing instances of the new variant.", |
| "Readers can replace the default case by handling the new variant directly." |
| ], |
| "source": "rust/step_03_after.rs", |
| "step_num": 3 |
| } |
| ] |
| } |
| }, |
| "fidl": { |
| "step_00_before": { |
| "instructions": [], |
| "source": "fidl/step_00_before.test.fidl" |
| }, |
| "step_02_after": { |
| "instructions": [ |
| "Add the new variant" |
| ], |
| "source": "fidl/step_02_after.test.fidl" |
| } |
| }, |
| "title": "Add union member" |
| } |