Repository: seaofvoices/darklua
Pull request #135 (2023-10-26 15:47:19)

Fix table literal property types
- [x] add entry to the changelog


github-actions[bot]: Coverage after merging <b>fix-table-type</b> into <b>main</b> will be<table><tbody><tr><th>86.92%</th></tr></tbody></table>

<details><summary>Coverage Report for Changed Files</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs'>ast_converter.rs</a></td><td><b>87.72%</b></td><td>100%</td><td><b>88.57%</b></td><td><b>87.68%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1003'>1003</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1022'>1022</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1052'>1052</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1076'>1076</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1093'>1093</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1125-L1127'>1125&ndash;1127</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1142'>1142</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1170'>1170</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1212'>1212</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1227'>1227</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1243-L1245'>1243&ndash;1245</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1255'>1255</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1260-L1262'>1260&ndash;1262</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1277'>1277</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1288'>1288</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1418-L1420'>1418&ndash;1420</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1481-L1483'>1481&ndash;1483</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1534-L1536'>1534&ndash;1536</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1560-L1563'>1560&ndash;1563</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1598-L1600'>1598&ndash;1600</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1628-L1630'>1628&ndash;1630</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1634-L1636'>1634&ndash;1636</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1699-L1700'>1699&ndash;1700</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1729-L1731'>1729&ndash;1731</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1738-L1740'>1738&ndash;1740</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1759-L1761'>1759&ndash;1761</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1777-L1779'>1777&ndash;1779</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1784-L1786'>1784&ndash;1786</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1847'>1847</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1852-L1854'>1852&ndash;1854</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1874'>1874</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1880-L1882'>1880&ndash;1882</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1887-L1889'>1887&ndash;1889</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1922-L1927'>1922&ndash;1927</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1951-L1953'>1951&ndash;1953</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L1979'>1979</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2042'>2042</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2060-L2062'>2060&ndash;2062</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2097-L2100'>2097&ndash;2100</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2130'>2130</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2144'>2144</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2148-L2150'>2148&ndash;2150</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L218-L220'>218&ndash;220</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2204-L2206'>2204&ndash;2206</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2218-L2220'>2218&ndash;2220</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2224-L2226'>2224&ndash;2226</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2260'>2260</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2343-L2345'>2343&ndash;2345</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L235-L236'>235&ndash;236</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2365-L2367'>2365&ndash;2367</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L237'>237</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2388-L2390'>2388&ndash;2390</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2420-L2422'>2420&ndash;2422</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2438'>2438</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2442'>2442</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2465-L2467'>2465&ndash;2467</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2479-L2481'>2479&ndash;2481</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2500-L2502'>2500&ndash;2502</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2557-L2559'>2557&ndash;2559</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2566'>2566</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L265-L267'>265&ndash;267</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2756'>2756</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2829-L2836'>2829&ndash;2836</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2838-L2845'>2838&ndash;2845</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2847-L2857'>2847&ndash;2857</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2866'>2866</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2868-L2873'>2868&ndash;2873</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2876'>2876</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2901-L2903'>2901&ndash;2903</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2914-L2916'>2914&ndash;2916</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L2933-L2935'>2933&ndash;2935</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L485'>485</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L500-L502'>500&ndash;502</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L537-L539'>537&ndash;539</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L547'>547</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L561'>561</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L577-L579'>577&ndash;579</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L581-L582'>581&ndash;582</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L584-L586'>584&ndash;586</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L599-L601'>599&ndash;601</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L605'>605</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L614-L616'>614&ndash;616</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L657'>657</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L668-L670'>668&ndash;670</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L676-L678'>676&ndash;678</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L683-L686'>683&ndash;686</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L697'>697</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L721'>721</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L808'>808</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L812-L814'>812&ndash;814</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L897'>897</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L921'>921</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L933'>933</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L965'>965</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L982'>982</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/ast_converter.rs#L986-L989'>986&ndash;989</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/parser.rs'>parser.rs</a></td><td><b>99.29%</b></td><td>100%</td><td><b>74.19%</b></td><td><b>99.55%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/parser.rs#L37'>37</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/parser.rs#L43'>43</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/parser.rs#L55-L59'>55&ndash;59</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/parser.rs#L66'>66</a></td></tr><tr><td colspan='6'><b>src/generator</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs'>dense.rs</a></td><td><b>87.30%</b></td><td>100%</td><td><b>90.11%</b></td><td><b>87.03%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L1001'>1001</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L1007'>1007</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L1016-L1024'>1016&ndash;1024</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L1026-L1032'>1026&ndash;1032</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L1034-L1042'>1034&ndash;1042</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L1047'>1047</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L1056'>1056</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L1068-L1071'>1068&ndash;1071</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L1075-L1078'>1075&ndash;1078</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L147-L148'>147&ndash;148</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L150'>150</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L164-L165'>164&ndash;165</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L167'>167</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L250-L252'>250&ndash;252</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L331'>331</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L50-L55'>50&ndash;55</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L567-L569'>567&ndash;569</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L57-L59'>57&ndash;59</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L6'>6</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L61-L63'>61&ndash;63</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L638'>638</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L65-L69'>65&ndash;69</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L843'>843</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L861'>861</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L878'>878</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L904-L911'>904&ndash;911</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L930-L936'>930&ndash;936</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L953-L957'>953&ndash;957</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L968-L976'>968&ndash;976</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L978-L984'>978&ndash;984</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L986'>986</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/dense.rs#L995-L996'>995&ndash;996</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs'>readable.rs</a></td><td><b>95.35%</b></td><td>100%</td><td><b>94.34%</b></td><td><b>95.44%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1068'>1068</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1092-L1096'>1092&ndash;1096</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1116-L1117'>1116&ndash;1117</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1147'>1147</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1212-L1220'>1212&ndash;1220</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1222-L1228'>1222&ndash;1228</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1230'>1230</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1265'>1265</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1275'>1275</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1284'>1284</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1293'>1293</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L1302'>1302</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L192-L193'>192&ndash;193</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L198'>198</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L203'>203</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L221-L222'>221&ndash;222</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L46-L51'>46&ndash;51</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L53'>53</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L58'>58</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/readable.rs#L612-L613'>612&ndash;613</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs'>token_based.rs</a></td><td><b>89.37%</b></td><td>100%</td><td><b>92.93%</b></td><td><b>89.04%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L10'>10</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1001'>1001</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1014-L1021'>1014&ndash;1021</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1023-L1032'>1023&ndash;1032</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1035'>1035</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1037-L1046'>1037&ndash;1046</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1049-L1050'>1049&ndash;1050</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1066-L1067'>1066&ndash;1067</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1081-L1083'>1081&ndash;1083</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1097-L1099'>1097&ndash;1099</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1108-L1110'>1108&ndash;1110</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1119-L1121'>1119&ndash;1121</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L113'>113</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1130-L1132'>1130&ndash;1132</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1281'>1281</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L130-L131'>130&ndash;131</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1351'>1351</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1388-L1396'>1388&ndash;1396</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L147'>147</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1472-L1479'>1472&ndash;1479</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L148'>148</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1480-L1481'>1480&ndash;1481</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1506-L1508'>1506&ndash;1508</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1510-L1512'>1510&ndash;1512</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1529-L1538'>1529&ndash;1538</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L160-L161'>160&ndash;161</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L1613'>1613</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L182-L183'>182&ndash;183</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L203-L205'>203&ndash;205</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L2058-L2059'>2058&ndash;2059</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L2085-L2089'>2085&ndash;2089</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L2118-L2122'>2118&ndash;2122</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L2129-L2133'>2129&ndash;2133</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L2335'>2335</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L2339'>2339</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L2352'>2352</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L245'>245</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L297-L301'>297&ndash;301</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L373-L374'>373&ndash;374</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L380'>380</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L392'>392</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L426-L427'>426&ndash;427</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L449-L450'>449&ndash;450</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L466-L467'>466&ndash;467</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L509'>509</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L582-L583'>582&ndash;583</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L592-L593'>592&ndash;593</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L599-L600'>599&ndash;600</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L606'>606</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L618'>618</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L644-L645'>644&ndash;645</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L678-L679'>678&ndash;679</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L747-L748'>747&ndash;748</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L774-L775'>774&ndash;775</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L784-L785'>784&ndash;785</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L791-L792'>791&ndash;792</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L798'>798</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L80'>80</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L810'>810</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L832-L836'>832&ndash;836</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L84'>84</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L877-L881'>877&ndash;881</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L899-L900'>899&ndash;900</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L961-L968'>961&ndash;968</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L983-L984'>983&ndash;984</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/generator/token_based.rs#L993-L994'>993&ndash;994</a></td></tr><tr><td colspan='6'><b>src/nodes/types</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs'>table.rs</a></td><td><b>54.39%</b></td><td>100%</td><td><b>55.43%</b></td><td><b>54.12%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L107-L111'>107&ndash;111</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L136-L138'>136&ndash;138</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L165-L170'>165&ndash;170</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L172-L177'>172&ndash;177</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L186-L191'>186&ndash;191</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L236-L238'>236&ndash;238</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L245-L250'>245&ndash;250</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L252-L257'>252&ndash;257</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L266-L271'>266&ndash;271</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L282-L286'>282&ndash;286</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L288'>288</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L290-L294'>290&ndash;294</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L296'>296</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L306-L310'>306&ndash;310</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L312'>312</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L340-L348'>340&ndash;348</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L392-L394'>392&ndash;394</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L406-L410'>406&ndash;410</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L418-L420'>418&ndash;420</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L467-L474'>467&ndash;474</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L476-L483'>476&ndash;483</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L494-L501'>494&ndash;501</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L512-L518'>512&ndash;518</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L520-L526'>520&ndash;526</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L536-L542'>536&ndash;542</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L57-L60'>57&ndash;60</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L63-L66'>63&ndash;66</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L75-L78'>75&ndash;78</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L89-L93'>89&ndash;93</a>, <a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/nodes/types/table.rs#L95-L99'>95&ndash;99</a></td></tr><tr><td colspan='6'><b>src/process</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/cbb0112ecf4c9ba1d11dca860521d5b2b1175fdf/src/process/visitors.rs'>visitors.rs</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr></tbody></table></details>
github-actions[bot]: Coverage after merging <b>fix-table-type</b> into <b>main</b> will be<table><tbody><tr><th>86.99%</th></tr></tbody></table>

<details><summary>Coverage Report for Changed Files</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs'>ast_converter.rs</a></td><td><b>87.81%</b></td><td>100%</td><td><b>88.57%</b></td><td><b>87.77%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1003'>1003</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1022'>1022</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1052'>1052</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1076'>1076</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1093'>1093</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1125-L1127'>1125&ndash;1127</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1142'>1142</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1170'>1170</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1212'>1212</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1227'>1227</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1243-L1245'>1243&ndash;1245</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1255'>1255</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1260-L1262'>1260&ndash;1262</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1277'>1277</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1288'>1288</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1418-L1420'>1418&ndash;1420</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1481-L1483'>1481&ndash;1483</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1534-L1536'>1534&ndash;1536</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1560-L1563'>1560&ndash;1563</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1598-L1600'>1598&ndash;1600</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1628-L1630'>1628&ndash;1630</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1634-L1636'>1634&ndash;1636</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1699-L1700'>1699&ndash;1700</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1729-L1731'>1729&ndash;1731</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1738-L1740'>1738&ndash;1740</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1759-L1761'>1759&ndash;1761</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1777-L1779'>1777&ndash;1779</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1784-L1786'>1784&ndash;1786</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1847'>1847</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1852-L1854'>1852&ndash;1854</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1874'>1874</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1880-L1882'>1880&ndash;1882</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1887-L1889'>1887&ndash;1889</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1922-L1927'>1922&ndash;1927</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1951-L1953'>1951&ndash;1953</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L1979'>1979</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2042'>2042</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2060-L2062'>2060&ndash;2062</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2097-L2100'>2097&ndash;2100</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2130'>2130</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2144'>2144</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2148-L2150'>2148&ndash;2150</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L218-L220'>218&ndash;220</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2204-L2206'>2204&ndash;2206</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2218-L2220'>2218&ndash;2220</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2224-L2226'>2224&ndash;2226</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2260'>2260</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2343-L2345'>2343&ndash;2345</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L235-L236'>235&ndash;236</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2365-L2367'>2365&ndash;2367</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L237'>237</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2388-L2390'>2388&ndash;2390</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2420-L2422'>2420&ndash;2422</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2438'>2438</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2442'>2442</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2465-L2467'>2465&ndash;2467</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2479-L2481'>2479&ndash;2481</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2500-L2502'>2500&ndash;2502</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2557-L2559'>2557&ndash;2559</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2566'>2566</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L265-L267'>265&ndash;267</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2756'>2756</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2829-L2836'>2829&ndash;2836</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2838-L2845'>2838&ndash;2845</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2847-L2857'>2847&ndash;2857</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2866'>2866</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2868-L2873'>2868&ndash;2873</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2876'>2876</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2901-L2903'>2901&ndash;2903</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2914-L2916'>2914&ndash;2916</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L2933-L2935'>2933&ndash;2935</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L485'>485</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L500-L502'>500&ndash;502</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L537-L539'>537&ndash;539</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L547'>547</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L561'>561</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L577-L579'>577&ndash;579</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L581-L582'>581&ndash;582</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L584-L586'>584&ndash;586</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L599-L601'>599&ndash;601</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L605'>605</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L614-L616'>614&ndash;616</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L657'>657</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L668-L670'>668&ndash;670</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L676-L678'>676&ndash;678</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L683-L686'>683&ndash;686</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L697'>697</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L721'>721</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L808'>808</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L812-L814'>812&ndash;814</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L897'>897</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L921'>921</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L933'>933</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L965'>965</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L982'>982</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/ast_converter.rs#L986-L989'>986&ndash;989</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/parser.rs'>parser.rs</a></td><td><b>99.29%</b></td><td>100%</td><td><b>74.19%</b></td><td><b>99.55%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/parser.rs#L37'>37</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/parser.rs#L43'>43</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/parser.rs#L55-L59'>55&ndash;59</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/parser.rs#L66'>66</a></td></tr><tr><td colspan='6'><b>src/generator</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs'>dense.rs</a></td><td><b>87.30%</b></td><td>100%</td><td><b>90.11%</b></td><td><b>87.03%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L1001'>1001</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L1007'>1007</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L1016-L1024'>1016&ndash;1024</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L1026-L1032'>1026&ndash;1032</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L1034-L1042'>1034&ndash;1042</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L1047'>1047</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L1056'>1056</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L1068-L1071'>1068&ndash;1071</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L1075-L1078'>1075&ndash;1078</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L147-L148'>147&ndash;148</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L150'>150</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L164-L165'>164&ndash;165</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L167'>167</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L250-L252'>250&ndash;252</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L331'>331</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L50-L55'>50&ndash;55</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L567-L569'>567&ndash;569</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L57-L59'>57&ndash;59</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L6'>6</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L61-L63'>61&ndash;63</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L638'>638</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L65-L69'>65&ndash;69</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L843'>843</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L861'>861</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L878'>878</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L904-L911'>904&ndash;911</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L930-L936'>930&ndash;936</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L953-L957'>953&ndash;957</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L968-L976'>968&ndash;976</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L978-L984'>978&ndash;984</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L986'>986</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/dense.rs#L995-L996'>995&ndash;996</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs'>readable.rs</a></td><td><b>95.35%</b></td><td>100%</td><td><b>94.34%</b></td><td><b>95.44%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1068'>1068</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1092-L1096'>1092&ndash;1096</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1147'>1147</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1212-L1220'>1212&ndash;1220</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1222-L1228'>1222&ndash;1228</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1230'>1230</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1265'>1265</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1275'>1275</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1284'>1284</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1293'>1293</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L1302'>1302</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L192-L193'>192&ndash;193</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L198'>198</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L203'>203</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L221-L222'>221&ndash;222</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L46-L51'>46&ndash;51</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L53'>53</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L58'>58</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/readable.rs#L612-L613'>612&ndash;613</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs'>token_based.rs</a></td><td><b>89.46%</b></td><td>100%</td><td><b>92.93%</b></td><td><b>89.14%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L10'>10</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1001'>1001</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1014-L1021'>1014&ndash;1021</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1023-L1032'>1023&ndash;1032</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1035'>1035</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1037-L1046'>1037&ndash;1046</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1049-L1050'>1049&ndash;1050</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1066-L1067'>1066&ndash;1067</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1081-L1083'>1081&ndash;1083</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1097-L1099'>1097&ndash;1099</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1108-L1110'>1108&ndash;1110</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1119-L1121'>1119&ndash;1121</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L113'>113</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1130-L1132'>1130&ndash;1132</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1281'>1281</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L130-L131'>130&ndash;131</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1351'>1351</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1388-L1396'>1388&ndash;1396</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L147'>147</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1472-L1479'>1472&ndash;1479</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L148'>148</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1480-L1481'>1480&ndash;1481</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1506-L1508'>1506&ndash;1508</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1510-L1512'>1510&ndash;1512</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1529-L1538'>1529&ndash;1538</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L160-L161'>160&ndash;161</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L1613'>1613</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L182-L183'>182&ndash;183</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L203-L205'>203&ndash;205</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L2058-L2059'>2058&ndash;2059</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L2085-L2089'>2085&ndash;2089</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L2118-L2122'>2118&ndash;2122</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L2129-L2133'>2129&ndash;2133</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L2335'>2335</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L2339'>2339</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L2352'>2352</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L245'>245</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L297-L301'>297&ndash;301</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L373-L374'>373&ndash;374</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L380'>380</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L392'>392</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L426-L427'>426&ndash;427</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L449-L450'>449&ndash;450</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L466-L467'>466&ndash;467</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L509'>509</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L582-L583'>582&ndash;583</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L592-L593'>592&ndash;593</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L599-L600'>599&ndash;600</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L606'>606</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L618'>618</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L644-L645'>644&ndash;645</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L678-L679'>678&ndash;679</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L747-L748'>747&ndash;748</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L774-L775'>774&ndash;775</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L784-L785'>784&ndash;785</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L791-L792'>791&ndash;792</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L798'>798</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L80'>80</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L810'>810</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L835-L836'>835&ndash;836</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L84'>84</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L877-L881'>877&ndash;881</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L899-L900'>899&ndash;900</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L961-L968'>961&ndash;968</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L983-L984'>983&ndash;984</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/generator/token_based.rs#L993-L994'>993&ndash;994</a></td></tr><tr><td colspan='6'><b>src/nodes/types</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs'>table.rs</a></td><td><b>55.70%</b></td><td>100%</td><td><b>58.70%</b></td><td><b>54.95%</b></td><td><a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L107-L111'>107&ndash;111</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L136-L138'>136&ndash;138</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L165-L170'>165&ndash;170</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L172-L177'>172&ndash;177</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L186-L191'>186&ndash;191</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L236-L238'>236&ndash;238</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L245-L250'>245&ndash;250</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L252-L257'>252&ndash;257</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L266-L271'>266&ndash;271</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L282-L286'>282&ndash;286</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L288'>288</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L290-L294'>290&ndash;294</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L296'>296</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L306-L310'>306&ndash;310</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L312'>312</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L340-L348'>340&ndash;348</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L392-L394'>392&ndash;394</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L406-L410'>406&ndash;410</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L418-L420'>418&ndash;420</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L467-L474'>467&ndash;474</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L476-L483'>476&ndash;483</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L494-L501'>494&ndash;501</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L512-L518'>512&ndash;518</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L520-L526'>520&ndash;526</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L536-L542'>536&ndash;542</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L57-L60'>57&ndash;60</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L63-L66'>63&ndash;66</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L75-L78'>75&ndash;78</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L89-L93'>89&ndash;93</a>, <a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/nodes/types/table.rs#L95-L99'>95&ndash;99</a></td></tr><tr><td colspan='6'><b>src/process</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/seaofvoices/darklua/blob/1df9bdd8d305555686e71f2c19febb9f75d6690e/src/process/visitors.rs'>visitors.rs</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr></tbody></table></details>

Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c834c26..b31c4c2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 ## Unreleased
 
+* fix table types to allow string literal property types ([#135](https://github.com/seaofvoices/darklua/pull/135))
+
 ## 0.11.0
 
 * fix lost comment or spacing tokens in empty ASTs ([#132](https://github.com/seaofvoices/darklua/pull/132))
diff --git a/src/ast_converter.rs b/src/ast_converter.rs
index 3b284a2..9fa1dcd 100644
--- a/src/ast_converter.rs
+++ b/src/ast_converter.rs
@@ -974,7 +974,7 @@ impl<'a> AstConverter<'a> {
                                     let (opening_bracket, closing_bracket) =
                                         self.extract_contained_span_tokens(brackets)?;
 
-                                    indexer_type.set_tokens(TableIndexerTypeTokens {
+                                    indexer_type.set_tokens(TableIndexTypeTokens {
                                         opening_bracket,
                                         closing_bracket,
                                         colon: self.convert_token(field.colon_token())?,
@@ -2086,21 +2086,12 @@ impl<'a> AstConverter<'a> {
                 self.work_stack
                     .push(ConvertWork::MakeTableType { braces, fields });
 
-                let mut has_indexer_type = false;
-
                 for field in fields {
                     use ast::types::TypeFieldKey;
 
                     match field.key() {
                         TypeFieldKey::Name(_) => {}
                         TypeFieldKey::IndexSignature { inner, .. } => {
-                            if has_indexer_type {
-                                return Err(ConvertError::TypeInfo {
-                                    type_info: type_info.to_string(),
-                                });
-                            }
-
-                            has_indexer_type = true;
                             self.push_work(inner);
                         }
                         key => {
diff --git a/src/generator/dense.rs b/src/generator/dense.rs
index f39f519..b4dbf85 100644
--- a/src/generator/dense.rs
+++ b/src/generator/dense.rs
@@ -919,26 +919,34 @@ impl LuaGenerator for DenseLuaGenerator {
     fn write_table_type(&mut self, table_type: &nodes::TableType) {
         self.push_char('{');
 
-        let last_index = table_type
-            .property_len()
-            .saturating_sub(if table_type.has_indexer_type() { 0 } else { 1 });
-        for (index, property) in table_type.iter_property_type().enumerate() {
-            self.write_identifier(property.get_identifier());
-            self.push_char(':');
-            self.write_type(property.get_type());
+        let last_index = table_type.len().saturating_sub(1);
+        for (index, property) in table_type.iter_entries().enumerate() {
+            match property {
+                nodes::TableEntryType::Property(property) => {
+                    self.write_identifier(property.get_identifier());
+                    self.push_char(':');
+                    self.write_type(property.get_type());
+                }
+                nodes::TableEntryType::Literal(property) => {
+                    self.push_char('[');
+                    self.write_string_type(property.get_string());
+                    self.push_char(']');
+                    self.push_char(':');
+                    self.write_type(property.get_type());
+                }
+                nodes::TableEntryType::Indexer(indexer) => {
+                    self.push_char('[');
+                    self.write_type(indexer.get_key_type());
+                    self.push_char(']');
+                    self.push_char(':');
+                    self.write_type(indexer.get_value_type());
+                }
+            }
             if index != last_index {
                 self.push_char(',');
             }
         }
 
-        if let Some(indexer) = table_type.get_indexer_type() {
-            self.push_char('[');
-            self.write_type(indexer.get_key_type());
-            self.push_char(']');
-            self.push_char(':');
-            self.write_type(indexer.get_value_type());
-        }
-
         self.push_char('}');
     }
 
diff --git a/src/generator/readable.rs b/src/generator/readable.rs
index 36f37e6..2a26af0 100644
--- a/src/generator/readable.rs
+++ b/src/generator/readable.rs
@@ -1159,25 +1159,36 @@ impl LuaGenerator for ReadableLuaGenerator {
     fn write_table_type(&mut self, table_type: &nodes::TableType) {
         self.push_char('{');
 
-        let last_index = table_type.property_len().saturating_sub(1);
-        for (index, property) in table_type.iter_property_type().enumerate() {
-            self.write_identifier(property.get_identifier());
-            self.push_char(':');
-            self.write_type(property.get_type());
-            if index != last_index {
-                self.push_char(',');
+        let last_index = table_type.len().saturating_sub(1);
+        for (index, property) in table_type.iter_entries().enumerate() {
+            match property {
+                nodes::TableEntryType::Property(property) => {
+                    self.write_identifier(property.get_identifier());
+                    self.push_char(':');
+                    self.push_char(' ');
+                    self.write_type(property.get_type());
+                }
+                nodes::TableEntryType::Literal(property) => {
+                    self.push_char('[');
+                    self.write_string_type(property.get_string());
+                    self.push_char(']');
+                    self.push_char(':');
+                    self.push_char(' ');
+                    self.write_type(property.get_type());
+                }
+                nodes::TableEntryType::Indexer(indexer) => {
+                    self.push_char('[');
+                    self.write_type(indexer.get_key_type());
+                    self.push_char(']');
+                    self.push_char(':');
+                    self.push_char(' ');
+                    self.write_type(indexer.get_value_type());
+                }
             }
-        }
-
-        if let Some(indexer) = table_type.get_indexer_type() {
-            if table_type.property_len() > 0 {
+            if index != last_index {
                 self.push_char(',');
+                self.push_char(' ');
             }
-            self.push_char('[');
-            self.write_type(indexer.get_key_type());
-            self.push_char(']');
-            self.push_char(':');
-            self.write_type(indexer.get_value_type());
         }
 
         self.push_char('}');
diff --git a/src/generator/token_based.rs b/src/generator/token_based.rs
index bc5da09..ca1c2b1 100644
--- a/src/generator/token_based.rs
+++ b/src/generator/token_based.rs
@@ -855,20 +855,42 @@ impl<'a> TokenBasedLuaGenerator<'a> {
     fn write_table_type_with_tokens(&mut self, table_type: &TableType, tokens: &TableTypeTokens) {
         self.write_token(&tokens.opening_brace);
 
-        let last_index = table_type
-            .properties_len()
-            .saturating_sub(if table_type.has_indexer_type() { 0 } else { 1 });
+        let last_index = table_type.len().saturating_sub(1);
 
-        for (i, property) in table_type.iter_property_type().enumerate() {
-            self.write_identifier(property.get_identifier());
+        for (i, property) in table_type.iter_entries().enumerate() {
+            match property {
+                TableEntryType::Property(property) => {
+                    self.write_identifier(property.get_identifier());
 
-            if let Some(colon) = property.get_token() {
-                self.write_token(colon);
-            } else {
-                self.write_symbol(":");
-            }
+                    if let Some(colon) = property.get_token() {
+                        self.write_token(colon);
+                    } else {
+                        self.write_symbol(":");
+                    }
 
-            self.write_type(property.get_type());
+                    self.write_type(property.get_type());
+                }
+                TableEntryType::Literal(property) => {
+                    if let Some(tokens) = property.get_tokens() {
+                        self.write_table_literal_property_type_with_tokens(property, tokens);
+                    } else {
+                        self.write_table_literal_property_type_with_tokens(
+                            property,
+                            &self.generate_table_indexer_type_tokens(),
+                        );
+                    }
+                }
+                TableEntryType::Indexer(indexer) => {
+                    if let Some(tokens) = indexer.get_tokens() {
+                        self.write_table_indexer_type_with_tokens(indexer, tokens);
+                    } else {
+                        self.write_table_indexer_type_with_tokens(
+                            indexer,
+                            &self.generate_table_indexer_type_tokens(),
+                        );
+                    }
+                }
+            }
 
             if i < last_index {
                 if let Some(comma) = tokens.separators.get(i) {
@@ -879,24 +901,13 @@ impl<'a> TokenBasedLuaGenerator<'a> {
             }
         }
 
-        if let Some(indexer_type) = table_type.get_indexer_type() {
-            if let Some(tokens) = indexer_type.get_tokens() {
-                self.write_table_indexer_type_with_tokens(indexer_type, tokens);
-            } else {
-                self.write_table_indexer_type_with_tokens(
-                    indexer_type,
-                    &self.generate_table_indexer_type_tokens(indexer_type),
-                );
-            }
-        }
-
         self.write_token(&tokens.closing_brace);
     }
 
     fn write_table_indexer_type_with_tokens(
         &mut self,
         indexer_type: &TableIndexerType,
-        tokens: &TableIndexerTypeTokens,
+        tokens: &TableIndexTypeTokens,
     ) {
         self.write_token(&tokens.opening_bracket);
         self.write_type(indexer_type.get_key_type());
@@ -905,6 +916,18 @@ impl<'a> TokenBasedLuaGenerator<'a> {
         self.write_type(indexer_type.get_value_type());
     }
 
+    fn write_table_literal_property_type_with_tokens(
+        &mut self,
+        property: &TableLiteralPropertyType,
+        tokens: &TableIndexTypeTokens,
+    ) {
+        self.write_token(&tokens.opening_bracket);
+        self.write_string_type(property.get_string());
+        self.write_token(&tokens.closing_bracket);
+        self.write_token(&tokens.colon);
+        self.write_type(property.get_type());
+    }
+
     fn write_expression_type_with_tokens(
         &mut self,
         expression_type: &ExpressionType,
@@ -1434,18 +1457,12 @@ impl<'a> TokenBasedLuaGenerator<'a> {
         TableTypeTokens {
             opening_brace: Token::from_content("{"),
             closing_brace: Token::from_content("}"),
-            separators: intersect_with_token(
-                comma_token(),
-                table_type.properties_len() + usize::from(table_type.has_indexer_type()),
-            ),
+            separators: intersect_with_token(comma_token(), table_type.len()),
         }
     }
 
-    fn generate_table_indexer_type_tokens(
-        &self,
-        _table_indexer: &TableIndexerType,
-    ) -> TableIndexerTypeTokens {
-        TableIndexerTypeTokens {
+    fn generate_table_indexer_type_tokens(&self) -> TableIndexTypeTokens {
+        TableIndexTypeTokens {
             opening_bracket: Token::from_content("["),
             closing_bracket: Token::from_content("]"),
             colon: Token::from_content(":"),
diff --git a/src/nodes/types/table.rs b/src/nodes/types/table.rs
index 1694820..d30edaa 100644
--- a/src/nodes/types/table.rs
+++ b/src/nodes/types/table.rs
@@ -1,19 +1,19 @@
 use crate::nodes::{Identifier, Token};
 
-use super::Type;
+use super::{StringType, Type};
 
 #[derive(Clone, Debug, PartialEq, Eq)]
 pub struct TableIndexerType {
-    key_type: Box<Type>,
-    value_type: Box<Type>,
-    tokens: Option<TableIndexerTypeTokens>,
+    key_type: Type,
+    value_type: Type,
+    tokens: Option<TableIndexTypeTokens>,
 }
 
 impl TableIndexerType {
     pub fn new(key_type: impl Into<Type>, value_type: impl Into<Type>) -> Self {
         Self {
-            key_type: Box::new(key_type.into()),
-            value_type: Box::new(value_type.into()),
+            key_type: key_type.into(),
+            value_type: value_type.into(),
             tokens: None,
         }
     }
@@ -38,18 +38,18 @@ impl TableIndexerType {
         &mut self.value_type
     }
 
-    pub fn with_tokens(mut self, token: TableIndexerTypeTokens) -> Self {
+    pub fn with_tokens(mut self, token: TableIndexTypeTokens) -> Self {
         self.tokens = Some(token);
         self
     }
 
     #[inline]
-    pub fn set_tokens(&mut self, token: TableIndexerTypeTokens) {
+    pub fn set_tokens(&mut self, token: TableIndexTypeTokens) {
         self.tokens = Some(token);
     }
 
     #[inline]
-    pub fn get_tokens(&self) -> Option<&TableIndexerTypeTokens> {
+    pub fn get_tokens(&self) -> Option<&TableIndexTypeTokens> {
         self.tokens.as_ref()
     }
 
@@ -79,13 +79,13 @@ impl TableIndexerType {
 }
 
 #[derive(Clone, Debug, PartialEq, Eq)]
-pub struct TableIndexerTypeTokens {
+pub struct TableIndexTypeTokens {
     pub opening_bracket: Token,
     pub closing_bracket: Token,
     pub colon: Token,
 }
 
-impl TableIndexerTypeTokens {
+impl TableIndexTypeTokens {
     pub fn clear_comments(&mut self) {
         self.opening_bracket.clear_comments();
         self.closing_bracket.clear_comments();
@@ -191,10 +191,148 @@ impl TablePropertyType {
     }
 }
 
+#[derive(Clone, Debug, PartialEq, Eq)]
+pub struct TableLiteralPropertyType {
+    string: StringType,
+    r#type: Type,
+    tokens: Option<TableIndexTypeTokens>,
+}
+
+impl TableLiteralPropertyType {
+    pub fn new(string: StringType, r#type: impl Into<Type>) -> Self {
+        Self {
+            string,
+            r#type: r#type.into(),
+            tokens: None,
+        }
+    }
+
+    #[inline]
+    pub fn get_string(&self) -> &StringType {
+        &self.string
+    }
+
+    #[inline]
+    pub fn mutate_string(&mut self) -> &mut StringType {
+        &mut self.string
+    }
+
+    #[inline]
+    pub fn get_type(&self) -> &Type {
+        &self.r#type
+    }
+
+    #[inline]
+    pub fn mutate_type(&mut self) -> &mut Type {
+        &mut self.r#type
+    }
+
+    pub fn with_tokens(mut self, tokens: TableIndexTypeTokens) -> Self {
+        self.tokens = Some(tokens);
+        self
+    }
+
+    #[inline]
+    pub fn set_tokens(&mut self, tokens: TableIndexTypeTokens) {
+        self.tokens = Some(tokens);
+    }
+
+    #[inline]
+    pub fn get_tokens(&self) -> Option<&TableIndexTypeTokens> {
+        self.tokens.as_ref()
+    }
+
+    pub fn clear_comments(&mut self) {
+        self.string.clear_comments();
+        if let Some(tokens) = &mut self.tokens {
+            tokens.clear_comments();
+        }
+    }
+
+    pub fn clear_whitespaces(&mut self) {
+        self.string.clear_whitespaces();
+        if let Some(tokens) = &mut self.tokens {
+            tokens.clear_whitespaces();
+        }
+    }
+
+    pub(crate) fn replace_referenced_tokens(&mut self, code: &str) {
+        self.string.replace_referenced_tokens(code);
+        if let Some(tokens) = &mut self.tokens {
+            tokens.replace_referenced_tokens(code);
+        }
+    }
+
+    pub(crate) fn shift_token_line(&mut self, amount: usize) {
+        self.string.shift_token_line(amount);
+        if let Some(tokens) = &mut self.tokens {
+            tokens.shift_token_line(amount);
+        }
+    }
+}
+
+#[derive(Clone, Debug, PartialEq, Eq)]
+pub enum TableEntryType {
+    Property(TablePropertyType),
+    Literal(TableLiteralPropertyType),
+    Indexer(TableIndexerType),
+}
+
+impl TableEntryType {
+    pub fn clear_comments(&mut self) {
+        match self {
+            TableEntryType::Property(property) => property.clear_comments(),
+            TableEntryType::Literal(literal) => literal.clear_comments(),
+            TableEntryType::Indexer(indexer) => indexer.clear_comments(),
+        }
+    }
+
+    pub fn clear_whitespaces(&mut self) {
+        match self {
+            TableEntryType::Property(property) => property.clear_whitespaces(),
+            TableEntryType::Literal(literal) => literal.clear_whitespaces(),
+            TableEntryType::Indexer(indexer) => indexer.clear_whitespaces(),
+        }
+    }
+
+    pub(crate) fn replace_referenced_tokens(&mut self, code: &str) {
+        match self {
+            TableEntryType::Property(property) => property.replace_referenced_tokens(code),
+            TableEntryType::Literal(literal) => literal.replace_referenced_tokens(code),
+            TableEntryType::Indexer(indexer) => indexer.replace_referenced_tokens(code),
+        }
+    }
+
+    pub(crate) fn shift_token_line(&mut self, amount: usize) {
+        match self {
+            TableEntryType::Property(property) => property.shift_token_line(amount),
+            TableEntryType::Literal(literal) => literal.shift_token_line(amount),
+            TableEntryType::Indexer(indexer) => indexer.shift_token_line(amount),
+        }
+    }
+}
+
+impl From<TablePropertyType> for TableEntryType {
+    fn from(value: TablePropertyType) -> Self {
+        Self::Property(value)
+    }
+}
+
+impl From<TableLiteralPropertyType> for TableEntryType {
+    fn from(value: TableLiteralPropertyType) -> Self {
+        Self::Literal(value)
+    }
+}
+
+impl From<TableIndexerType> for TableEntryType {
+    fn from(value: TableIndexerType) -> Self {
+        Self::Indexer(value)
+    }
+}
+
 #[derive(Clone, Debug, Default, PartialEq, Eq)]
 pub struct TableType {
-    properties: Vec<TablePropertyType>,
-    indexer: Option<TableIndexerType>,
+    entries: Vec<TableEntryType>,
     tokens: Option<TableTypeTokens>,
 }
 
@@ -204,64 +342,112 @@ impl TableType {
         property: impl Into<Identifier>,
         r#type: impl Into<Type>,
     ) -> Self {
-        self.properties
-            .push(TablePropertyType::new(property.into(), r#type.into()));
+        self.entries
+            .push(TablePropertyType::new(property.into(), r#type.into()).into());
         self
     }
 
-    pub fn with_property(mut self, property: TablePropertyType) -> Self {
-        self.properties.push(property);
+    pub fn with_property(mut self, property: impl Into<TableEntryType>) -> Self {
+        self.push_property(property.into());
         self
     }
 
-    pub fn push_property(&mut self, property: TablePropertyType) {
-        self.properties.push(property);
+    #[inline]
+    pub fn push_property(&mut self, property: impl Into<TableEntryType>) {
+        let property = property.into();
+        match property {
+            TableEntryType::Indexer(indexer) => {
+                self.set_indexer_type(indexer);
+            }
+            _ => {
+                self.entries.push(property);
+            }
+        }
     }
 
     pub fn with_indexer_type(mut self, indexer_type: TableIndexerType) -> Self {
-        self.indexer = Some(indexer_type);
+        self.set_indexer_type(indexer_type);
         self
     }
 
     #[inline]
-    pub fn set_indexer_type(&mut self, indexer_type: TableIndexerType) {
-        self.indexer = Some(indexer_type);
+    pub fn set_indexer_type(&mut self, indexer_type: TableIndexerType) -> Option<TableIndexerType> {
+        match indexer_type.key_type {
+            Type::String(string_type) => {
+                self.entries
+                    .push(TableEntryType::Literal(TableLiteralPropertyType {
+                        string: string_type,
+                        r#type: indexer_type.value_type,
+                        tokens: indexer_type.tokens,
+                    }));
+                None
+            }
+            _ => {
+                let removed = if let Some((remove_index, _)) = self
+                    .entries
+                    .iter()
+                    .enumerate()
+                    .find(|(_, entry)| matches!(entry, TableEntryType::Indexer(_)))
+                {
+                    match self.entries.remove(remove_index) {
+                        TableEntryType::Indexer(indexer) => Some(indexer),
+                        TableEntryType::Property(_) | TableEntryType::Literal(_) => unreachable!(),
+                    }
+                } else {
+                    None
+                };
+                self.entries.push(TableEntryType::Indexer(indexer_type));
+                removed
+            }
+        }
     }
 
     #[inline]
     pub fn has_indexer_type(&self) -> bool {
-        self.indexer.is_some()
+        self.entries
+            .iter()
+            .any(|entry| matches!(entry, TableEntryType::Indexer(_)))
     }
 
     #[inline]
-    pub fn properties_len(&self) -> usize {
-        self.properties.len()
+    pub fn len(&self) -> usize {
+        self.entries.len()
     }
 
     #[inline]
-    pub fn iter_property_type(&self) -> impl Iterator<Item = &TablePropertyType> {
-        self.properties.iter()
+    pub fn is_empty(&self) -> bool {
+        self.entries.is_empty()
     }
 
     #[inline]
-    pub fn iter_mut_property_type(&mut self) -> impl Iterator<Item = &mut TablePropertyType> {
-        self.properties.iter_mut()
+    pub fn iter_entries(&self) -> impl Iterator<Item = &TableEntryType> {
+        self.entries.iter()
     }
 
     #[inline]
-    pub fn property_len(&self) -> usize {
-        self.properties.len()
+    pub fn iter_mut_entries(&mut self) -> impl Iterator<Item = &mut TableEntryType> {
+        self.entries.iter_mut()
     }
 
-    #[inline]
-    pub fn get_indexer_type(&self) -> Option<&TableIndexerType> {
-        self.indexer.as_ref()
-    }
+    // #[inline]
+    // pub fn iter_property_type(&self) -> impl Iterator<Item = &TablePropertyType> {
+    //     self.properties.iter()
+    // }
 
-    #[inline]
-    pub fn mutate_indexer_type(&mut self) -> Option<&mut TableIndexerType> {
-        self.indexer.as_mut()
-    }
+    // #[inline]
+    // pub fn iter_mut_property_type(&mut self) -> impl Iterator<Item = &mut TablePropertyType> {
+    //     self.properties.iter_mut()
+    // }
+
+    // #[inline]
+    // pub fn get_indexer_type(&self) -> Option<&TableIndexerType> {
+    //     self.indexer.as_ref()
+    // }
+
+    // #[inline]
+    // pub fn mutate_indexer_type(&mut self) -> Option<&mut TableIndexerType> {
+    //     self.indexer.as_mut()
+    // }
 
     pub fn with_tokens(mut self, tokens: TableTypeTokens) -> Self {
         self.tokens = Some(tokens);
@@ -279,48 +465,36 @@ impl TableType {
     }
 
     pub fn clear_comments(&mut self) {
-        for property in self.properties.iter_mut() {
+        for property in self.entries.iter_mut() {
             property.clear_comments();
         }
-        if let Some(indexer) = &mut self.indexer {
-            indexer.clear_comments();
-        }
         if let Some(tokens) = &mut self.tokens {
             tokens.clear_comments();
         }
     }
 
     pub fn clear_whitespaces(&mut self) {
-        for property in self.properties.iter_mut() {
+        for property in self.entries.iter_mut() {
             property.clear_whitespaces();
         }
-        if let Some(indexer) = &mut self.indexer {
-            indexer.clear_whitespaces();
-        }
         if let Some(tokens) = &mut self.tokens {
             tokens.clear_whitespaces();
         }
     }
 
     pub(crate) fn replace_referenced_tokens(&mut self, code: &str) {
-        for property in self.properties.iter_mut() {
+        for property in self.entries.iter_mut() {
             property.replace_referenced_tokens(code);
         }
-        if let Some(indexer) = &mut self.indexer {
-            indexer.replace_referenced_tokens(code);
-        }
         if let Some(tokens) = &mut self.tokens {
             tokens.replace_referenced_tokens(code);
         }
     }
 
     pub(crate) fn shift_token_line(&mut self, amount: usize) {
-        for property in self.properties.iter_mut() {
+        for property in self.entries.iter_mut() {
             property.shift_token_line(amount);
         }
-        if let Some(indexer) = &mut self.indexer {
-            indexer.shift_token_line(amount);
-        }
         if let Some(tokens) = &mut self.tokens {
             tokens.shift_token_line(amount);
         }
diff --git a/src/parser.rs b/src/parser.rs
index fadc0e3..ee26813 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -2038,6 +2038,91 @@ mod test {
                 equal: spaced_token(7, 8),
                 export: None,
             }),
+            type_declaration_to_table_with_indexer_type_and_property("type T = { [number]: string, n: number }") => TypeDeclarationStatement::new(
+                create_identifier("T", 5, 1),
+                TableType::default()
+                    .with_indexer_type(
+                        TableIndexerType::new(
+                            TypeName::new(create_identifier("number", 12, 0)),
+                            TypeName::new(create_identifier("string", 21, 0)),
+                        )
+                        .with_tokens(TableIndexTypeTokens {
+                            opening_bracket: token_at_first_line(11, 12),
+                            closing_bracket: token_at_first_line(18, 19),
+                            colon: spaced_token(19, 20),
+                        })
+                    )
+                    .with_property(
+                        TablePropertyType::new(
+                            create_identifier("n", 29, 0),
+                            TypeName::new(create_identifier("number", 32, 1))
+                        ).with_token(spaced_token(30, 31))
+                    )
+                    .with_tokens(TableTypeTokens {
+                        opening_brace: spaced_token(9, 10),
+                        closing_brace: token_at_first_line(39, 40),
+                        separators: vec![spaced_token(27, 28)],
+                    })
+            ).with_tokens(TypeDeclarationTokens {
+                r#type: spaced_token(0, 4),
+                equal: spaced_token(7, 8),
+                export: None,
+            }),
+            type_declaration_to_table_with_property_and_indexer_type("type T = { n: number, [number]: string }") => TypeDeclarationStatement::new(
+                create_identifier("T", 5, 1),
+                TableType::default()
+                    .with_property(
+                        TablePropertyType::new(
+                            create_identifier("n", 11, 0),
+                            TypeName::new(create_identifier("number", 14, 0))
+                        ).with_token(spaced_token(12, 13))
+                    )
+                    .with_indexer_type(
+                        TableIndexerType::new(
+                            TypeName::new(create_identifier("number", 23, 0)),
+                            TypeName::new(create_identifier("string", 32, 1)),
+                        )
+                        .with_tokens(TableIndexTypeTokens {
+                            opening_bracket: token_at_first_line(22, 23),
+                            closing_bracket: token_at_first_line(29, 30),
+                            colon: spaced_token(30, 31),
+                        })
+                    )
+                    .with_tokens(TableTypeTokens {
+                        opening_brace: spaced_token(9, 10),
+                        closing_brace: token_at_first_line(39, 40),
+                        separators: vec![spaced_token(20, 21)],
+                    })
+            ).with_tokens(TypeDeclarationTokens {
+                r#type: spaced_token(0, 4),
+                equal: spaced_token(7, 8),
+                export: None,
+            }),
+            type_declaration_to_table_with_literal_property("type T = { ['end']: boolean }") => TypeDeclarationStatement::new(
+                create_identifier("T", 5, 1),
+                TableType::default()
+                    .with_property(
+                        TableLiteralPropertyType::new(
+                            StringType::from_value("end")
+                                .with_token(token_at_first_line(12, 17)),
+                            TypeName::new(create_identifier("boolean", 20, 1)),
+                        )
+                        .with_tokens(TableIndexTypeTokens {
+                            opening_bracket: token_at_first_line(11, 12),
+                            closing_bracket: token_at_first_line(17, 18),
+                            colon: spaced_token(18, 19),
+                        })
+                    )
+                    .with_tokens(TableTypeTokens {
+                        opening_brace: spaced_token(9, 10),
+                        closing_brace: token_at_first_line(28, 29),
+                        separators: Vec::new(),
+                    })
+            ).with_tokens(TypeDeclarationTokens {
+                r#type: spaced_token(0, 4),
+                equal: spaced_token(7, 8),
+                export: None,
+            }),
             type_declaration_to_table_with_indexer_type("type T = { [string]: boolean }") => TypeDeclarationStatement::new(
                 create_identifier("T", 5, 1),
                 TableType::default()
@@ -2046,8 +2131,8 @@ mod test {
                             TypeName::new(create_identifier("string", 12, 0)),
                             TypeName::new(create_identifier("boolean", 21, 1)),
                         )
-                        .with_tokens(TableIndexerTypeTokens {
-                            opening_bracket: token_at_first_line(11,12),
+                        .with_tokens(TableIndexTypeTokens {
+                            opening_bracket: token_at_first_line(11, 12),
                             closing_bracket: token_at_first_line(18, 19),
                             colon: spaced_token(19, 20),
                         })
diff --git a/src/process/visitors.rs b/src/process/visitors.rs
index 7e900fe..5bfc28b 100644
--- a/src/process/visitors.rs
+++ b/src/process/visitors.rs
@@ -386,12 +386,20 @@ pub trait NodeVisitor<T: NodeProcessor> {
             Type::Table(table) => {
                 processor.process_table_type(table);
 
-                for property in table.iter_mut_property_type() {
-                    Self::visit_type(property.mutate_type(), processor);
-                }
-                if let Some(table_indexer) = table.mutate_indexer_type() {
-                    Self::visit_type(table_indexer.mutate_key_type(), processor);
-                    Self::visit_type(table_indexer.mutate_value_type(), processor);
+                for entry in table.iter_mut_entries() {
+                    match entry {
+                        TableEntryType::Property(property) => {
+                            Self::visit_type(property.mutate_type(), processor);
+                        }
+                        TableEntryType::Literal(property) => {
+                            processor.process_string_type(property.mutate_string());
+                            Self::visit_type(property.mutate_type(), processor);
+                        }
+                        TableEntryType::Indexer(indexer) => {
+                            Self::visit_type(indexer.mutate_key_type(), processor);
+                            Self::visit_type(indexer.mutate_value_type(), processor);
+                        }
+                    }
                 }
             }
             Type::TypeOf(expression_type) => {


Test patch:
diff --git a/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_indexer_type.snap b/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_indexer_type.snap
index 8b08664..b8d890c 100644
--- a/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_indexer_type.snap
+++ b/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_indexer_type.snap
@@ -2,4 +2,4 @@
 source: src/generator/mod.rs
 expression: generator.into_string()
 ---
-type StringArray = {[number]:string}
+type StringArray = {[number]: string}
diff --git a/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property.snap b/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property.snap
index 041d8d8..7bcb7cd 100644
--- a/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property.snap
+++ b/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property.snap
@@ -2,4 +2,4 @@
 source: src/generator/mod.rs
 expression: generator.into_string()
 ---
-type Obj = {name:string}
+type Obj = {name: string}
diff --git a/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property_and_indexer_type.snap b/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property_and_indexer_type.snap
index 60e5265..5d736a0 100644
--- a/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property_and_indexer_type.snap
+++ b/src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property_and_indexer_type.snap
@@ -2,4 +2,4 @@
 source: src/generator/mod.rs
 expression: generator.into_string()
 ---
-type PackedArray = {n:number,[number]:string}
+type PackedArray = {n: number, [number]: string}
diff --git a/tests/ast_fuzzer/fuzzer_work.rs b/tests/ast_fuzzer/fuzzer_work.rs
index 9b449f9..4bf4951 100644
--- a/tests/ast_fuzzer/fuzzer_work.rs
+++ b/tests/ast_fuzzer/fuzzer_work.rs
@@ -121,6 +121,7 @@ pub enum AstFuzzerWork {
     },
     MakeTableType {
         properties: usize,
+        literal_properties: usize,
         has_indexer: bool,
     },
 }
diff --git a/tests/ast_fuzzer/mod.rs b/tests/ast_fuzzer/mod.rs
index ab07ca2..c6b209d 100644
--- a/tests/ast_fuzzer/mod.rs
+++ b/tests/ast_fuzzer/mod.rs
@@ -5,6 +5,7 @@ mod random;
 
 pub use budget::FuzzBudget;
 use fuzzer_work::*;
+use rand::seq::SliceRandom;
 use random::RandomAst;
 
 use std::iter;
@@ -718,11 +719,13 @@ impl AstFuzzer {
                         }
                         5 => {
                             let properties = self.budget.try_take_types(self.random.table_length());
+                            let literal_properties = self.random.range(properties);
                             let has_indexer =
                                 self.budget.can_have_type(2) && self.random.table_type_indexer();
 
                             self.push_work(AstFuzzerWork::MakeTableType {
                                 properties,
+                                literal_properties,
                                 has_indexer,
                             });
 
@@ -826,24 +829,39 @@ impl AstFuzzer {
                 }
                 AstFuzzerWork::MakeTableType {
                     properties,
+                    literal_properties,
                     has_indexer,
                 } => {
                     let mut table_type = TableType::default();
 
-                    for property in self
+                    let mut table_properties: Vec<TableEntryType> = self
                         .pop_types(properties)
                         .into_iter()
-                        .map(|r#type| TablePropertyType::new(self.random.identifier(), r#type))
-                    {
-                        table_type.push_property(property);
-                    }
+                        .enumerate()
+                        .map(|(i, r#type)| {
+                            if i < literal_properties {
+                                TableLiteralPropertyType::new(
+                                    StringType::from_value(self.random.string_content()),
+                                    r#type,
+                                )
+                                .into()
+                            } else {
+                                TablePropertyType::new(self.random.identifier(), r#type).into()
+                            }
+                        })
+                        .collect();
 
                     if has_indexer {
-                        table_type.set_indexer_type(TableIndexerType::new(
-                            self.pop_type(),
-                            self.pop_type(),
-                        ));
+                        table_properties
+                            .push(TableIndexerType::new(self.pop_type(), self.pop_type()).into());
+                    }
+
+                    table_properties.shuffle(&mut rand::thread_rng());
+
+                    for property in table_properties {
+                        table_type.push_property(property);
                     }
+
                     self.types.push(table_type.into());
                 }
                 AstFuzzerWork::FuzzFunctionReturnType => match self.random.range(3) {