Mojom compiler frontend: Populate the declaration_order field for Methods.
This is a pretty minor change. We have not been populating the declaration_order field for MojomMethod in the intermediate representation even though the infrastructure is there to do that. We rectify this here. This simply allows the generators to write methods into the generated source in original lexical order if they wish to do so.
We do not yet consume this in the old backend. (Currently the generators in the old backend are writing the methods in ordinal order. This differs from what version 1 of the compiler used to do I think.)
R=azani@chromium.org
Review URL: https://codereview.chromium.org/1844103002 .
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/dart_to_cpp/dart_to_cpp.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/dart_to_cpp/dart_to_cpp.mojom.dart
index 6ce4364..7a79c08 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/dart_to_cpp/dart_to_cpp.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/dart_to_cpp/dart_to_cpp.mojom.dart
@@ -1331,7 +1331,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/9yaz2/bNhTHJdlObMdOnMTNvK3rPKDFsmKN0x8ojJ08dBkyrBiMtSjak6vGrK3Blj1JHrJbjjvu2D9lf8L+hByz2467FNitJdtHh6VJWhYk0YmAB1oNa/H74ePj45NrxvurAu0+tPy/0zbPtXy/U2h3sWWx1eG+Be1zaE+gvY7tKrbHz9oHnR8Pnn3Ttb2gE4w6R+Px3oPx+JHTRaTfDWyfyfp9hz9DR2W/g6P+6Fuv5+O/f4Xti3n9Hjp+AOM8BD1EZwZbk9H97n7t/N4kOnc+vP/r5jkXg+FCr/+4+xZ3T+eFPvcNXIeG+NrAtoqNIvwUf97GJsE7M4+EYxHbE2w/YWv0R0PU8Cbd0dBxkdcYjn4ZNXzv6P0H8q2NiesEAfIDv4GGL1C3i7wOucWd2YeS/sPZ59UZfyKcm08e5t6cvc4Z/7zOmdh4f9q1gEsWuKyI+Z5xXMj3qviy/QjffQnfTWwFbI8CrO0xmvoJr+tLbFaCHOvcc8+4dp5O6kdNic6PQetU5y0P/TqR66VXUnrzxofrio9DBhef5vnDOx8Lwwn3U/lDFVuJxBM88u8d1/H7qCvic/OC+8NV0MrqZF3iovsDiTeLcJrnD23H7f2M/PHI9ZGIz61L4g+szsvkD2bM/kBSC5U/7Gnyh7YVrz+wOnX6A+8HLS6PIn8nE/yvEe4Kw4f1K/4qQR4zcMQ89oBh0vNvSPIv1k/ZFHjRfFm1/kzmuWnlwxUYCz0qUD+VHCNm5uW2pny4CucLys1i/p5hxnkCnY5zIfe5BeP/3DwYBQ8GDnJleeEdTXGtZcWcB1OdmvPgZYtr9Lx5BGdK0fxXNcS1muQ8HLbuEDWOnfJ5xILrbd7+QfItkd/dTXmdnXJtnHnzRc4j+fm3Yp5/suWKuNzTNP+HmXjnn+jTOf814Ditf5ryOGtArI0zzsr4XMFWxuZOhj/goduBgzNsiR+UE+Sz6H6Tj8DBVOw3a5D/2F7PkK2DGxr3G5pv0tQ4bF1aFW8s5p5fhzRf3q3Gmy/ToYnyZWbYM/wLsN8mxf8V/s4tbH/C8/6A9XkCgfYY4tEY6sN9WKDPoU78dBXOvQC6XYC2CC3U89slaMvQrsP/34DnguBXm+r4sJLy+dJ37t8TzUsR5jXNuKCKj3HHhXP9d++I9K9p0p9VjHdR/VYo/bfvi/SXNOnPSMa7HkF/JsS+4DtN4b5QTjguyfQXFXF2Uf3ZEPM/kaz/dYjNaesvSMZbi6A/F0q/eP1vaNKfV9RLF9W/Ekq/eP1XNOlfVdQNFtW/GmL9TyTrf1NT/LMk461H0J9XnA9oPe7lYGQHnd/sgaQ+tbVkHK5H4FAIzcFxX0o4bC8Zh90IHIqhObi2K+FQ1cTBlIx7PwKHNQWHLdiDu6PJiwE6Xxg8hyua4qOMQzMCh1J4DtOFwXPYWTIOrQgcyuE5TBcGz+EjDRxMRR3lMAKH9RD5gmsPhe+9agm/96pI6uMsD0vwPpBe7Qg8NhR+QeuPfuA5bq9je579u4gLfR+UdH3JhDHzdSHZuYHlllVw+zoCt4qC2w6cLYbI9+0e6vRttztAs9w+AZZp+JMZgcvTCFw2FVy2ISft2oE9hSLwJ/L7zGspcbHm1BlJbOxL6oz/Q/v3nHp/i6sztkPU+9mfENThmbKfGfD8riV8ruffB4zN5fo9iYuOhe9JPofPacSpJH9Povt9A+XsBGgo4lyHPmlzTut9w9sAAAD//+quIuEoMAAA";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/9yaz2/bNhTHJdlObMdOnMTNvK3rPKDFsmKN0x8ojJ08dBkyrBiMtSjak6vGrK3Blj1JHrJbjjvu2D9lf8L+hByz2467FNitJdtHh6VJmRIs0YmAB1oxY/H74ePT45NqxvujAu0+tPzfaZvnWr7fKbS72LLY6nDegvY5tCfQXsd2FdvjZ+2Dzo8Hz77p2l7QCUado/F478F4/MjpItLvBrbPZP2+w5+hY2i/g6P+6Fuv5+Pvv8L2xbx+Dx0/gHEegh6iM4Otyeh+d752fm4SnTsfnv9185yLwXChx3/ceYs7p/NCr/sGjkNDfGxgW8VGEX6KP29jk+CdmUfCsYjtCbafsDX6oyFqeJPuaOi4yGsMR7+MGr539P4D+dXGxHWCAPmB30DDF6jbRV6HnOLO7EVJ/+Hs9eqMPxHOzScPc2/OXueMf17nTGy8P+1awCULXFbEfM84LuR3w/jy/fYlfDexFbA9CrC2x2jqJ7yuL7FZCXKsc9c949p5OqkfNSU6PwatU523PPTrRK6XHknpzRsfris+DhlcfJrnD+98TIUT7meG+EMVW4nEEzzy7x3X8fuoK+Jz84L7w1XQyupkXeKi+wOJN6qcLAV/aDtu72fkj0euj0R8bl0Sf2B1XiZ/MCP4Q0bBH0hqEeYPe5r8oW0t1h9YnTr9gfeDFpdHke/JBP9rqB0qfFi/4o8S5DEDR8xjDxgmPf+GJP9i/ZRNgaPmy2Hrz2Sum1Y+XIGx0K0C9VPJNmJmXm5ryoersL+g3Czm+wwzzhPodJxTvM9F9Oe5eTAKHgwc5Mrywjua4lrLWnAeTHVqzoOXLa7R/eYR7ClF81/VENdqkv2wat0hbhw75fOICJxNhfsHybdEfnc35XV2yrWq60wlb77IeSQ//1YEPpbC/JNbrojLPU3zf5hZ7PwTfTrnvwYcp/VPUx5nDYi1i4yzMj5XsJWxuZPhD3joduDgDFviB+UE+US93+RjcAiLg2uQ/9hez5Ctgxsa7zc036SpsWpdOizeWMw5vw5pvrxbXWy+TIcmypeZYc/wL8D9Nin+r/BvbmH7E673B6zPEwi0xxCPxlAf7sMCfQ514qersO8F0O0CtEVooZ7fLkFbhnYd/n8DrguCX22Gx4eVlPeXvnP/nmheijCvacaFsPi46Lhwrv/uHZH+NU36syHjjarfUtJ/+75If0mT/oxkvOsx9GcU7gu+0xTeF8oJxyWZ/mJInI2qP6sw/xPJ+l+H2Jy2/oJkvLUY+nNK+sXrf0OT/nxIvTSq/hUl/eL1X9GkfzWkbhBV/6rC+p9I1v+mpvhnScZbj6E/r1CPezkY2UHnN3sgqU9tLRmH6zE4FJQ5OO5LCYftJeOwG4NDUZmDa7sSDlVNHEzJuPdjcFgL4bAF9+DuaPJigM4XBs/hiqb4KOPQjMGhpM5hujB4DjtLxqEVg0NZncN0YfAcPtLAwQypoxzG4LCukC+49lD43KuW8HOviqQ+zvKwBM8D6dGOwWND4Tm9H3iO2+vYnmf/LuJCnwclXV8yYcx8XUi2b2C5ZUO4fR2DWyWE2w7sLYbI9+0e6vRttztAs9w+AZZp+JMZg8vTGFw2Q7hsQ07atQN7CkXgT+T9zGspcbHm1BlJbOxL6oz/Q/v3nHp/i6szthXq/ewrBHW4puw1A57ftYT39fzzgLG5XO+TuOhY+Jzkc/icRpxK8n0S3c8bKGcnQEMR5zr0SZtzWs8b3gYAAP//ZmL1wygwAAA=";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/imported/sample_import.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/imported/sample_import.mojom.dart
index 9a6ee91..0adae93 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/imported/sample_import.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/imported/sample_import.mojom.dart
@@ -542,7 +542,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/8yYzXLTPhDA5eTfP2mblkC/0g/AhQIFhrjHDqd2SoZm6DCZNoeUSz8NMVN/YLszcOPII3DkEXgEjn2UHjlyAzlexfZaSm1IjDWzo9iSI+1Pq9Vqq8QvFajXoMbvWV1CNe5HpOB/RqiswuttqC2oP0P9FeoHVG5Tae036wcv6/vPNN0ybVc9rW0apttR7b3OkaUS8oT2ucft14AfDcNV7TdHJ2r3f+9QmeP2b5qa4fZp9wd8RNuWue37qhudWre0Qe8K0tt7LlJpjgTPHqrvJcSvHH1u3+Rz/gn1BomWNfT+F5Qm4ZdpGBKrcovKDBXBMsTmMwV6v6ayS0XpmLqq2Oenpq4Zqq3o5jtTcewT/4d1fnymnSgaWypHOdaMU8146yiu6riO4hzp1pl64I9e877R/XFk4MjGt8DevhWi+jO7q0rIvuF5LCW/toDfDSqjns71rdbmqxc7dXj/EGyPy68W9MYcvfUoZMAx6X5jdjtG+HwrEp/L+BV81xPa5ySV/6lsNXa3PLgr9PeSkCvrFbfPmZxxTcqxPCCOFfDZrd1G1/DYPPkcWa84x9mccWT8ZKwv4init434HQr4zcNe558yhNylshDmKeiIea7A3ho2TzxuNWRfErITKXS+Y76XAj4ivgTxXRN8PwU+47m5RwG4HaoTd973M7I/GXG6RHVSfdcF+i6CziF9n9rq+3M6K35cBWXYepcEdlBF8ygRPqcf7PtiOr+1IeA0AXGFH635/mcyvM+gAfPyzt5rGe2rQjhOlqJ6r6N5jZBkJYl9hfcnLqOwfh8EcboMazhsPmk5/PcHHKQEHD4KOCxnxKHffipw/HIlob9Ju49Y/B7bR9CAxx/PKK5fhbVn/qQD++gLxPUXxf7xZ8+upcg19K/vR6L4Xoa1ivILAnvMsZzRuXXVfZbF85Igni8J4tBCSjvcThjPx+6ZKJDHHCdywjEpt+KAuOH4nc0PcesF7pjbZM65Mf/I7uuD4lYGv7KzudcKx12IG2uOcbueE26i+B3bxSr4JsH/9AxkWPmkOWCGs2Mxf4k64PnM/6N80iewvwtBPklG582GFORt0vA7THnePIY7pohfDX2AeS5kZMdp86XsPJpOmV+aGVJ+KZa3w5yhI+a7mFO+onwoLrMpebYTnlNsvkKeQaqJa7dLOeX6OwAA///rt7rUOBkAAA==";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/8yYzXLTMBCA5YRC2qYlQH/SH8CFAgGGuMcOp3ZKhmboMJk2h5RLfw0xU/9guzNw48gjcOQReASOfZQeOXIDuV7F9lpKbUiMNbOj2JIj7afVarVV4pcK1CtQ4/esLqEa9yNS8D8jVGrwehNqC+ovUH+D+iGVO1Tau63G3qvG7nNNt0zbVY/r64bpdlV7p3tgqYQ8pX3uc/s14UfTcFX77cGRevG/d6nMcvu3TM1w+7T7Az6mbUvc9l3VjU7tonRA7wrS23suUmmNBM8eqh8lxK8cfe7c5HP+BfUaiZYV9P43lBbhlykYEqtym8o0FcEyxOZzC/R+Q2WbitI1dVWxT49NXTNUW9HN96bi2Ef+D+v08EQ7UjS2VI5yqBnHmvHOUVzVcR3FOdCtE3XPH73ufaP748jAkY1vgb19L0T1Z3ZXlZB9w/NYSn4dAb8bVEY9nRsb7fXXL7ca8P4R2B6XXz3ojTl661HIgGPS/cbsdozw+VYkPpfxS/iuJrTPSSpXqWw0tzc8uMv096KQK+sVt8/pnHFNyrE8II4V8Nnt7eaF4bF58jmyXnGOMznjyPjJWF/EU8RvE/HbF/Cbg73OP2UIuUdlPsxT0BHzXIa9NWyeeNxqyL4kZCdS6HzHfM8FfER8SYgv7z0JnR+ez3hh7lAAbpfqxJ33g4zsT0aczlGdRF+vrAr0XQCdQ/o+s9UPp3RW/LgKyrD1LgnsoIrmUSJ8Tj/Z98V0fmtNwGkC4go/WvP9z2R4n0ED5uWdvdcy2leFcJwsRfVeRfMaIclK0v1UE3w/Cuv3URCny7CGw+aTlsOVv+AgJeDwScBhKSMO/fZTgeOXKwn9Tdp9xOL32D6CBjz+eEZxfQ3WnvmTLuyjrxDXnxX7x589u5Yi19B/vh+J4nsZ1irKLwjsMcdyRufWZfdZFs9Lgni+JIhDCyntcDNhPB+7Z6JAHnOcyAnHpNyKA+KG43c2P8StF7hjbpM558b8I7uvD4pbGfzK1vpOOxx3IW6sOcbtek64ieJ3bBc18E2C/+kZyLDySbPADGfHYv4SdcDzmftP+aTPYH9ngnySjM6bNSnI26Tht5/yvHkCd0wRvzr6APOcz8iO0+ZL2Xk0lTK/ND2k/FIsb4c5Q0fMdyGnfEX5UFxmUvLsJDyn2HyFPINUE9duF3PK9U8AAAD//48kgpk4GQAA";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/math/math_calculator.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/math/math_calculator.mojom.dart
index 643c892..52913ba 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/math/math_calculator.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/math/math_calculator.mojom.dart
@@ -790,7 +790,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xXS2vyQBQ1+n0Q9XvYp+lO6MZNHZfSlaUIhVJw0Y1QkJhMa0oeNo9C/0l/nssuu+yunTR3dLxNSARFW3LhMk06Q+45nHMGlUJUNVjbsOL3fJXRivd1hGdJ2NeAvdeDfm942RucWqo/bp2rphaYqu+4CuwPz5WEc03hvFhv6LmLntvo/TvURSG+dllXWM8nit7XWf9njcb9gluG8zchRtZk7FiUuIHuWIZNXWI59w7xXC36YxKMTEMjhu1T91bVqEdGhq0b9p1HfOr5Hgk/N9Rmn2uFp6w4vjkv+8BbAXgsCv8vCef6v6L1uRzP75TzK2XjV6yQ32YCv39Z/w75NanqxuAow8zr5q+BdDtFaxpOrqN2As4DwPqJ88SlDwGbJwYvr3XjlRP8qKA5ZKQDzM+rtBp+Dln/E/jxJo7t0c3xg3npxuQY91SWyuIT0XdJPnlUzYAm+KS+AV5EvUjCPEn5IZcWeUvjRUrJjyrk2Jmux947lQ3nx6r8sQdYGU4hPXJ/ZPVHBe7rbfHHuvUS3vt/ZnrhaZrrZRm9HH+jPC1m5KWYkqc1mOUqMH1jYj5hXqo/JE8VwMRx8lDN/ZHNH1XImG3N0xf0eyWrXjoJfByx3lnUyzxU81xdSjfNLdLNRwAAAP//xXhfzegQAAA=";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xXTWvyQBA2+r4Q9f3w/WhNb0IvXup6lJ4sRSiUgodehILEZFtT8mHzUeg/6c/z2GOPvbWbZlbXaRYjKNqSgWGa7Q6Z5+GZJ6gVkqhBbUPF57yqqOJ7HeFZEe414O7loN8bnvcGx44ejlunum1Eth56vgb3476S0NcU+sV4Qc9d9NxG568QZ4X0+MuywnI+UXJeZ/mbJRr3A24V+q9ijCzJ2HMo8SPTcyyX+sTxbj0S+EbyxyQa2ZZBLDek/rVu0ICMLNe03JuAhDQIAxK/bmjMXteKu5w0vjkv/4G3AvBYFP5fEvr635L6WE7nd8r5VbLxi6MpOf/J8nvMr011PwVHGWbeNH8NpNspqstwch3J8O8B1necRz69i9g8KXh5bBqvKtlHDc2hIh1gfp6V9fCzz/KXwE8w8dyAbo8fzEs3xcf4TmWJde3JvW5HVLIn9S3wIupFEeaR+YdaWuRtGS8KpIyXKvjYiWmmfncqW/aPde3HP8DKcAruke9H1v2owPd6V/Zj03qJv/s/ZnrhbprrZRW9HH4iPy1m5KUIKeOlBrNcRHZoTewHzEv1i/ipBpg4Tm6q+X5k248qeMyu+ukT+r2SVS8dCR8HLP8s6mVuqrmvrqSb5g7p5i0AAP//5ns7IOgQAAA=";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/examples/echo.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/examples/echo.mojom.dart
index fc33d16..eb38ddc1 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/examples/echo.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/examples/echo.mojom.dart
@@ -406,7 +406,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/5JggAABKL0CSqOLWyDxGYGYA8qXAWIRIM7Nz8q3skqtSMwtyEkttrJyTc7Ix6Ye3VwDKK0MxNJAHBIZ4Brv7RppBTJQD2aeHsw4nOY44HAfseZKQPWB9DMj6deA0gpQ2oMRQidAaQY0+2HhNANKL4DS/6FgAwN2gO5uBSz+ZEcSFwZibiAOTi0qy0xO9UvMTSUqPniAmAWIYXwpIBaCqscSLBjhzAnEXEBsCcSGQKyfkZ+bql9UmpKfm5mXWqQPMke/uChZH2aWfirQLDChB5LLJTLdoNsL4/NAwwlXuKHH1wkYzYQ9vhjQ0iEDWnwZ4IgvIWg4gNwbXFKUmZeOPbxAapioEF7o6QHuL0bS/GOBwz+wdIDwj25RamFpanEJdn/BAKX+Qo8/BxzlzQUG4gAx4YCcTtABLxCzAnFZYk5pKo74FKWSvxmQ0jKucpIBqVyiRzqQhpYtKOmguCA/rzh1NB2gpQONAUwHgAAAAP//sUetcLgHAAA=";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/5JggAABKL0CSqOLWyDxGYGYA8qXAWIRIM7Nz8q3skqtSMwtyEkttrJyTc7Ix6Ye3VwDKK0MxNJAHBIZ4Brv7RppBTJQD2aeHsw4nOY44HAfseZKQPWB9DMj6deA0gpQ2oMRQidAaQY0+2HhNANKL4DS/6FgAwN2gO5uBSz+ZEcSFwZibiAOTi0qy0xO9UvMTSUqPniAmAWIYXwpIBaCqscSLBjhzAnEXEBsCcSGQKyfkZ+bql9UmpKfm5mXWqQPMke/uChZH2aWfirQLDChB5LLJTLdoNsL4/NAwwlXuKHH1wkYzYQ9vhjQ0iEDUnxhE4cBIWg4gNwbXFKUmZeOPbxAapioEF7o6QHuL0bi/QMCFjj8A0sHCP/oFqUWlqYWl2D3FwxQ6i/0+HPAUd5cYCAOEBuvGjj08wIxKxCXJeaUpuKIT1Eq+ZsBKS3jKicZkMoleqQDaWjZgpIOigvy84pTR9MBWjrQGMB0AAgAAP//RQMttbgHAAA=";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_structs.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_structs.mojom.dart
index 3e82cdc..1d95d35 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_structs.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_structs.mojom.dart
@@ -6234,7 +6234,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "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";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+ydWXAbR3qAZ3CQIEVJ0EVBK8mLlbUyLa9JgCe4SdaULSpUbEm0JMtUNlkSIoYCbBKAATCmNtksN7tbpVQu5fbLJsqtrTyEOUtVqVTpbZVsDlYeUnrUI59S3JxMKokzQ/xNzjS6G9M9g56mSVbB7aG6iZmv/+n++////juh1X/iUKagxH+PyhhW4vXKbfVyw/y8YH7WUT29Xo5BmYfyIygfQ/kcynioXmagnIJyGcqHUD6Fcg3KWBieA8opKJehfATlKpQbUCYicH9Q5qG8D+UKlM+g3IAyGa2XE1CeNz9nzM/N25Pj02+O3/78Qum9Um/NqNZ6L1Qq2Xu3svOLxs17ZaNar/+y+fkMuf7rhdp2E6iufc78nCXXf6NUrGULxerlYs2ozGVnDav+gPl5xWX968YH5hfVNr+nx3o2drtrtbxRYdzPxWyl9qZx78NSJXejVlmc3fzDQ+bnVZf1e+GqCm0+S2lnzGUX52uXCsZ8bovVOZA/Qv3xhXLtHrojxv1fmi9la1cXF+4Yle0ueMn8fJpcfyJbzM0b8Id74R4I9Szed42K8y8z7vdKtmyCAJlh9ItZb1u6GLyumLAKt4xKtVAqbnVMHzybq/q3Upz105z1BzjrD3HWH2HxvppdMHLXjbtmdSaXqyWC5LHqL87PZ+/MGw45edGse5Jc/7oxW5vMFirNxpUbs6WykTPfymotW6xVt8fxHlf1e8ctgWHI1Y3SgrE1RrDuY/OJrs3Vy+bj2ztFkzBWncXvnWK1cLdo5Bwvzppe70dr/rGmjmf69nxk/W+q03kdP+q8ftrtvN74lPM6c9o5v4296Pz3Jz3Y9WvO6/Ux53Xybef1yk3s/u45r2d+2nk9+S3s+b6NPc8fOq97VrC//xfO6wd/hT3/d7C/913ndeKfndePvof9vX938toI61vX1lS71KU76j87sn1tTeFrp5z/PvHZ+nUS0zdi0M89oIgA5q0fpMeg338MP1Ma+ee4+TlofvBJ2pLdE+anyTTeoAf9kflpNz+3zY/V5X158y3qqyzmSguFolHps/5eX7UyW/+f8uKd+cJsXwG9ZdW+O4VirlC8W+2zvrP+3+lq/U3ptZoswPdkzE+b7XkngUsZ9KEHYaf+shp1csnY7jtk09ea/dB4azbeSI8g/XTC982lyPwssT0ggV8Su2f0/WFNjFNMgJPuhlOazOmPQW6D4hQR5BQX4BRyw6mfzOlPAuYUFeSUEOAUdsNpgMzpTwPm1CbIKSnAKeKG0yCZ058FzCkkyKlHgFPUDachMqc/h/8PipOuOfWTGOG9arPxw/UM9AdWOvj0jEkKr26Y1/DFfRK+k7b8x7n263L0izHQYxCfKeCxBAL4EUyUj5FdBAa6TPvO0DMGzOc5JFk+dcb8p6qeMRgAp3YfOMnWM4YC4NThAyfZesawHqx+r+0QPWPE5HQsIE4h2zjjN0fZekhGr8+9qnDUfeKYEuDY5objMJnjqF63h6jEMUQY/1j6XruNE67vxUG/uR9i85zA9L0ZCk+LlTUfEJ0z5g+y/zZx4zT0Q1GS/odzJMlnFPx9fupzqSb6c9V83OnCNiKcT0mXv+6wfz/6vTV27zc/DiM627/mqMqSY53wfQnM34oMNG7lOM+Y9xIkOQanIfILuHQvNvTXkiR5TmDjRVlny7Wsdco+sDlWjA+IfO5J1itDLZJn3vEjIrjOoY0flvunyxo/wRk3DcBx3l82/8hhibzDAYwfIcb4oWFxGF7tHug5HMED4Es/Thw36jXwfqkpNO/Z7bqtHh/2w3eVgBvOZVGv36tsLm7nIzTOPouK6VWrFL2KGGRC1KvINXGOX5E4D2ku9FbReJkkjCnoe5Z1Z5xU0PMdkufsh9lCjcDj63p9TgxKf7Pfj9UXCK1of/DyjrTIvleokuXvG7ucd8xnO+FBWGdWjFq+Uvqwgfc3P2G8WfOCfRxqiDfV2bwzTeI3nlCeA8X1ubz9hvv6SUnzAG/8JD6uLwG/1ZCTG5LLpC42jmdc2jfQOH7h3QuXrVAmyyx+3iX3XtSIwP+ren0MbDV/UXnHOSconHXNm3zj4/flG/VrFCfnirPZCOe7vMP40uQ45JMco/H6+vjNievX3tUG4d10xRc1Isjx1xTnTNPTV7v90dOtcEprHU0M0oax75STM7EmzvWLmlw9HdcT8PkOjXuu4tN7379UKtXbPYB1zH34O4+A/9a+BjAMxGDd1AMBMhPgX8/DDdyH+IRHEO/6dB+074L2B6D9QagHIHsOw3hwhL3OxfWH5wH5639Uk7f+x/ubNJ7jnMIUTrpkf/2XAuRkMcg14dRO4RSS7K+f1uTZTUQ4RSicIpL99TOKc4pROLVJ9tdnIR5DVU5RCqeYZH/8HcXlqYPCqUuyv31WcXlqo3ASibtqd8NphMwpp7g8dVI4icRdxdxwypA5GYrLU4jCSSTuqsMNp1EypznF5YnG6awAp04Xfum5dIrI6W6AnLZ16ttjNE46hZNI/Nk+V5zSRE55xd87GieR+LIuV5z6iZwKAXJqJk+6zX+A2q9j9Xg47XfFaYDI6T3JnJrF1eF+hS5YoyBLh6h9hLcfxgT64YCrfhgkPu/7MJfI6gddoX6IYv2g2/w5EwL9cNBVPwwRn3dekr2jmT8N8bY272u2+BbK/v6mcZU0vpMCfOOu+A4T+S5ImueTlPnIK1+Wf/IQ2DdYcVCa7k8c1BFg7UhCYv6chhgpSpqShv44J0ne3fCz18P5zWAGUb/ifojJWYhxP+SaOM+/DNifMAXzCJKbJSgfQvkUm+do+ZQeYPmUGPk0GsD0svO6EOqnOev3c9Yf4Kw/yFl/iLP+MGf9Ec76Gc76ow1yM4Plf0B5rx6AwfghGABXwHCTAAFcBoPXWqfYOkG2H+g7EvXfEOG53HKRvU/zqWQuuiAX2fsy/1oyl5Cg/Ub2Psy/kWi/CWnsvCosLqck+3G+K5lLRKJd1Ivf5m8lc4lKtIN68dP8nRZs/D2+TkL3e2tYRA8c1mTYU734e/5e4njOxXtEhPeIFLusF7/RP6jKOyPCO8PNOyPZ/7SqKu9REd6jTPtBp239T7O/IDuCV/sL2v/nSMKp1XNIdjvsBs4aOJceLZj9qknGftWIJm//Tgd0TZ4iNy/D72TaxXUt+Dw6KI44a6Vums43cDkPshZE/oQIIU4KsWu2TzRBeT9TYEdInfXHvncSbKTEJMlaPafxacd7Sq6Jc/+ngO17j2DseYg/N7zPyK4/g9nxnkC5DmUSFN5JLB/6CpTPoYyj8RLKMpQPsfznaOGRgjIN7667vNWWxVCsXVqwXb9guwHBdoOC7YYE2w0LthsRbJcRbAdqAMufSO73lGC7tGC7fsF2A4LtBgXbDQm2GxZsNyLYLiPYbpQ8DsYxO/U6jEMzMK+sojyCYJ9eAft0EgIxH+y3TbzWOAcD/vNDME7CvoYnkPc7BftaHh6H7z8B3w95v9dPsu0NYUXs3+taMHkQmq4PUt7mEV7usvdVfE9V7mlv8zAvd9n7NP5FVe793vQYXu5hyf6Bf1WV+4A3PZCXe0Sy/+HfVOU+6E2PpnGn7XNqk+zf+A9V7fhD3tYhvNxjkv0n/6m4/0R0HcfLvVOyH2VDVe4j3tbBvNy7JPtT/ktV7hlvdgRe7gck+1X+W1Xuo97sMDTuUR/jb7zsE/ofxbij+0UGKVE7Fi/3owLcvew7+l9luac92QF5uYvEVXnZx/R/ynLv92RH5eUuErflZV/Ux8pyH/Bkh+blLhIX5mUflKaryn3Qkx2fxr3NxzgoL/ueQspyH/LkB+HlLhIP5WU/VFhZ7sOe/Ei83EXiog654j5CfN6IstxHPPnheLmPCXA/7Ip7hvi8UWW5Zzz5MXm5i+xrPeKK+yjxeduU5T7qyQ/Mijey1khTTeIBk3F/4gHRfkzHIesaaT+mswbO52ck2evzYKtC8VNbcULgkFsHB0YSFMNJEORl8KOvAPDn4E+PQ57AMTCAlffT34uwps65fT+ryTmfAb/veJNrXm6y94f9XMDcwpRrXm6y94/9PIxLQXFrp1zzcpO9v+wXAuYWoVzzcktK9v9aeWG7A+QWo1zzcpN9zt8vBixvUco1LzfZ5/r9UsDy1kG55uWWkew//eWA5a2Ncs3LbUyy//NXApa3Tso1L7cJyf7LXw1Y3kKUa15uk5L9j78WsLzplGteblOS/Ye/HiA3HbsfXWOfm0VqT7IvdGnb+9Zo9oUnR/yxL6Bz765ky5smEGQ/aDz3zlkDf85vBWRfWEX7DWGhtgIKdBImmhUsPn8VBtIZsCfEIcBjBuLzV+M7w77wG2ADUkHuQwy5TxJ8GrpG3ue3E+wTv6nJ2R/pF3e9Rdxl2zce7jDuzeRd3yH2kd+CZ9pJ3EOE+dWrvMu2r/w2tN2J8t7sHHw/+0W2/eZ3wJ+0k/pFt9WPSXpfZNuHfhd0WRX6JepyXib5L3nzx6puf/o9rZ7zVIV+CTP6xe/1ner2rd/fgeMYml/CtnEq6H6TbV/7A4XsHZEWcpVtf3u0g9fTER/nbdn2u29/guaHiAT7XxwUh624GMp90vIZ4T/o/NMri/O1wi2jUi2Uira074TzT8k18ef+gqTzqcfA7ojkexn4JFBeIbAHPgNHZwbsgcsx+vth94u6tfOh9ksUO1+ZYUfRNXp+eiSX6OcwzBFXCkXog/rvUV6vuWkT4kB/Q3+8ptf1SBn9gfO0WGZ0tv1O5+Cp+8BTb8LzAPgq56YrBim/3pgknjLWCzqjf5rFQS1R7Hxe+yfcpH/QefpzFjUTJN4/F/T6WQyyz70h8Q0x+Caw8cYN37APfKOux5PNTIEN8v+6LjdPoN2OzZJHNA+PUXij+Kp2Dt4Rwu95ebc34d0NY87c9IJRrWbvGtPlQtloHHfe0Ot5TVXIW8n6SQpwjvog1+2ux/U7pdJ8I9+Lupz1FY1nhPL8Z6Ds4ODZ5gPPDh69Iz3cwHNc0jyZgX7F/d9b545AiXgsE/RunTC/6th6LGEbf8IEblHowx7s9+3Y/SVs/dlu+z1N38+H/NH3LV3+KFHfr6c4Owd+Npa+b9XE+3lCDyYf0G7R3y9Leo9Y61L7+0Fdl0ZaLqdp13KabpTTt/Rg8mJP6btLXq/srTd9XW9e3aHrzYb88ILzLm28WYq2fLwZcD3eDDT229u6vHM/7fZLlKd7I7S7xp3re+OOr+POjT07l9J2rpsB2bnw8aYH4+XXuoo27q+3tXzcH3I97g81vjfvShr3e+C9QJzQOatIsKYiu2v8n9ob/30d/2/vjf9Kj/8/vOfnaKmf44uK+DnwcZ5m52y1PZM2Hz/uaPl8POJ6Ph5pHMe+JGk+xu3QS8guBh2Zh/l4FQQz1b675ufpvfnZ1/l5Zm9+Vnp+zu7Nzy2dn+/sxSEEEocwuxeH0NI4hJwuL847SrDfIH0NxQPnA/aXN/gN4L166NO5uyjP3tXsgpG7btxFHdWYZ89ZA++3U5p65+5a/yRr3zrSA4omJY3A5zS8D6rMh7L2le8HWbe0OFJ+xhdgrgtiHotq5H2Bfuh5ouf2onVl8oy/68qrpYvGXNZcMl4qGPO57YN7G9eV5Jp4v41Iet/X4d1Zg+s14LMG/r01GAfXQLFYA8VqDezkazAhrUFHrMF6fQ3yYazBfoINyIsRg7wYCciL0QMPnIFzKycOw/wAeUjycHDE0rF6eR/OsfwIzrF8BOCewXmWMTjHMgMJ+POn6+XTF9jrYU3SONYs/0ZGk7e/gcQhTLlv2edNjgbMoZ1y37LPf/y8JicPMo0DLW5U5FxAL/kivi9gDjHKfYuc0+clf8P3a/XYzqA4RH3Ua7zkS/iBgOWhg6Gn8nLwkp/gCwHLQ5vGtqvxcPCSD+C1gOWhU2Pbv3g4eNl/PxawPISa2Et4OHjZz34hYHmgmOeE8sp42X/+eoDywLIPiORx8bIf/A1JHNzsk2dxEcmj4uW8tosK2U0iDC5nBbh4OU9tXJO3L8K+xuLlMibAxct5Z5c0Ofks4tiai5fLRQEuXs4j+8EAuIQFuIjklfFyXtgE/E4Ffw6Ly1sCXLyc53VZk+NfjGP+E14uIvlyvJy39UMBcBF5j24KcPFyHtabCukvLC4ieX6OuuHST9Zv39oh+suPCHA55ooLWd+9InncRTZBXi4zAly6XXEh67tXNflxMxEBP2FegMtxV1zI+u41+H9ZfkK7bsGbH5TFrSzALeGKG1kftubHQwpxE/VLLwlwO+GKG1lfflsyN71F8rYswO1TrriR9enrmpxz7NxyY8lblMHtvgC3k664kfXtG1o9Nkrme2r/fvR7FA80vlCu3bMlxENxAoR4B0dVXs4PBDifcsWZrL/fDCDepBWcWfEl1jr/YZP4kpmwz/Eli/Pz2TvzxkS2mJs3th+IEF9CrIn306uaevFkLD3R7ziMDuhfPP4Q3WevQnYLu98VP5c54nNcBorDymVrWRKXPk3eucwaNt9Y9/WPEacdnRb/RcsLsQHl4ybvZwZ7PycYfk7rHqygtMlsoYLynjrD1ax/IcvZZwJ6D2d0sXnb7/cQxS/OFSrVGoHPGUnyRptP/NyHwuLqd1woigOvGrOlYq6R64s7lKto3OdzuIHMATbfMey9R/asp1j946Dn3JgtlY3cG6VitZYt1qqb7/MJx/uP1yCPA4sSxwHcPk8aT1MgW4R+wB6od9w6uQ0fXzK2efScu79zc/yqplnWiVfc1b/w1o1r05uNtMZ8zTEIRHgG4/wjmECXILBvAgJ4VjrdjYP2/LytGAebxYV+VfL7qlHeVzReb3a6gJzQ3l/8exCPceDBIReb39MLDXn71W99qlmc6/Ju7de0aL+mhfpVZH71Erf7td3ar/2i/dov1K8i8ZZe4pB/arf264Bovw4I9atI/KiXuOqv79Z+HRTt10Fqv7LsFUcF+tVLnPg3JNor3HBH9lOkt/Lqx7y8ReKPvcSjf1Mx3sg+gxYLousL1rrTHreO30ePzmdnwuNtHlPGhZdgrdzkNW24nyVJ68zzYLtpznmbh/09R/ltnsI6rgc7bwfx2+Kui9mpMpT1Pk3u0XoEPZ/LZUhDP9yDtYaMffg884dbrrrfXNOcXCnrqS/vMK5b9hJ9m4evXPs5uVLWMz+uKFeUF6NTY48LeB4g3zkPcHKmrC9+QlHOrV73uR139vndb4Oc/UZZP3xF0X7roaw78A1Kbu3htDwnx0BHuWE+9mX0WDZ7vu02HTVwju/pcuI5Ewx/hI6tz+x6H84T5U0oh8XswSkKT5Tfx6J1xajlSznyfb+v1+VY1ro1gT33ZMj981o/GcrzIr/p9vO+WjE+WDSqNfJzox8VzoWR6S9F/rIyeJRJ8tCtgB0D94tb/saTdL/eloNc9JwYJI9TPsnjSYghcshjtWwOrsaOkMcNn+Wx2ThVquWNynSZGudgyeXLu1AuYzCZPI+J+Z01mt9589mvzdVLot8Zq0Hul6OS7AH4+v4+8svAvLkM6/tkmxrjLNIPixR5PqapFU+K55djxDk6qpI4y8xfhuaz7HSROJ91A+sg4uvd5C8Lqh/iPvszt/uhUib1w3FNbtw5bz94Hd9J/Fnn2Sd89juieK2F6WJu7sfI65OgzrPXtO08L277Az1ns/x4fWDLJr0fpCa8/ZT02Y+I3pOF6XyV9J6cAHnbKf2UtOkB1rPh8eXIz0DoH0dVln4U1RrPJ0Xfv+GT/QHlF36naA6nNqUnCd+5fdvOGvj97AOGsvWhMuhDz2D9kgF96EmUbHdA/ftMst7T9QnRe0g8QzaeuiT9Zv8u0W+a8Q5J0mMOfML1GBLnsI1zWJK+cnBPX9ls0qw/IpL0kvgu1Utwe0wKgKe62dxp+/NWsfpIXt4pVgt3i0bu6uLCHaPCyv9Mrtkwz+py9wPg6/s8cEfPjfaRPoES6dtoP98klMtQriC7F/K/IrsslGUo+8H3RuhHEqjeWynBdmnBdv2C7QYE2w0KthsSbDcs2G5EsF1GsN1oU/8ypd9Tgu3SxPdgFcVzwUS6gtktH6DE0bC/pAyBBs/BcT25H94j2IeUimvMOMp2Slxfq+ydtP0nL+hqxfWh+xUeD1Ji3GXnQf+0qtzT3sZhXu6y864nVeXe720eo3GPUbjLzvN+RpeX54yL+4A3PYCXu+y88i+qyn3Qmx7Fy112HvuzqnIf8qaH0rh3ULjLzpt/TlXuw970eF7usvP0v6Qq9xFv6yBe7iL7oLycC9CjKveMt3UkjXsnhbuI39bLOQTnVeU+6m0dzstdxA/r5dyDVxTjju5X3B6REuIuct6El3MWPqcs97QnOxDLv91l64//DwAA//+w16vzWEQBAA==";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart
index e9d90e5..e174de4 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart
@@ -3441,7 +3441,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "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";
+ var serializedRuntimeTypeInfo = "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";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/validation_test_interfaces.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/validation_test_interfaces.mojom.dart
index e8c626a..bde1046 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/validation_test_interfaces.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/validation_test_interfaces.mojom.dart
@@ -4498,7 +4498,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xdS3ATRxqe0QM/IEEkwAo2ocQra0IiyS8wVCUrSzZ4K8uWE14m2Y0s5MEaFj0iyVmT3YO39uLaE7flyDFHHznuMUcfc+TI0Ucuqd0Z628809O/pmekabUUTaXptNzSdH/9/a+e7p640rpikP8MOf35iqWsGmkUyp8ZadZIzZLeSBr/NUtasqHVv9eLWrJSKGvJR9V6MlvdqKw1ciWt+Nc7WqP5h0pTqz8qFDXG79H3zUA+baTLRrrzYHkx/8Xig+vl6uNqsmn8Wrtfx3/3ZbiVPzfSe0Z6Bp/vQL4L+X7jjCsN+SrkW5C/gPy/kL+CXAm1sgTkGchXId+C/EfIf4b8DeQXjPQB0t9CQy8uVjbKZr2PjHSmTb3bzfpGsekfvzbfy1UrxuCWC5Wi5ul7ZsX1eqGpVyvO71000of49/Yrzht/P2ek0+x6rS7Pt3B0rZflrJfjrLfAWW+Rs94Nzno3OesttepdMtLZdvXu680SIZlxzRjpE576SfMfs6BXFLjHKfb37lYMBsAwudaDYVIm1Ja8EjmOq3a9lBg7KJsiXjtsLy+ftJczX9vLzwv239t9aC/HNXv55Tp1/8f28osn9vJmzV5+XbeX3zylyv+0661n/zoom6ri+b/t5Z3/sPUd0WNEn5IrTenZ/8G1rLCvY0YyIbYpIeP6rZHeNxKiphztMT+NGsmEL2+kVKla1lL1jbVqWa9o9ZT5O6lGvdj6n9rGwyd6MaUTDdBIPdQra3plvZEy79VIfV94oq/tq5S8+UH+oGbS/IHyfj/N+03A/UuqXf/ORVr5dtSOC6kfU5W2F4brHIXrEvL9MRgiIg+mDjzBxjM5z8CzAuMvCk9e+8SLo9plHLMcOGYZOFb7DEeiJybUYPiY48Axx8CxJimOdDvjiPy5+VVEENuNi2IZl18MrLs5Lgsc47LA6O93ko4Lsb+/KO31L43reJf5vsiB6yID17rkuBKcEhTvR1UqTunQPzB9gMPEPyDBB47n2xo0nkUjjQjEk45DMxR/SLuiCt+F4ahYcLTyG+NjAYlf16CtvcInTtnuGCWvhGc7wK/XiH0i+L6k4m7Csz0EH7o9CQZOI5bPCS9vt+Ym/lQoa12Zv0jAPbEqH0NMxhluO8b5C5BdUePcKR6YfY0dTIm04igok3pbUTZ/XpNy2Lt8mRcmX0eBH7e0Zqm6lna0+4+C9TnNX9JvJeStv2mkv7+BPkN/P61r320YDXHGiXDJpndHBOndd410yPRfC/VCOa0weRGTUO8GzZ843OuAP41atdLQhvzxzp9zfWC3X3uMz/3p3UkHPrcGWu9ODvWuT7m5JanepeWGXAnO+ZglikclBB/iZ2IPXZx+ZtvHMw58lwX7maz7EzxiFpxDEL9GIPY6BJwchRhpHPz6I0Z6B3hkyts2/M4WiUPAf5wDQqePgN95FMbneCvfg4atfgCfn4XnexegDAO+cxl+LwXlGYhfrsPz0s/59Koof/bLoT8rlV4NSaJXv+wTvdorf+QrSeRmZeiP7Ov/N5LIzVewbkQ0LxRkfoXwmCx+4F0f0S15DAUij1MO3G9LIo8/hYOQxylp5JGen6up/SGXt6WWyyz3eiSvOI/6wFnlxXmSjfO5Add/IUvZTf+FA9F/0w7c70ii/xKB+CPTfeWPhCTSeyYvTvZIHs22x1yez/n1KyKByNWMA7+7ksjVs0D8ipmhX9GhfN2V2q/Ica9f9qrHRPsVJs6/k0CPjSjd9Q+igeixWQd+9yTRY1uB6LHZoR7rUI/dk1qPLXLvm2DhHJFIj92DdTQi/VVrLNItvXUoEL11xYHXfUn0ViaQuObKMK7xqa9MXpzpsT8QYqwz9OMveIl7RgKRu6vMfZ0yyN1OIP7C1aG/0KH8rUjtL9zg3j8pe9yzIthfSFD+AKbnVIs/EURcNBqInptz4PtAEj23HIh/MTf0L3zqtwfATdn8C9XydyueQc2zjgUih9cceH890HJ4bSiHPuXQ5MXZHvBC9eDnRxhyqHZZDse7JIcxaAus80nTeH8zYPG2fX/C5NsFgf0gh2GJ5PAbwfF2GrFndLtGArZ/h4ORu0m6H39WBms9ISV3k/0kdzLF2SYv3pc2zr7Jff5Qp/JI9nkeCUYep2jc/6IM1rp4Sh6n+kkeLTD0XB5NXhxT5N/nSfbHj3rkzxyCyynot4U/rY2e1H2HPOLn0Xml//ZXvBOM/p2m8flWEv27FwlE/07Lon8TEGeQdpDzK7dD/eEffQtzLb2YH1AY+vc9iNVth1Iq/OdXYnprTJLnESbeHwnE2yv/jvjAI8SLxxQbj+sDxL92diJsuY+bnXg3GDsxQ+OfH+y4eWYYN/uzC3nJnk+T9pLDbXnPv3Xz23ifpx4NRh5nadxXB1seZ4fy6E8eV6Wex1riPh9b1vM/sMPTned/tD1m3TFu60pvz/+IW/w6tc38Pqb/tgSfD1eSRP+tDs/TkEr/mbw4KYH+I59j57Hyvjei0/PnEsPz56RaZ2HyM6X0x/4qHjs7ymlnMxTPsPOLsbjaPA7quMO+HtSgcV7osT2NUfNG2Dm5xNjGXeSU9xxteh8+eZ6AbL93tHtUkfPc53FB8kvOfdYRfMYgyf5civCqFgivsiivsghuRyTklUi/hcTzjX2U8gUan3cE6ytvcVv3zzPC+DoXCF9zKF9zCF9jEvJVpB9jyqv5SM5odIGFzzHAuN/8GIx3y4HwbgHl3QLCu+OS8k5Ru8s7LM44AbqwrDUahXUtX9NrWoOB0wml9/sSWeuRrXzrhI8/hoPg4yLKx0WEj3HBfJR1nx5lv9donE5Jbb8XuN+byMI5wojzOn0ujq1/Og0xoGl39oU/X6xWGhtlrc7m52l43tqLff4hhX8fHibnmUDszg1Uzm8gcv7hr9zukPmtR/qmtpZv6D9o+UK9XnhK43Smh887ve4D5bEzLw4Fwb+bKP9uIvw7K5h/E6DX3q6zADx2QR7TkfbzEVFJ5iPOKWLfQ4XZ4YyLfVAROd9E7EOtjR12e+9U2HI/Mp94S6/c0+oNo2N88fh5sC29Xm/UaTzOGi+1zXjFLLqGd7xCXRivsMt4HYY6xngx5eAC+GCi/QDVZd4SuyI+cA4LwJnom4eIvrnYg+drYcb6mzkXexe3fGb1w+IW3K36H7OPuyNB2Mcl1D4uIbhPCLaP9Pua09T83HMgUjzqj/9B2UnsfY2XBOOH4YG9z0f1GUe54YHJ8ceS+A3dPP8lxIFHEcHjco/id8ze+13H6HXeOO4D5zAHzmsIzp8oYvd1WXEm83ZRhX3OQNDj0G6fecLHOEQ4xgHbN/apYDueRvg+QumDoMelXbwcteBM+wMl1Z57XefwE1X/JPShZfXv681S643RCbgn7ReQGvQ4/q0H87Ms+07jOgOyjsYnpENJ8x+zoFcUaj4dGyeF8TlpT8bj+KxS9XYp/9jeupadON9mfKjuONq3KXi8LsHcius4WPxMq19M9qm9IvOUETueb9cFqf78O9p/XnHRZ/MW/XWRbxyS84xxeAr9FDUOfuWBF2e1yzhnfeCcZeD8w4DhHOoyzjkfOOcYOP99wHAOdxnnBR84LzBw/kef4Ey3e88jnhkET9rvIs9NaHeLvn8avicKtxWw38uUX5AGAd4Egm2DPXsZtTukS+BgrMCG4O1xireMdZMi5zMmBa9DxPo9xml/ujVvMSVBv02qvOK0B92an5iGOfB+fx7BwjNkwTMsaB5iRhH73lXWPIQ1/mXhErbgEhE0LzArwbyAl/Pn3OTTy3tfohy4PUJwuyLz/GHWfX4ky4mnl/dRHOLAcx3B86oyGOuh3fSdl/cMjHDgWULwnFPkWq/rpu+8nEs+2sH6iWtKay1pv5y36SafXs6RHuPA7TGC23XBfpin+WAP+k5InJRF46Qsff/PBMdJ9HxfTLU7tnshueKez3+lcc/vJen3uOC4JyPZeIuKT+YF9/v/AQAA///0i1OBiKIAAA==";
+ var serializedRuntimeTypeInfo = "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";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/versioning/versioning_test_client.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/versioning/versioning_test_client.mojom.dart
index 3977590..92b8107 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/versioning/versioning_test_client.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/versioning/versioning_test_client.mojom.dart
@@ -1200,7 +1200,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xa3Y7bRBS2vVs23VJ16d8aClsvCIgKjREIKUpvdsUGLaKgwKKKiovgdabEaG0H21mldzwCj9JH4LKP0EseYS97R2c2Z+rJeMY/iddOpI50NGvH8cz55pxvvjMbXZm2LehfQM/f7zHXKrYGXH+N7T421//T73QiFEadzikKQsf3HO+PTudw7Frezyj0x4GNDqzIOrZCJHgPP94h9A+wfYXtl8e9bv/77uMOGahFxmnFw7Rko8jf/xx6A9sa8/ke9EPov8DWzBz/AI2sIHKRF7Xws59kPt91Ryf+U4QW968N86d+Nfl1Wo+vz5+7LMajoc76rzD+s/f/h/arIm7XsW1iixGZ3v8U212IkxT4EvO6gu0SNhvbb9jMoe8iMxgPfNfxUGCS95lhYE//GI2PTxzbdLwIBU8sG4XmseMN8BChScYMzXjQPrnRt08csmjky+5rXDRm/KE6iwPF11CV1CbDsZ0Tx6vg99H+w+4R5NjH2fi16PM8jm+DX1XhWDRv8uKrloTvFciHg+6j8+vPsH2UA1/6PI/v1SXH1+B4kOb7i/ViePYkeG4B11JmI7H6gQzPmP4SOJJ+o0Icef5vUh7UZnFpc/PcVPI1Ga4Kg6voPm03IFYRQNZ3BsL4ewfb5QpxE+FCoHsp8aMxBy4qwwd8I3xGQtezXCTC43rFeGxJ/GPxucQSmCB/iuKjpcQN3YcH3D7M43QDuKvKfBP5bWToh6J8J9OXCuS7we830D+D9fkPek2yns84HUn58SyFH9n5GAJdusHcp3l/hIJTx0Y/QpjPrbcJF98iulry+ZfY7sn4Wi4/E/G0DetXVTzNi4cuiT8deIWmqgbx0oT79LnGWxA/16A+ui2OJxoP/6wVz2/SsvaF/cGA2U2TfukV6xI+rqn/Q62Y322J33fAd8bv+wH6a4wnI/Sftir3ATbPZfvAy5L1QzNDl1H9IIqP7SXgf12iI4vW02m8r0rynY3TRklx+j62m4k4DUe+F6JVidMibdE4vQb7Xzi2sTuhkMfu1YiPLI5kfP/ver56NS/f3wKd9tMYBU9T6qf3loTvJ2vl5BHVLTN+M4xfdx7x50W6Wm3dKMunTZgXlIvCONmuuV5Maw3JeQ/9/kRSL/69gP5eY8ajdcgPjvdo6ttsPAYoChx0ivpPsM8o6I8Cx4skOJs1xqORwV86p3X1jP3xrKS83sF2W5DXdIdctryeqKuh5+6A7qia/9UL0nMivMm6HKrl8sbkgnnjJpxZcXShiNbvQU3rR7Cg89jg6sdF+YTXSXsA2PP1+JxFzblepF00z78LZ6r7UWTZw2/PV61HF02wbjs16y7KP72C/LwnwXEXMEj4P1Ntv9Ff8+qvHcj1OvWXlnIePe95vax+yct/BJfPazqPEPFfWh2YppdoPm5p5eTjh6AlRfkYnyq8OVcoeq5A4u2bFThXaEOe/q7F/8PQCuyXi+obLWO/3AasHzphRNXbd4Mk3rtLcj5xppRTx9wF3zm/X++SdedjIwePKSnrT3FqlnQuasC7k3hNWWwV+EursN6jv1NxcC6J+H0XfltVd72wmSPOWH57FQAA//98zjUGeCgAAA==";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xa3Y7bRBS2nS2bbqm69G8Nha0XBESFxgiEFKU3u2KDFlFQYFFFxUXwOlNitLaD7ay2dzwCj9JH4LKP0EseYS97R2c2Z+rJeMY/iddOpI50NGvH8cz55pxvvjMbXZm2TehfQM/f7zPXKrYmXH+N7T421//T73YjFEbd7gkKQsf3HO+Pbvdg4lrezyj0J4GN9q3IOrJCJHgPP94B9A+wfYXtl8f93uD73uMuGahNxmnHw7Rlo8jf/xx6A1uD+XwX+hH0X2BrZY6/j8ZWELnIi9r42U8yn++542P/KUKL+9eB+VO/Wvw6rcXX589dFuPRVGf9Vxj/2fv/Q/tVEbfr2DawxYhM73+K7S7ESQp8iXldwXYJm43tN2zmyHeRGUyGvut4KDDJ+8wwsKd/jCdHx45tOl6EgieWjULzyPGGeIjQJGOGZjzogNwY2McOWTTyZfc1Lhoz/kidxYHia6hKapPh2MmJ41Xw+3DvYe8QcuzjbPza9Hkex7fBr6pwLJo3efFVS8L3CuTDfu/R+fVn2D7KgS99nsf36pLja3A8SPP9xVoxPPsSPDeBaymzkVj9QIZnTH8JHEm/XiGOPP+3KA9qs7h0uHluKPmaDFeFwVV0n7YbEKsIIBs4Q2H8vYPtcoW4iXAh0L2U+NGcAxeV4QO+ET4joetZLhLhcb1iPDYl/rH4XGIJTJA/RfHRUuKG7sNDbh/mcboB3FVlvon8NjL0Q1G+k+lLBfLd4Pcb6J/B+vwHvSZZz2ecjqT8eJbCj+x8DIEuXWfu07w/RMGJY6MfIczn1tuEi28RXS35/Ets92R8LZefiXjagvWrKp7mxUOXxJ8OvEJTVYN4acF9+lzzLYifa1Af3RbHE42HfxoXsy/sDYfMbpr0S69Yl/BxTf0fafn9Jq0j8fsO+M74fT9Af03wZIT+01blPsDmuWwfeFmyfmhl6DKqH0TxsbUE/K9LdGTRejqN91VJvrNx2iwpTt/HdjMRp+HY90K0KnFapC0ap9dg/wsnNnYnFPLYvRrxkcWRjO//XctXr/J6V8b3t0Cn/TRBwdOU+um9JeH700Y5eUR1y4zfDOPXnUf8eZGuVls3yvJpA+YF5aIwTrZqrhfTWlNy3kO/fyrJn78X0N8NZjxah/zgeI+mvs3GY4CiwEEnaPAE+4yCwThwvEiCs1ljPBoZ/KVzWlfP2B/PSsrrbWy3BXlNd8hly+tTdTX03B3QHVXzv3pBek6EN1mXA7Vc3ji9YN64CWdWHF0oovV7UNP6ESzoPNa5+nFRPuF10i4A9nwtPmdRc66XVgHPvwtnqntRZNmjb89XrU8XTbBu2zXrLso//YL8vCvBcQcwSPg/U22/0V/z6q9tyPU69ZeWch4973m9rH7Jy38El89rOo8Q8V9aHZiml2g+bmrl5OOHoCVF+RifKrw5Vyh6rkDi7ZsVOFfoQJ7+rsX/w9By7peNEvSNlrFfbgHWD50wourtu2ES750lOZ84U8qpY+6C75zfr3fJuvOxmYPHlJT1pzi1SjoXNeDdSbymLLYK/KVVWO/R36k4OJdE/L4Dv62qu17YyBFnLL+9CgAA//93KS0UeCgAAA==";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/regression_tests/regression_tests.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/regression_tests/regression_tests.mojom.dart
index 5b3c4d8..1a70d58 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/regression_tests/regression_tests.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/regression_tests/regression_tests.mojom.dart
@@ -3292,7 +3292,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "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";
+ var serializedRuntimeTypeInfo = "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";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_factory.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_factory.mojom.dart
index 708f886..0ae8987 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_factory.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_factory.mojom.dart
@@ -1764,7 +1764,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xaT3PbRBTXH3tq/rR1mqEWpU0c2oZkGCJTDnhy6gyUtsMMdDAHOhwS/1lThcoSksyYG0c+AkeOfIQeOfZj5Mgxx9xgZb215dWuJDvySk6tmZ2NFFna99vf7723q6dJwVGF/m/o6evN0LmMWwXOP8BtEze3bdov0eHhN20T9b7tnKCux7yffm4D+rvwrO+fP3t09PWj54fBAw/o5/Ge8wr6PdxKuNWpcf8AvQ39Nm41xvu+anc9y/kt9Xh4z/kO/TJErjceh8b8v2tbAxc9gfH6dqgUzv756+1Z3LX92fOmPrVbCtlNjjPq/CF13qBw+g8O+j5yXMftCm4Ep5v472uT+Z/AF5mfHdzexu1H3Fq46S8sE+nOsGeZxgA5ummdWLrrdIM/7GHnpdHVjYGHnH67i1y9Ywx6xuAnV/cwqq4evO6oH7zuwP+RyeQFweU2bmX428dNAXxLIRzKofufAdH+uQr82Qj61zU23qfQj0rp8JYovPcS8P7SannDfj9i34dgy7JxrVO6I/Yeq/PZ2eDYWQNbwc5PHNAPbS85RPBICb33WJ61M6zTMkNnvCMNTmF+8fjAw8fnww2BfJCo92vUOIkfTPKTLFxLMbhWFsBVjsH1XXifbdiI5Ud8XD8VgGs15KPkmPgpAT81yg8tS58ajGWqzyB+rfUZ1UFlrE82PnchX8pbn2ScJA9JylMecvJA0fr00Mhj6dPH9Z5AfUqcfJinT16+oKlTvWeRL5B5BZ0+oHG6l3O+MH559v7oAUkY8vJHNA/mjWdZ+6GkeObzYFewXpQEvcih+2n+/Ev8ypz8aXLweR+3jVn+BI6Os74sEo/kHHjE87s+jz4vmN+VGeu/Omc9rEjZ8ukLB7U9RO8SRHG7n5MfJvYfz6kj3n7ADtgesXuygiu+nkTmh+/AvoPVOeHyYkcgLxTq/eT6JoyVZnLafbGL6vMvyIvUjPRJ8ltYbz41bcvxUO8pQY6eh92c9TnKSJ978A6e3auQNxVJn7uC4h1Pn43QfsQt3AyY0IPIzAb3fQyaneg14QeL5mfn0P8+J2+fcOZhH/xgDG9XJl8rEn8/EpT3F52/SXGnlFHcuYPbe/742z8j1ohZ3ysuQ9y5D7Yz7Q7lhmvdptOt/7vPctw3LGrcyZq3vm/ciuEtCTpr3qbj7T74gjedt3S8sWHD9w+ZPR9kPv+k6jIIf1/F7P+Gx1Nn5EdXGOu8FnJ+NbrjBXyqug7e+vAWfH/kLAsj/LgtqC4gyR4t5juJEppP+rtTU43f319Eb2nqAVrIG88VPe47l2R/n9QDgJ251wMUdV92AIJl8WBjhfZlCX/O5Wy/hxG9POboZStnvZxK2erlcUH0UknBBykmTi3re+EUn3zrF1bNn2wBx4rqT3jrgrNyPD7z1j2SeiWq7pFcjuB2FX63bNzoutc6ONAG6OeFyueZJE1rI5fNs7dg3kacfbtrMNfLxmve7/MlwfVm1+Ga6HozFi5KaH83izofhXGdHDdgPWBaDjrywXHZPPH7bYFxW4axE55UGHFDXmA9Xl0AP/UC6/FN8OUicSvKenzGP3LiRV3NJl7Q9XUkP6PK6iLzc1NQvKDXsVV5NeJDbR0fJrjkER+S6h3J/f8HAAD//4yBIXxYNAAA";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xaSZPbRBTW4qmYJYknU8QiJDMekgyZohiZcMA1p1RBSFJUQQpzIMVhxkubaIgsIcmUuXHkJ3DkyE/IkWN+Ro4cc8wNWtZru93q1uJoc2JVdfVII6v7ff19771eNCm4GlD/DTX7vEPdy7jU4f4DXHZwcXum/QQdH3/TM9Hw2/4ZGnjc99nvtqG+Dt/6/tHDuydf3310HHzwiP2e6DtPob6FSw2XFtPvH6C2od7Dpclp76vewLOc3xL3R/Sd79AvE+R6s35o3P+7tjV20X3or2+HyuDs3z/bW8ZdO1y+7+gLuyXKbnK9YO7vMPdtBqf/4GLfI9dFXM7hQnC6jP++MB//OXyh8dnH5W1cfsSli4v+2DKR7kyGlmmMkaOb1pmlu84g+MOe9J8YA90Ye8gZ9QbI1fvGeGiMf3J1D6Pq6kFzJ6OguSP/RyaXFwSXq7hswd8+bgrgW6Nw2KLefwhE++c88Gc7qJ81+Xg/h3paS4a3ROFNf0+E95dW15uMRiH7PgRb8sa1xeiO2HuqJrfTv9oCO5tgK9j5iQP6Ye0lVxE8Uqh2T+VlO2mdbnF0Jrqy4oMIH58Plwrkg8S0rzH9JH4wzk/ycK1F4FpfAVc5Atd3oT3bsBHPj/i4floArg3KR8kR8VMCfmqMH8pLnxr0ZaHPIH5t9BnWQX2mTz4+1yFfKlufpJ8kD4nLU+4I8sCi9emhqcfTp4/rjQL1KQnyYZE+RfmCpi70ngVOZFxBp7dZnG6UnC/MGs/eH90mCUNZ/ojlQdp4lrUfiotnPg8OCtaLEqMXmXqf5c+/xK+k5E9HgM/7uGwv8ydwdIL5ZZV4JJfAI5Hf9Xn0ecX8rsyZ/7UE82ElBU4KNQ4iPn3hoJ6H2FWCMG43S/LDxP7TlDoSrQfsg+0hu+czuOrrqcj88B1Yd7D6Z0Je7BfIC4Vpnzzfgb6yTE66Lvaq+vwL8iI1Be5qhD5JfgvzzQembTkeGj4gyLHjcFCyPqcZ6fMWtCGyex3ypirp86CgeCfSZ5taj7iCiwEDehQa2eC9j0Gzc73G/GDV/Owl1L+n5O19wTgcgh+M4O3a5GtV4u9HBeX9VedvXNyppRiPWkTcuYbLe37/ez8jXo95+xWvQ9y5CbZz7aZyw41uk+nW/91nJa4bVjXuZM1b3zfuRvCWBJ0Nb5Px9hB8wZvOWzbe2LDg+4fMHw8ynn8y5zIIf59GrP/S/Wlx8qNznHleFzm/GoPZBD7RuQ7R/PAK7D8KpoUhflwt6FxAnD1axD6JQo0nu+/UUaPX9/Pa/+0ibzZWbL+vvSbr++Q8ANhZ+nmAqq7LjkGwPB5sr9G6LOHPSznb/TCil3sCveyWrJfnUrZ6uVcRvdQT8EGKiFN57Rcu8Cn3/MK6+ZNd4FhV/YloXvBiKxqftOceyXkl5twjeRzC7Tz8Lm/c2HOvLXCgbdDPY1XMM0lanI3Mm2dvwbhNBet2F2Cs88Yr7f58LafzLKL9+YvwrOjzZjxcFGp9N4tzPgrnObkuwXzAtBx04oPj8nni13sFxm0Z+k54UufEDXmF+XhjBfzUV5iP74AvLxK3qszHl/yjIF601GziBXu+juRnzLG60PhcLihesPPYhrwe8aG5iQ9zXMqID3HnHcn7/wcAAP//nN1B41g0AAA=";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_interfaces.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_interfaces.mojom.dart
index 328b0da..5332c42 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_interfaces.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_interfaces.mojom.dart
@@ -2332,7 +2332,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xa3W7jRBS243QJu1Rkty2k7J930UJu2qRFgoir9CIiFVSqVKjYG1ZpMjRGjR1sBy1vw+U+Bo/C5V7uG8BMM2czPpmJncSxJ6UjjSb+y/h8/s53Zs5MxRiXMm/rvMXnoS2hFt/3N2+rtBZptflxg7c/83bI20e0btP648vT1qvvWy+/DTqD4RXZb7mjAbv+Ja1PJdeP3ZBcEv+o2yVB4PnX/VQk95363h9Oj/iq/zm7bti/+b92usRo8/cuo/dmxxat/UL0uPxx9PjNvhyXt7xtGtFSR/38ywu+D8pH/P0Any1a79GKYJvqnz23QesvtJ7TWut7A1LzRz1v4LjErw2837xa4HfHP4ajiyunW3MAlqB24bg9x70MaiEJwqA27u7V5IZ99txg3J8p8KMu8OGaN6YxsyTFp614fpPbeX70w08t2u7Sej+Kzz5ck+HEni9kgFMc7wEvGxvI8bNi8GoivE4VeH1KK6Mw9qcn9NwnE9zw5Snc2PHdDHCT9QvHBQGiCj+G+6p3ojy0kV+WCsl4aCBc6wpcH3A8viMhx07Ot92M+GYjvN4m1CVsb0Nh72fc5om9ez75fURfSm43lFXbXRL6NSVxy0DxTIXTX1Y6OD3kmh3BKRh6bkByxQn7S9mM2ttA73XHSFaS4CX6pSre9TphR+U/uxngI8OBxZmGIp4BnwqGHMfXEhxMYVyEC+avLdE/S+gP9OfEcc+JHzieG8Uz/HNIVHh+laEeGQo9x+OcuHiJ+WtL/NyU9FPgtWLI40PdnA6/ZsLvycrrJb+nGfM94fxZTJx5mHOcSUs/Ic6caRZn1lU/IR7pqp9WxvppLamfDM+9/5F+WjH6CeXdgvO85ozvyb4lzO9hHoOm/dI8Rh7zlKqQ79gQ8CxwDIsCDhvC/W/4zf1NfmKL41mZPZ+pWquZz7S6fe8s9CkEcr29n3OcgXlcWnFmYq8ecQbrmExXTYm/rSq+fMj76xhqPmxnhMssvVfp2Kp5BPE1wiMN5nvryKPnGvNIpcPtYiRtt7QOQ753wqdAiteDnHW4aq3Kf4KIEOsy3rfN9fAjxoudHPxoXlxKC+BiJsDlYgYuTzXTF3FcvWo/g/lB1M8mgerWz+b3s71bP5Pi8o3GfobjOODWsOT53EX97THXYeZvJyQIOpfk1BmSdsftXREJbls5xXOwvzzneFg1b3/BbZfaLUR2ncfFRY10ZisHnTGXmF+lzacvaH0yg08QwW75lJxPxxrzCevzP7CvyEq2LwLzqhqTX2S8YjlSjNN2TnoM9jYL6cwnK9wmsBMkWGd/2dDIX7b573XL9y+bH2unlB+D/VkC/4TsmN66rRsPH91gHqp0v8QFv5iS7rM1pA84H4/dcArnnZx1/52Zju7Dehm38/3IW2d/M4S1s7z9bScj3V9Up9PmizhOGPNlLNO3fEnOl8ca8SVuf3EcLk3Em7j9xXifPdpfjC9P4WfntG5vC/HVQuv2cN0ScK7zC/bd2etC8/IPsFb5J+PX5nucT0jY93p1CQ+fGzdjvzHkzyL2apA/mne/sYofjTnXDc0F+HEgwelZzvyoWKvjx4EG/Jh3n2BW8ese1zHHPZDGr2f8XB77BLNcv5jgcKjE4UWG+TEzpXXCfkp+BXEb+1XeeVZd1wlhPuyNwgMVn77OgU/z5jPS9jMBl0MVLkc3LJ8xa50RjwuTrjMWFoj7hxK8P7/B48LDNRwX/hcAAP//V4E2O5g9AAA=";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xb3W7jRBS243QJu1Rkty2k7J930UJuWqdFgoir9CIiFVSqVKjYG1ZpMjRGjR1sBy1vw+U+Bo/C5V7uG8C4mbMZn8z4p3XsSelIo6n/Mj6fv/OdmTPThjYrdda2WIvPQ1tDLb7vb9Y2aa3SarLjNmt/Zu2EtY9o3aT1x5fH3Vffd19+6/fHkwuy23Wm4/D6l7Q+FVw/dAJyTryDwYD4vutd9tMQ3HfsuX/YQ+LJfufksgl/zfu1PyBaj713Hb13eGzQOqpEj+sfR4/f7IpxecvajhYtLdTPv6zg+6B8xN4P8Nmg9R6tCLaF/sPn1mj9hdZTWq2ROyaWNx26Y9shnjV2f3Mt3xvM/phMzy7sgWUDLL51ZjtD2zn3rYD4gW/Nuns1v2E3fG4860/n+NHi+HDJG12LLWnx6UmeX2d2nh788FOXttu03o/iswvXRDiFz1cKwCmJ94CXiQ1k+BkJeHUQXscSvD6lNaQw9qcn9Nwnc9zw5QXcwuO7BeAm6heOKxxEDXYM9zXvRHloIr+sVdLxUONwFZ2H8oDh8R0JGHZivm0XxDcT4fU2pS5piEdtib2fMZvn9u545PcpfSmx3VCWbXeN61cXxC0NxTMZTn8Z+eD0kGl2BCd/4jo+KRUn7C91PWpvG73XHS1dSetHzYR4N+wHfZn/bBeAjwiHMM60JfEM+FTRxDi+FuCgc+MiXDB/TYH+GVx/oD9HtnNKPN92nSiewZ8TIsPzqwL1SJPoOR7nJMVLzF9T4Oe6oJ8Kqw1NHB9a+mL41TN8z9fX/J56wveE8ycJceZhyXEmL/2EOHOiWJxZVf2EeKSqfhoF66dxTf0M8dz5H+mnkaCfUN5dcZ7Xifme4beE+T3MY9C0X5jHKGOe0uTyHWscnhWGYZXDYY27/w27ebTOTmwwPBvx85mmsZz5THcwck8Cj0Ig1tv7JccZmMflFWfm9qoRZ7COiXRVF/jbsuLLh6y/vibnw2ZBuMTpvUzHls0jiK8RHikw31tFHj1XmEcyHe5VI2m7VDjpMToM+d45n3whXg9K1uGmsSz/8SNCrMp439RXw49CXmyV4EdZcaldARc9BS5nMbg8VUxf+HH1sv0M5gdRP5sHqls/y+5nO7d+JsTlG4X9DMdxwK1tiPO5cThVuO+Ay2Omw6G/HRHf75+TY3tCen1neEEEuG2UFM/B/nrG8bBs3v6C2S60m4vsKo+LqwrpzEYJOqNfY36VN5++oPVJDJ8ggt3yKT2fDhXmE9bnf2BfkZFuXwSPkxGDE+QXQ16FOVKM02ZJegz2djL6j2w+2WA2gZ0gwSr7y5pC/rLJ/l61fP9182O9nPJjsD+L4x+XHVNbt1Xj4aMbzEOZ7teY4Fcz4FyNwTlcQ/qA8fHQCRZw3ipZ99/p+eg+rJcxO9+PvFX2N41bOyvb37YK0v2r6nTefOHHCTO+zGT6li/p+fJYIb4k7S9OwqWDeJO0vxjvs0f7i/HlBfzMktbtTS6+GmjdHq4bHM4tdsG8G78ulJV/0K/MP0N+rb/H+YgEI3fYEvDwuXYz9htD/ixirwL5o6z7jWX8aGdcN9RjeCPjx54Ap2cl86NhLI8fewrwI+s+waLi1z2mY7azJ4xfz9i5MvYJFrl+McdhX4rDiwLzY3pO64SjnPwK4jb2q7LzrKquE8J82J0GezI+fV0Cn7LmM/L2Mw6XfRkuBzcsnxG3zojHhWnXGeH/F7LE/X0B3p/f4HHh/gqOC/8LAAD//ycEy8+YPQAA";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_service.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_service.mojom.dart
index ae05e1b..f80f2ad 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_service.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/sample/sample_service.mojom.dart
@@ -2195,7 +2195,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "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";
+ var serializedRuntimeTypeInfo = "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";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/test/echo_service.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/test/echo_service.mojom.dart
index c3481db..17f79e7 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/test/echo_service.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/test/echo_service.mojom.dart
@@ -694,7 +694,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xXzW7UMBB2En5CC6hAkcLPYeFUDtQ9Vish7YGVkJAQCC4Vh1WUNWxQfhY7qcSNx+gjcOSReuTIG4BNxuCdtauE0oaV1tLsrJN47O+bvyQizdgC/QU0vr5vzD0pIczvSLkhpWKiGg7Hyax8zfhhmjDH89juHugHYOvNwcvx5Pn4YKgM7i7bc9kZOfZrazeCdWp9YKzfAT0APfMa/Rk0Qftrno4Qnz9gfCX2gc89sOC8bFy/JWVTCqB4EeeslT/0Onwngj0wPZhndb4NKW/V3lLorMwZ5fW0zNOCcZqXH0oqeNL8mca8ovF8rqwKqn4nciZoWlSMv4sTJiiTe01Es9muWpS3woHPpXnZBv8R4NM37gfGuqOL4Lerdj9/0/4P7H4mKH4J8vOew883gb9fiCqeFu/teK7A2c+aZxxnGnfod8O778B7FzD/wfuYs4+1PKEdtx5njRvn28hR576TdqMNT2ac4XFNigrJwzirmSMebp8TLzp3TqrfxKiX5xFH96B2LcSRmJeFYOs46hhHO/9xHOE6rHl7dmHR3mnjSfeXpyyLP7EpLsdLvG30VI81/kHQDffIgVu/Dy3hXizLveVTBDz/riveauSVio/7PeSVjRcCZ7WN8C948U7g5bqUS1LyNMtSYeflUQ912KwvvjF35deW/2/y6yG889jyy2hX637VIa+erFC/Okb4/I79ysWT+kxRLfBVnVa2+NnsqT8dI33a76NtwKpwmi2pr3wJW8SD+dzPAAAA///d7h3UUBEAAA==";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xXzY7TMBB2Un7KLqAFFin8HAqncmDNcVUJqQcqISEhEFxWHKooNTQoP8VOVuLGY+wjcOSR9siRNwCbjMGd2pWD2M2u1JGmUyfx2N83P04i0sgO2K9g8fV9YxxI7cP4jtQbUismqtFokszLN4wfpglzPI/9PgH7AHy9PXg1mb6YHIyUw71Vfy4/Y8d6vn4jmKfm94z5Q7ADsPOgsV/AErS+5ukI8fkT5BuxC973wILzsnH9ltRtqYDiZZwzr3joefhOBGtgejDPan9bUt+ptaXSeZkzyutZmacF4zQvP5ZU8KT5M4t5RePFQnkVVP1O5UjQtKgYfx8nTFAm15qKZrE9NSn3woH3pXnZhfgR4DM07veMeUcXIW5X7XH+ruPfs8eZoPwlRpxt17XcBP5+I6p4Wnyw47kCez9pnnGeadz90B+vkn0H3ruA+S/ex5x9quUO7bi1nDRuXG9jR5/7QfzENy+GjvnXpKqUPIyzmjny4fYp8aJrZ13/Jka/PI08uge9aymPxKIsBNvkUcs8Gp7hPMJ9WPP2/MKyPx+eAiMOWPT58oxl8Wc2w+14hbetjvqxxj/otaujsQO3fh9awb3cljurpwh4/tNXgvNRVyo/7ndQVzZeCOzVJv1/4CVYw8t1qZek5mmWpcLOy6MO+rDZX0Jj7KqvnfD/1NdDeOex1ZdxXG3OqxZ19fQcnVfHCF/YgqdwDU/qM0Udga/rtLLlz3ZH59Mxsr714/o+2gWsCqd5JHVVL32PfDCf+xUAAP//FYa/WVARAAA=";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/test/pingpong_service.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/test/pingpong_service.mojom.dart
index 5463c64..f2f7077 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/test/pingpong_service.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/test/pingpong_service.mojom.dart
@@ -1231,7 +1231,7 @@
// serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
// a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
// file. The string contains the base64 encoding of the gzip-compressed bytes.
- var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xZzVITTxDf3QD//MHwoSAREKKixUWWKj1QnKhSyoOWFRVLOMWtMOJqsrvuB2ePPgKP4CPwKB5z9MjRm86QHp3MTucDN7uLxVQ1y0yyM/Pr6e5fT6estds0PL/CUx7fFPo6lSL0b1KZoxKSINzaqtrOYdV1Dl8R/8iuE8X35Xk34HkX5trdr+7Unu7sb7EJ1+PzYfN4wrihmH+VyhI6/6OGTZxwkH2sCesUpP2w/ueRdn8Nxiua1PTO7rb08YY0/hNaVVO361QmqciIFunYNTgfBdyYHpepjFOpUXlDxXzvNonpRwdu03aIbzbdD64Z+PX2PweWH5qW57HZA5P9rdFeYNpOSPx3Vp0EpkfX9OiataCtu3X2YjO2Lu9fkVQj24+szxaiD0yfmqTPNeR9tg92hExdKj2twPkPW08VST8c7w99MJwbCM5ZwMpw3vfJp4juTYWXt2Hjlc97WxF/NOHzXq0f/ajGebsK/nC21SOrERF1/FkB/0tbP2UppEwjfuKBvXxB4g7X77HEA9x+ThD9yPupKOLzf8I4i0UTVCCSPreapC8emacyJcQ3/skS2DASpmPnVEwpvvXCI+9LPK8x4TwN4BMWi0bhnMYEez0ptJ/f4KW9EpzrLIzPq+3h+1/GTcxfZqj8f3a+ocAycbzjGcVPjnvPGAzvJoL3BmD+jVcMojmPo8yeThOOoxifToLd1sEoVPawmKI9aNL6lR55VL/543njcwtJDxPLY2x1HlP61/IY+zKP6ZrH2N3zmFLO8xgevzfhfmUkxFtzgJ3Zz67lH5Lw9ctnCv3MZMxb5UIyvMXzkw68guNk5Tfy/b2i4/6jp8hfE5CHRX5D6TczkKOm4Tfd8vdecaV4Dr3oXfRSgjyi7kZOiOjlTsbxxBD6mF8NykOYXy1DDiH7VUD3HJD885GWkj/x/N/9qKH+9CDHPMTjzjHwUEFL9j7xx36Ey6xCT3MZ8RHH7w3IR9sI7luAPYY7J/cpmZc8PR/3qimor8BulfaxmoN7FVa/6bfenneeY3p+mGOeOxW/lIC/3qaygPgr57qLcP/KC98x+3l8AfiOt5GE+G4B7qZPSKio3mrK34my5Lu3CftPHHcn4V3WD/vjOda/l6JdGEPiuaTqh6MJ1w9fRLaynraYcf2wpSVbP2Q481A/LCK/r5WRPOdXAAAA///ipr9cyCEAAA==";
+ var serializedRuntimeTypeInfo = "H4sIAAAJbogC/+xZT1PTQBRPUsAKlj8KUgGhKjpcJMzogeHEjDIedJyqOMKpdsqKUdrE/OHs0Y/AR/Aj8FE8cvTI0Zvu0re63exLEyZNgsPOPONu6WZ/v33v/d5uq1q3TcLzOzzl8XWhr1MrQ/82tRlqPvH8jY261dmv2539N8Q9tFpE8ffyvGvwvA9zbe/WtxrPt3Y32ISr4fmweRxh3FDMv0xtAZ3/yYFFOn6SdawI7ylJ62H9r0Pd/gqM1zSp6b3dTenjNWn8N7S6pm43qY1TkxHN07EbsD8KuCEeF6mNUmtQe0fN/Gi3iekGe3bb6hDXbNufbNNzW93/7DVd32w6DpvdM9m/DdrzTKvjE/dDs0U806HvdOg7G16Xu1X2xXbovbx/TaJG9h+ZzxOED4xPTeBTnE9ubB1sCxldKp6WYP8HzVNN4ofj/aXHx8naGoJzGrAynA9d8iWga1Ph5W3QeOX93lTkH034vF+L6wcYP9chHs6Wetg8CIg6/yxB/GXNT1VKKZNInDjgL9+QvMP5PZJ0gPvPMcKPvJ6aIj9fEcZZLhqjBpn0ZbNNYunILLUJIb/xTxbAh5E0Hdqnckb5rR8eeV3ifo0I+2mAnrBcNAz7NCL463Gp+/wBX9qpwL5Ow/is2h9+DihepqhdPdtfX1CZMN7RnPInx71jJMuf6wjeW4D5L14xiRY8jzJ/Ok05j2J6Og5+2wKnUPnDfIb+oEnvr/Wpo+LWj+fNzydIeRiHdz1OHWOp65jK/1bHWJd1TGQdY0XXMZWC1zE8f6/D+cpIwI8Rwc8MYGf+s91094n/9vULBT9TOetWtZSObvH6pAevEDh5xY18fq/pePzoGerXGNRhgXugjJspqFGziJuo+r1fXimfg5cofalAHdGyg46P8HIv53xiCH0srpLqEBZXi1BDyHHl0TV7pPh6pGUUT7z+tz9raDw9KrAO8bxzBDpUSsBLSeAdO0/88x/hMKvgaSYnPeL4nYR6tIngvgPYQ7gLcp6SdcnRi3GumoD7FVit0j+WC3Cuwu5v4t63F13nGM+PC6xzp+IfpRCvd6nNIfHKte4inL+KonfMf55eAL3jbSgBL0MRejcHZ9NnxFfc3mrK34ny1Lv3KcdPGHev4F3eH8bTOdZ/kKFfGAPSubTuD4cT8D4c4/7wVWAp79Pmc74/PNHSvT9kOItwf1hGfl+rInXOnwAAAP//N7Py68ghAAA=";
// Deserialize RuntimeTypeInfo
var bytes = BASE64.decode(serializedRuntimeTypeInfo);
diff --git a/mojo/public/tools/bindings/mojom_tool/bin/linux64/mojom.sha1 b/mojo/public/tools/bindings/mojom_tool/bin/linux64/mojom.sha1
index 5e5e149..6226115 100644
--- a/mojo/public/tools/bindings/mojom_tool/bin/linux64/mojom.sha1
+++ b/mojo/public/tools/bindings/mojom_tool/bin/linux64/mojom.sha1
@@ -1 +1 @@
-d4be37d2e8af6523d79bdf1709dfeb34ef4ca5a8
\ No newline at end of file
+327e61620a79f2b260c06b4d6b80c5445d1ccff2
\ No newline at end of file
diff --git a/mojo/public/tools/bindings/mojom_tool/bin/mac64/mojom.sha1 b/mojo/public/tools/bindings/mojom_tool/bin/mac64/mojom.sha1
index 1b69246..28369b3 100644
--- a/mojo/public/tools/bindings/mojom_tool/bin/mac64/mojom.sha1
+++ b/mojo/public/tools/bindings/mojom_tool/bin/mac64/mojom.sha1
@@ -1 +1 @@
-deab131f0ebd9672a4cf9916db9f363ccf00790c
\ No newline at end of file
+8394de82d31009e104db7d656db3d9fb2c5a907a
\ No newline at end of file
diff --git a/mojom/mojom_parser/mojom/user_defined_types.go b/mojom/mojom_parser/mojom/user_defined_types.go
index 1c892f7..18b52f2 100644
--- a/mojom/mojom_parser/mojom/user_defined_types.go
+++ b/mojom/mojom_parser/mojom/user_defined_types.go
@@ -745,6 +745,7 @@
return err
}
i.methodsByName[method.simpleName] = method
+ method.lexicalPosition = int32(len(i.methodsByLexicalOrder))
i.methodsByLexicalOrder = append(i.methodsByLexicalOrder, method)
i.DeclaredObjects = append(i.DeclaredObjects, method)
return nil
diff --git a/mojom/mojom_parser/serialization/serialization_test.go b/mojom/mojom_parser/serialization/serialization_test.go
index d6cec62..219eb08 100644
--- a/mojom/mojom_parser/serialization/serialization_test.go
+++ b/mojom/mojom_parser/serialization/serialization_test.go
@@ -697,7 +697,7 @@
DeclData: test.newDeclData("EchoService", "test.EchoService"),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: test.newDeclData("EchoString", ""),
+ DeclData: test.newDeclDataO(0, -1, "EchoString", ""),
Parameters: mojom_types.MojomStruct{
DeclData: test.newDeclData("EchoString-request", ""),
Fields: []mojom_types.StructField{
@@ -718,7 +718,7 @@
},
},
1: mojom_types.MojomMethod{
- DeclData: test.newDeclData("DelayedEchoString", ""),
+ DeclData: test.newDeclDataO(1, -1, "DelayedEchoString", ""),
Parameters: mojom_types.MojomStruct{
DeclData: test.newDeclData("DelayedEchoString-request", ""),
Fields: []mojom_types.StructField{
@@ -750,6 +750,48 @@
}
////////////////////////////////////////////////////////////
+ // Test Case: Explicit Method Ordinals. Tests the DeclarationOrder field.
+ ////////////////////////////////////////////////////////////
+ {
+
+ contents := `
+ interface MyInterface {
+ Method1@1();
+ Method0@0();
+ };`
+
+ test.addTestCase("", contents)
+
+ // DeclaredMojomObjects
+ test.expectedFile().DeclaredMojomObjects.Interfaces = &[]string{"TYPE_KEY:MyInterface"}
+
+ // interface EchoService
+ test.expectedGraph().ResolvedTypes["TYPE_KEY:MyInterface"] = &mojom_types.UserDefinedTypeInterfaceType{mojom_types.MojomInterface{
+ DeclData: test.newDeclData("MyInterface", "MyInterface"),
+ Methods: map[uint32]mojom_types.MojomMethod{
+ 0: mojom_types.MojomMethod{
+ DeclData: test.newDeclDataO(1, 0, "Method0", ""),
+ Parameters: mojom_types.MojomStruct{
+ DeclData: test.newDeclData("Method0-request", ""),
+ Fields: []mojom_types.StructField{},
+ },
+ Ordinal: 0,
+ },
+ 1: mojom_types.MojomMethod{
+ DeclData: test.newDeclDataO(0, 1, "Method1", ""),
+ Parameters: mojom_types.MojomStruct{
+ DeclData: test.newDeclData("Method1-request", ""),
+ Fields: []mojom_types.StructField{},
+ },
+ Ordinal: 1,
+ },
+ },
+ }}
+
+ test.endTestCase()
+ }
+
+ ////////////////////////////////////////////////////////////
// Test Case: Use of the ServiceName attribute
////////////////////////////////////////////////////////////
{
@@ -775,7 +817,7 @@
ServiceName: stringPointer("my.test.EchoService"),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: test.newDeclData("EchoString", ""),
+ DeclData: test.newDeclDataO(0, -1, "EchoString", ""),
Parameters: mojom_types.MojomStruct{
DeclData: test.newDeclData("EchoString-request", ""),
Fields: []mojom_types.StructField{
@@ -1499,7 +1541,7 @@
Methods: map[uint32]mojom_types.MojomMethod{
// DoIt
0: mojom_types.MojomMethod{
- DeclData: test.newDeclData("DoIt", ""),
+ DeclData: test.newDeclDataO(0, -1, "DoIt", ""),
Parameters: mojom_types.MojomStruct{
DeclData: test.newDeclData("DoIt-request", ""),
Fields: []mojom_types.StructField{
@@ -1580,7 +1622,7 @@
// DoItAgain
1: mojom_types.MojomMethod{
- DeclData: test.newDeclDataA("DoItAgain", "", &[]mojom_types.Attribute{{"MinVersion", &mojom_types.LiteralValueInt8Value{1}}}),
+ DeclData: test.newShortDeclDataAO(1, -1, "DoItAgain", &[]mojom_types.Attribute{{"MinVersion", &mojom_types.LiteralValueInt8Value{1}}}),
Parameters: mojom_types.MojomStruct{
DeclData: test.newDeclData("DoItAgain-request", ""),
Fields: []mojom_types.StructField{
@@ -1608,7 +1650,7 @@
// AndAgain
2: mojom_types.MojomMethod{
- DeclData: test.newDeclDataA("AndAgain", "", &[]mojom_types.Attribute{{"MinVersion", &mojom_types.LiteralValueInt8Value{2}}}),
+ DeclData: test.newShortDeclDataAO(2, -1, "AndAgain", &[]mojom_types.Attribute{{"MinVersion", &mojom_types.LiteralValueInt8Value{2}}}),
Parameters: mojom_types.MojomStruct{
DeclData: test.newDeclData("AndAgain-request", ""),
Fields: []mojom_types.StructField{},
@@ -2785,7 +2827,7 @@
DeclData: newDeclData(test.fileNameA(), "InterfaceA", "a.b.c.InterfaceA"),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: newDeclData(test.fileNameA(), "DoIt", ""),
+ DeclData: newDeclDataO(0, -1, test.fileNameA(), "DoIt", ""),
Parameters: mojom_types.MojomStruct{
DeclData: newDeclData(test.fileNameA(), "DoIt-request", ""),
Fields: []mojom_types.StructField{
@@ -2824,7 +2866,7 @@
DeclData: newDeclData(test.fileNameB(), "InterfaceB", "b.c.d.InterfaceB"),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: newDeclData(test.fileNameB(), "DoIt", ""),
+ DeclData: newDeclDataO(0, -1, test.fileNameB(), "DoIt", ""),
Parameters: mojom_types.MojomStruct{
DeclData: newDeclData(test.fileNameB(), "DoIt-request", ""),
Fields: []mojom_types.StructField{
@@ -2900,7 +2942,7 @@
ServiceName: stringPointer("AwesomeService"),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: newDeclData(test.fileNameA(), "DoIt", ""),
+ DeclData: newDeclDataO(0, -1, test.fileNameA(), "DoIt", ""),
Parameters: mojom_types.MojomStruct{
DeclData: newDeclData(test.fileNameA(), "DoIt-request", ""),
Fields: []mojom_types.StructField{
@@ -2939,7 +2981,7 @@
DeclData: newDeclData(test.fileNameB(), "InterfaceB", "b.c.d.InterfaceB"),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: newDeclData(test.fileNameB(), "DoIt", ""),
+ DeclData: newDeclDataO(0, -1, test.fileNameB(), "DoIt", ""),
Parameters: mojom_types.MojomStruct{
DeclData: newDeclData(test.fileNameB(), "DoIt-request", ""),
Fields: []mojom_types.StructField{
@@ -3020,7 +3062,7 @@
ServiceName: stringPointer("AwesomeService"),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: newDeclData(test.fileNameA(), "DoIt", ""),
+ DeclData: newDeclDataO(0, -1, test.fileNameA(), "DoIt", ""),
Parameters: mojom_types.MojomStruct{
DeclData: newDeclData(test.fileNameA(), "DoIt-request", ""),
Fields: []mojom_types.StructField{
@@ -3060,7 +3102,7 @@
&[]mojom_types.Attribute{{"ServiceName", &mojom_types.LiteralValueInt8Value{42}}}),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: newDeclData(test.fileNameB(), "DoIt", ""),
+ DeclData: newDeclDataO(0, -1, test.fileNameB(), "DoIt", ""),
Parameters: mojom_types.MojomStruct{
DeclData: newDeclData(test.fileNameB(), "DoIt-request", ""),
Fields: []mojom_types.StructField{
@@ -3141,7 +3183,7 @@
ServiceName: stringPointer("AwesomeService"),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: newDeclData(test.fileNameA(), "DoIt", ""),
+ DeclData: newDeclDataO(0, -1, test.fileNameA(), "DoIt", ""),
Parameters: mojom_types.MojomStruct{
DeclData: newDeclData(test.fileNameA(), "DoIt-request", ""),
Fields: []mojom_types.StructField{
@@ -3199,7 +3241,7 @@
DeclData: newDeclData(test.fileNameB(), "InterfaceB", "b.c.d.InterfaceB"),
Methods: map[uint32]mojom_types.MojomMethod{
0: mojom_types.MojomMethod{
- DeclData: newDeclData(test.fileNameB(), "DoIt", ""),
+ DeclData: newDeclDataO(0, -1, test.fileNameB(), "DoIt", ""),
Parameters: mojom_types.MojomStruct{
DeclData: newDeclData(test.fileNameB(), "DoIt-request", ""),
Fields: []mojom_types.StructField{