| { |
| "bindings": { |
| "dart": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "dart/step_00_before.dart", |
| "steps": [ |
| { |
| "fidl": "step_02_during", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Add the new method to protocol implementations.", |
| "Start using the new method in client code." |
| ], |
| "source": "dart/step_03_after.dart", |
| "step_num": 3 |
| }, |
| { |
| "fidl": "step_04_after", |
| "step_num": 4 |
| } |
| ] |
| }, |
| "go": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "go/step_00_before/step_00_before.go", |
| "steps": [ |
| { |
| "instructions": [ |
| "Embed the protocol's `WithCtxTransitionBase` struct into the server type." |
| ], |
| "source": "go/step_01_during/step_01_during.go", |
| "step_num": 1 |
| }, |
| { |
| "fidl": "step_02_during", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Implement the new method for the server type.", |
| "Remove the protocol's `WithCtxTransitionBase` struct from the server type.", |
| "Start using the new method in client code." |
| ], |
| "source": "go/step_03_after/step_03_after.go", |
| "step_num": 3 |
| }, |
| { |
| "fidl": "step_04_after", |
| "step_num": 4 |
| } |
| ] |
| }, |
| "hlcpp": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "hlcpp/step_00_before.cc", |
| "steps": [ |
| { |
| "fidl": "step_02_during", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Add the new method to protocol implementations.", |
| "Start using the new method in client code." |
| ], |
| "source": "hlcpp/step_03_after.cc", |
| "step_num": 3 |
| }, |
| { |
| "fidl": "step_04_after", |
| "step_num": 4 |
| } |
| ] |
| }, |
| "llcpp": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "llcpp/step_00_before.cc", |
| "steps": [ |
| { |
| "fidl": "step_02_during", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Add the new method to protocol implementations.", |
| "Start using the new method in client code." |
| ], |
| "source": "llcpp/step_03_after.cc", |
| "step_num": 3 |
| }, |
| { |
| "fidl": "step_04_after", |
| "step_num": 4 |
| } |
| ] |
| }, |
| "rust": { |
| "starting_fidl": "step_00_before", |
| "starting_src": "rust/step_00_before.rs", |
| "steps": [ |
| { |
| "instructions": [ |
| "Add `#[allow(unreachable_patterns)]` to the server's request stream match.", |
| "Add an underscore arm to the server's request stream match." |
| ], |
| "source": "rust/step_01_during.rs", |
| "step_num": 1 |
| }, |
| { |
| "fidl": "step_02_during", |
| "step_num": 2 |
| }, |
| { |
| "instructions": [ |
| "Add the new method to the protocol's `ProxyInterface` implementation.", |
| "Remove `#[allow(unreachable_patterns)]` from the server's request stream match.", |
| "Replace the underscore arm in the server's request stream match with one that handles the new method." |
| ], |
| "source": "rust/step_03_after.rs", |
| "step_num": 3 |
| }, |
| { |
| "fidl": "step_04_after", |
| "step_num": 4 |
| } |
| ] |
| } |
| }, |
| "fidl": { |
| "step_00_before": { |
| "instructions": [], |
| "source": "fidl/step_00_before.test.fidl" |
| }, |
| "step_02_during": { |
| "instructions": [ |
| "Add the new method and mark it with the `[Transitional]` attribute." |
| ], |
| "source": "fidl/step_02_during.test.fidl" |
| }, |
| "step_04_after": { |
| "instructions": [ |
| "Remove the `[Transitional]` attribute from the new method." |
| ], |
| "source": "fidl/step_04_after.test.fidl" |
| } |
| }, |
| "title": "Add a protocol method" |
| } |