blob: 3f4a1c80c6c1e0ae44c7d18aee9d2a0e57858c18 [file] [log] [blame]
{
"bindings": {
"dart": {
"starting_fidl": "step_00_before",
"starting_src": "dart/step_00_before.dart",
"steps": [
{
"fidl": "step_02_during",
"step_num": 2
},
{
"instructions": [
"If using a custom unknown with the [Unknown] attribute, update readers and writers to use `isUnknown` and `$unknown`."
],
"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": [
{
"fidl": "step_02_during",
"step_num": 2
},
{
"instructions": [
"If using a custom unknown with the [Unknown] attribute, update readers and writers to use `IsUnknown` and the `_Unknown` constant.",
"You can now use any flexible enum specific APIs"
],
"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": [
{
"instructions": [
"Remove any usages of the enum as a non-type template parameter. These usages are not supported for flexible enums."
],
"source": "hlcpp/step_01_during.cc",
"step_num": 1
},
{
"fidl": "step_02_during",
"step_num": 2
},
{
"instructions": [
"If using a custom unknown with the [Unknown] attribute, update readers and writers to use `IsUnknown` and `Unknown`.",
"You can now use any flexible enum specific APIs"
],
"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": [
{
"instructions": [
"Remove any usages of the enum as a non-type template parameter. These usages are not supported for flexible enums."
],
"source": "llcpp/step_01_during.cc",
"step_num": 1
},
{
"fidl": "step_02_during",
"step_num": 2
},
{
"instructions": [
"If using a custom unknown with the [Unknown] attribute, update readers and writers to use `IsUnknown` and `Unknown`.",
"You can now use any flexible enum specific APIs"
],
"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": [
"Allow unreachable patterns and add an underscore arm to any `match` statements on the enum."
],
"source": "rust/step_01_during.rs",
"step_num": 1
},
{
"fidl": "step_02_during",
"step_num": 2
},
{
"instructions": [
"If using a custom unknown with the [Unknown] attribute, update readers and writers to use the `ColorUnknown!` macro (or `is_unknown` outside of match statements) and `unknown`.",
"You can now use any flexible enum specific APIs"
],
"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": [
"Change from `strict` to `flexible`",
"If the enum had a member representing an unknown enum, add the `[Unknown]` attribute to it"
],
"source": "fidl/step_02_during.test.fidl"
},
"step_04_after": {
"instructions": [
"If transitioning away from a custom unknown member, you can now remove the placeholder member at this point."
],
"source": "fidl/step_04_after.test.fidl"
}
},
"title": "Change an enum from strict to flexible"
}