diff --git a/scripts/prepare.ts b/scripts/prepare.ts index 68d1dbdaf..537943c06 100644 --- a/scripts/prepare.ts +++ b/scripts/prepare.ts @@ -19,13 +19,17 @@ import { __DANGER__disableVersionNumber } from '../src/pipeline/version'; __DANGER__disableVersionNumber(); // Compile projects - await run({ configPath: __dirname + '/../tact.config.json' }); + if (!await run({ configPath: __dirname + '/../tact.config.json' })) { + console.error('Tact projects compilation failed'); + process.exit(1); + } // Verify projects for (let pkgPath of glob.sync(path.normalize(path.resolve(__dirname, '..', 'examples', 'output', '*.pkg')))) { let res = await verify({ pkg: fs.readFileSync(pkgPath, 'utf-8') }); if (!res.ok) { - console.warn('Failed to verify ' + pkgPath + ': ' + res.error); + console.error('Failed to verify ' + pkgPath + ': ' + res.error); + process.exit(1); } } @@ -82,18 +86,18 @@ import { __DANGER__disableVersionNumber } from '../src/pipeline/version'; logger: consoleLogger }); if (!c.ok) { - console.warn(c.log); - continue; + console.error(c.log); + process.exit(1); } } catch (e) { - console.warn(e); - console.warn('Failed'); - continue; + console.error(e); + console.error('Failed'); + process.exit(1); } fs.writeFileSync(p.path + r + ".fift", c.fift!); fs.writeFileSync(p.path + r + ".cell", c.output!); - // Cell -> Fift decpmpiler + // Cell -> Fift decompiler let source = decompileAll({ src: c.output! }); fs.writeFileSync(p.path + r + ".rev.fift", source); } diff --git a/src/test/features/integer-literals.tact b/src/test/features/integer-literals.tact index 65303cbe9..54a697f57 100644 --- a/src/test/features/integer-literals.tact +++ b/src/test/features/integer-literals.tact @@ -17,7 +17,7 @@ contract IntegerLiteralsTester { } get fun decLiteral3(): Int { - return 1_0123_00__000; + return 1_0123_00_000; } get fun hexLiteral1(): Int { @@ -29,7 +29,7 @@ contract IntegerLiteralsTester { } get fun hexLiteral3(): Int { - return 0x1_0123_00__000; + return 0x1_0123_00_000; } get fun binLiteral1(): Int { @@ -41,7 +41,7 @@ contract IntegerLiteralsTester { } get fun binLiteral3(): Int { - return 0b1_0101_00__000; + return 0b1_0101_00_000; } get fun octLiteral1(): Int { @@ -53,6 +53,6 @@ contract IntegerLiteralsTester { } get fun octLiteral3(): Int { - return 0o1_0123_00__000; + return 0o1_0123_00_000; } } \ No newline at end of file diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.pkg b/src/test/features/output/integer-literals_IntegerLiteralsTester.pkg index 84bd8cca5..0430cbd32 100644 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.pkg +++ b/src/test/features/output/integer-literals_IntegerLiteralsTester.pkg @@ -1 +1 @@ -{"name":"IntegerLiteralsTester","code":"te6ccgECLwEAAlMAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1ULAQCASAFBgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAgFIBwgCASAODwIBIAkKAg+1Qttnm2eGMCwNAg+ylTbPNs8MYCwLAg+ynXbPNs8MYCwMAA6CGBASMAAAAAaB/t0ABoEBIwIBIBARAgEgGRoCD7XTW2ebZ4YwLBICASATFAAEgHsCD7O2Ns82zwxgLBUCAVgWFwAMghA8VnjgALir0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopAIOqvnbPNs8MSwYAASAhQIBIBscAgEgIyQCAUgdHgB1sm7jQ1aXBmczovL1FtTnNNNmRUZUZuWHJtWjQzTEdxcVBVU28yR0N4eWQydWg2QXUyWXg0aHZyd1SCAAEKq+7UTQ0gABAgEgHyACDaYJtnm2eGMsIQINpEe2ebZ4YywiAASAUwAEgCoCAWYlJgIBZikqAg2mjbZ5tnhjLCcCDaTDtnm2eGMsKAAMghAIKYAAAAaBAqACDabPtnm2eGMsKwINpIG2ebZ4YywtAASArQE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwuAASA1gACbQ==","abi":"{\"name\":\"IntegerLiteralsTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}}],\"getters\":[{\"name\":\"decLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"decLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"decLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hexLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hexLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hexLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"binLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"binLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"binLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"octLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"octLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"octLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECMQEAAl0AAQHAAQEFobyzAgEU/wD0pBP0vPLICwMCAWItBAIBICUFAgEgGwYCASASBwIBIA0IAgFmCwkCDaSBtnm2eGMvCgAEgNYCDabPtnm2eGMvDAAEgK0CAWYQDgINpMO2ebZ4Yy8PAAaBAqACDaaNtnm2eGMvEQAMghAIKYAAAgEgFBMAdbJu40NWlwZnM6Ly9RbU5zTTZkVGVGblhybVo0M0xHcXFQVVNvMkdDeHlkMnVoNkF1Mll4NGh2cndUggAgFIGhUCASAYFgINpEe2ebZ4Yy8XAASAKgINpgm2ebZ4Yy8ZAASAUwAQqr7tRNDSAAECASAjHAIBICEdAgFYIB4CDqr52zzbPDEvHwAEgIUAuKvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikAg+ztjbPNs8MYC8iAAyCEDxWeOACD7XTW2ebZ4YwLyQABIB7AgFIKCYCD7VC22ebZ4YwLycABoEBIwIBICspAg+ynXbPNs8MYC8qAAaB/t0CD7KVNs82zwxgLywADoIYEBIwAAACktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQvLgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPDAAAm3lCWAT"}},"sources":{"src/test/features/integer-literals.tact":"Y29udHJhY3QgSW50ZWdlckxpdGVyYWxzVGVzdGVyIHsKCiAgICBpbml0KCkgewogICAgICAgIAogICAgfQogICAgCiAgICByZWNlaXZlKCkgewogICAgICAgIC8vIERlcGxveQogICAgfQoKICAgIGdldCBmdW4gZGVjTGl0ZXJhbDEoKTogSW50IHsKICAgICAgICByZXR1cm4gMTIzOwogICAgfQoKICAgIGdldCBmdW4gZGVjTGl0ZXJhbDIoKTogSW50IHsKICAgICAgICByZXR1cm4gLTEyMzsKICAgIH0KCiAgICBnZXQgZnVuIGRlY0xpdGVyYWwzKCk6IEludCB7CiAgICAgICAgcmV0dXJuIDFfMDEyM18wMF9fMDAwOwogICAgfQoKICAgIGdldCBmdW4gaGV4TGl0ZXJhbDEoKTogSW50IHsKICAgICAgICByZXR1cm4gMHgxMjM7CiAgICB9CgogICAgZ2V0IGZ1biBoZXhMaXRlcmFsMigpOiBJbnQgewogICAgICAgIHJldHVybiAtMHgxMjM7CiAgICB9CgogICAgZ2V0IGZ1biBoZXhMaXRlcmFsMygpOiBJbnQgewogICAgICAgIHJldHVybiAweDFfMDEyM18wMF9fMDAwOwogICAgfQoKICAgIGdldCBmdW4gYmluTGl0ZXJhbDEoKTogSW50IHsKICAgICAgICByZXR1cm4gMGIxMDEwMTA7CiAgICB9CgogICAgZ2V0IGZ1biBiaW5MaXRlcmFsMigpOiBJbnQgewogICAgICAgIHJldHVybiAtMGIxMDEwMTA7CiAgICB9CgogICAgZ2V0IGZ1biBiaW5MaXRlcmFsMygpOiBJbnQgewogICAgICAgIHJldHVybiAwYjFfMDEwMV8wMF9fMDAwOwogICAgfQoKICAgIGdldCBmdW4gb2N0TGl0ZXJhbDEoKTogSW50IHsKICAgICAgICByZXR1cm4gMG8xMjM7CiAgICB9CgogICAgZ2V0IGZ1biBvY3RMaXRlcmFsMigpOiBJbnQgewogICAgICAgIHJldHVybiAtMG8xMjM7CiAgICB9CgogICAgZ2V0IGZ1biBvY3RMaXRlcmFsMygpOiBJbnQgewogICAgICAgIHJldHVybiAwbzFfMDEyM18wMF9fMDAwOwogICAgfQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/integer-literals.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file +{"name":"IntegerLiteralsTester","code":"te6ccgECLwEAAlMAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1ULAQCASAFBgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAgFIBwgCASAODwIBIAkKAg+1Qttnm2eGMCwNAg+ylTbPNs8MYCwLAg+ynXbPNs8MYCwMAA6CGBASMAAAAAaB/t0ABoEBIwIBIBARAgEgGRoCD7XTW2ebZ4YwLBICASATFAAEgHsCD7O2Ns82zwxgLBUCAVgWFwAMghA8VnjgALir0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopAIOqvnbPNs8MSwYAASAhQIBIBscAgEgIyQCAUgdHgB1sm7jQ1aXBmczovL1FtTnNNNmRUZUZuWHJtWjQzTEdxcVBVU28yR0N4eWQydWg2QXUyWXg0aHZyd1SCAAEKq+7UTQ0gABAgEgHyACDaYJtnm2eGMsIQINpEe2ebZ4YywiAASAUwAEgCoCAWYlJgIBZikqAg2mjbZ5tnhjLCcCDaTDtnm2eGMsKAAMghAIKYAAAAaBAqACDabPtnm2eGMsKwINpIG2ebZ4YywtAASArQE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwuAASA1gACbQ==","abi":"{\"name\":\"IntegerLiteralsTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}}],\"getters\":[{\"name\":\"decLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"decLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"decLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hexLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hexLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hexLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"binLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"binLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"binLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"octLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"octLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"octLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECMQEAAl0AAQHAAQEFobyzAgEU/wD0pBP0vPLICwMCAWItBAIBICUFAgEgGwYCASASBwIBIA0IAgFmCwkCDaSBtnm2eGMvCgAEgNYCDabPtnm2eGMvDAAEgK0CAWYQDgINpMO2ebZ4Yy8PAAaBAqACDaaNtnm2eGMvEQAMghAIKYAAAgEgFBMAdbJu40NWlwZnM6Ly9RbU5zTTZkVGVGblhybVo0M0xHcXFQVVNvMkdDeHlkMnVoNkF1Mll4NGh2cndUggAgFIGhUCASAYFgINpEe2ebZ4Yy8XAASAKgINpgm2ebZ4Yy8ZAASAUwAQqr7tRNDSAAECASAjHAIBICEdAgFYIB4CDqr52zzbPDEvHwAEgIUAuKvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikAg+ztjbPNs8MYC8iAAyCEDxWeOACD7XTW2ebZ4YwLyQABIB7AgFIKCYCD7VC22ebZ4YwLycABoEBIwIBICspAg+ynXbPNs8MYC8qAAaB/t0CD7KVNs82zwxgLywADoIYEBIwAAACktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQvLgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPDAAAm3lCWAT"}},"sources":{"src/test/features/integer-literals.tact":"Y29udHJhY3QgSW50ZWdlckxpdGVyYWxzVGVzdGVyIHsKCiAgICBpbml0KCkgewogICAgICAgIAogICAgfQogICAgCiAgICByZWNlaXZlKCkgewogICAgICAgIC8vIERlcGxveQogICAgfQoKICAgIGdldCBmdW4gZGVjTGl0ZXJhbDEoKTogSW50IHsKICAgICAgICByZXR1cm4gMTIzOwogICAgfQoKICAgIGdldCBmdW4gZGVjTGl0ZXJhbDIoKTogSW50IHsKICAgICAgICByZXR1cm4gLTEyMzsKICAgIH0KCiAgICBnZXQgZnVuIGRlY0xpdGVyYWwzKCk6IEludCB7CiAgICAgICAgcmV0dXJuIDFfMDEyM18wMF8wMDA7CiAgICB9CgogICAgZ2V0IGZ1biBoZXhMaXRlcmFsMSgpOiBJbnQgewogICAgICAgIHJldHVybiAweDEyMzsKICAgIH0KCiAgICBnZXQgZnVuIGhleExpdGVyYWwyKCk6IEludCB7CiAgICAgICAgcmV0dXJuIC0weDEyMzsKICAgIH0KCiAgICBnZXQgZnVuIGhleExpdGVyYWwzKCk6IEludCB7CiAgICAgICAgcmV0dXJuIDB4MV8wMTIzXzAwXzAwMDsKICAgIH0KCiAgICBnZXQgZnVuIGJpbkxpdGVyYWwxKCk6IEludCB7CiAgICAgICAgcmV0dXJuIDBiMTAxMDEwOwogICAgfQoKICAgIGdldCBmdW4gYmluTGl0ZXJhbDIoKTogSW50IHsKICAgICAgICByZXR1cm4gLTBiMTAxMDEwOwogICAgfQoKICAgIGdldCBmdW4gYmluTGl0ZXJhbDMoKTogSW50IHsKICAgICAgICByZXR1cm4gMGIxXzAxMDFfMDBfMDAwOwogICAgfQoKICAgIGdldCBmdW4gb2N0TGl0ZXJhbDEoKTogSW50IHsKICAgICAgICByZXR1cm4gMG8xMjM7CiAgICB9CgogICAgZ2V0IGZ1biBvY3RMaXRlcmFsMigpOiBJbnQgewogICAgICAgIHJldHVybiAtMG8xMjM7CiAgICB9CgogICAgZ2V0IGZ1biBvY3RMaXRlcmFsMygpOiBJbnQgewogICAgICAgIHJldHVybiAwbzFfMDEyM18wMF8wMDA7CiAgICB9Cn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/integer-literals.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file